MFC ListControl控件的操作
2012-08-26 14:36
387 查看
////获取表格控件指针、设置样式
CListCtrl* lst = (CListCtrl*)GetDlgItem(IDC_LSTCTl);
lst->ModifyStyle( 0, LVS_REPORT ); // 报表模式
lst->SetExtendedStyle(lst->GetExtendedStyle()
| LVS_EX_GRIDLINES
| LVS_EX_FULLROWSELECT);
lst->InsertColumn(0,_T("第一列"));
lst->InsertColumn(1,_T("第二列"));
//////设置列
CRect rect;
lst->GetClientRect(rect); //获得当前客户区信息
lst->SetColumnWidth(0, rect.Width() / 2); //设置列的宽度。
lst->SetColumnWidth(1, rect.Width() / 2);
/////插入几行
lst->InsertItem(0, _T("1.1"));
lst->SetItemText(0, 1, _T("2.1"));
lst->InsertItem(1, _T("1.2"));
lst->SetItemText(1, 1, _T("2.2"));
lst->InsertItem(2, _T("1.3"));
lst->SetItemText(2, 1, _T("2.3"));
/////删除
lst->DeleteItem(1);
////遍历,取第一列的数据
CString str("");
int lineCount = lst->GetItemCount();
int i = 0;
for(i = 0;i < lineCount;i ++){
str.Append(lst->GetItemText(i,0) + _T(" , "));
}
AfxMessageBox(str);
=======================
设置样式
DWORD SetExtendedStyle(
DWORD dwNewStyle );
函数功能设置CListCtrl的扩展样式
dwNewStyle指定的扩展样式
LVS_EX_GRIDLINES //绘制表格
LVS_EX_SUBITEMIMAGES
LVS_EX_CHECKBOXES //带复选框
LVS_EX_TRACKSELECT //自动换行
LVS_EX_HEADERDRAGDROP
LVS_EX_FULLROWSELECT //选择整行
LVS_EX_ONECLICKACTIVATE//单击激活
LVS_EX_TWOCLICKACTIVATE//双击激活
LVS_EX_FLATSB//扁平滚动条
LVS_EX_REGIONAL
LVS_EX_INFOTIP
LVS_EX_UNDERLINEHOT
LVS_EX_UNDERLINECOLD
LVS_EX_MULTIWORKAREAS//多工作区
例子:
BOOL COnlineDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_OnlineList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
m_OnlineList.InsertColumn(0,"IP地址",NULL,130,-1);
m_OnlineList.InsertColumn(1,"语言/区域",LVCFMT_CENTER,80,-1);
m_OnlineList.InsertColumn(2,"计算机名称",NULL,120,-1);
m_OnlineList.InsertColumn(3,"系统类型",NULL,100,-1);
m_OnlineList.InsertColumn(4,"内存(MB)",NULL,80,1);
m_OnlineList.InsertColumn(5,"CPU大小(MHz)",NULL,80,1);
m_OnlineList.InsertColumn(6,"软件版本",NULL,80,1);
m_OnlineList.InsertColumn(7,"状态",NULL,300,-1);
m_ImageOnlinelist.Create(16,16,ILC_COLOR32|ILC_MASK,2,2);
HICON hIcon0 = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON_PC));
m_ImageOnlinelist.Add(hIcon0);
m_OnlineList.SetImageList(&m_ImageOnlinelist,LVSIL_SMALL);//在线列表框添加图标
////===============删除==============
////删除整行选中的===============
//int count = m_lst->GetSelectedCount();
//if(count > 0){
//POSITION pos = m_lst->GetFirstSelectedItemPosition();
//while (pos != NULL)
//{
//int delId = m_lst->GetNextSelectedItem(pos);
//m_lst->DeleteItem(delId);
//}
//}
/////删除CHECKBOX选中的项============
for(int i = 0; i<m_lst->GetItemCount(); i++)
{
if(m_lst->GetCheck(i))
{
m_lst->DeleteItem(i);
i--;
}
}
CListCtrl* lst = (CListCtrl*)GetDlgItem(IDC_LSTCTl);
lst->ModifyStyle( 0, LVS_REPORT ); // 报表模式
lst->SetExtendedStyle(lst->GetExtendedStyle()
| LVS_EX_GRIDLINES
| LVS_EX_FULLROWSELECT);
lst->InsertColumn(0,_T("第一列"));
lst->InsertColumn(1,_T("第二列"));
//////设置列
CRect rect;
lst->GetClientRect(rect); //获得当前客户区信息
lst->SetColumnWidth(0, rect.Width() / 2); //设置列的宽度。
lst->SetColumnWidth(1, rect.Width() / 2);
/////插入几行
lst->InsertItem(0, _T("1.1"));
lst->SetItemText(0, 1, _T("2.1"));
lst->InsertItem(1, _T("1.2"));
lst->SetItemText(1, 1, _T("2.2"));
lst->InsertItem(2, _T("1.3"));
lst->SetItemText(2, 1, _T("2.3"));
/////删除
lst->DeleteItem(1);
////遍历,取第一列的数据
CString str("");
int lineCount = lst->GetItemCount();
int i = 0;
for(i = 0;i < lineCount;i ++){
str.Append(lst->GetItemText(i,0) + _T(" , "));
}
AfxMessageBox(str);
=======================
设置样式
DWORD SetExtendedStyle(
DWORD dwNewStyle );
函数功能设置CListCtrl的扩展样式
dwNewStyle指定的扩展样式
LVS_EX_GRIDLINES //绘制表格
LVS_EX_SUBITEMIMAGES
LVS_EX_CHECKBOXES //带复选框
LVS_EX_TRACKSELECT //自动换行
LVS_EX_HEADERDRAGDROP
LVS_EX_FULLROWSELECT //选择整行
LVS_EX_ONECLICKACTIVATE//单击激活
LVS_EX_TWOCLICKACTIVATE//双击激活
LVS_EX_FLATSB//扁平滚动条
LVS_EX_REGIONAL
LVS_EX_INFOTIP
LVS_EX_UNDERLINEHOT
LVS_EX_UNDERLINECOLD
LVS_EX_MULTIWORKAREAS//多工作区
例子:
BOOL COnlineDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_OnlineList.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
m_OnlineList.InsertColumn(0,"IP地址",NULL,130,-1);
m_OnlineList.InsertColumn(1,"语言/区域",LVCFMT_CENTER,80,-1);
m_OnlineList.InsertColumn(2,"计算机名称",NULL,120,-1);
m_OnlineList.InsertColumn(3,"系统类型",NULL,100,-1);
m_OnlineList.InsertColumn(4,"内存(MB)",NULL,80,1);
m_OnlineList.InsertColumn(5,"CPU大小(MHz)",NULL,80,1);
m_OnlineList.InsertColumn(6,"软件版本",NULL,80,1);
m_OnlineList.InsertColumn(7,"状态",NULL,300,-1);
m_ImageOnlinelist.Create(16,16,ILC_COLOR32|ILC_MASK,2,2);
HICON hIcon0 = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON_PC));
m_ImageOnlinelist.Add(hIcon0);
m_OnlineList.SetImageList(&m_ImageOnlinelist,LVSIL_SMALL);//在线列表框添加图标
////===============删除==============
////删除整行选中的===============
//int count = m_lst->GetSelectedCount();
//if(count > 0){
//POSITION pos = m_lst->GetFirstSelectedItemPosition();
//while (pos != NULL)
//{
//int delId = m_lst->GetNextSelectedItem(pos);
//m_lst->DeleteItem(delId);
//}
//}
/////删除CHECKBOX选中的项============
for(int i = 0; i<m_lst->GetItemCount(); i++)
{
if(m_lst->GetCheck(i))
{
m_lst->DeleteItem(i);
i--;
}
}
相关文章推荐
- MFC ListControl控件的操作
- MFC List Control控件添加单元格编辑和单元格下拉列表项以适用于数据库相关操作
- MFC中ListControl控件的使用
- C++ MFC combo box和list control控件的使用
- MFC 控件最大化和还原,list control奇偶颜色设置
- C++ 关于MFC List Control 控件的总结
- VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)
- 【MFC-12】VS2010/MFC之列表框控件动态编辑(List Control Edit)
- MFC中ListControl控件的使用
- MFC 的List Control控件实现可编辑
- MFC中ListControl控件的使用
- MFC之ListControl控件
- CListCtrl操作大全 List Control控件使用说明 编辑List Control里面的任何...
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- VS2013/MFC编程入门之二十八(常用控件:列表视图控件List Control 下)
- mfc listcontrol控件改变字体大小
- MFC中List Control控件的各类使用
- VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address)
- MFC中ListControl控件的使用