您的位置:首页 > 其它

MFC list Control 用法实例

2014-09-13 10:34 435 查看
///获取表格控件指针、设置样式

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--;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: