MFC 记录 CListCtrl 学习使用

1.图标模式 Icon

2.小图标模式 Small Icon

3.列表模式  List

4.报表模式  Report

这里拿Report作为例子:

List风格以及扩展风格内容:

      LONG lStyle;  
      lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口style  
      lStyle &= ~LVS_TYPEMASK; //清除显示方式位  
      lStyle |= LVS_REPORT; //设置style  
      SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);//设置style  
      DWORD dwStyle = m_list.GetExtendedStyle();  
      dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)  
      dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)  
      dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件  
      m_list.SetExtendedStyle(dwStyle); //设置扩展风格  

首先 创建一个MFC工程->基于对话框->完成

然后删除多余的东东, 添加一个ListCtrl->添加变量 m_ListCtrl 在程序初始化处添加初始化ListCtrl代码就可以了

    //设置选中整行,网格状态  设置ListCtrl样式  
    m_ListCtrl.SetExtendedStyle(LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); 
    //0,为标题起始位,内容,内容对齐方式,标题宽度 
    m_ListCtrl.InsertColumn(0, _T("标题1"),LVCFMT_LEFT,50); 
    m_ListCtrl.InsertColumn(1, _T("标题2"), LVCFMT_LEFT, 80);  
    m_ListCtrl.InsertColumn(2, _T("标题3"), LVCFMT_LEFT, 50);  
    m_ListCtrl.InsertColumn(3, _T("标题4"), LVCFMT_LEFT, 50);  
    m_ListCtrl.InsertColumn(4, _T("标题5"), LVCFMT_LEFT, 50);
    //添加列内容  
    m_ListCtrl.InsertItem(0, _T("5552"));//内容第一项,索引从0开始,  
    m_ListCtrl.SetItemText(0, 1, _T("小哥布林"));//第一项第二格内容,一下一次类推  
    m_ListCtrl.SetItemText(0, 2, _T("-127.5225"));  
    m_ListCtrl.SetItemText(0, 3, _T("50.551"));  
    m_ListCtrl.SetItemText(0, 4, _T("108.555"));   

//常用ListCtrl函数
/*
高级列表控件ListCtrl关联的MFC中的类:CListCtrl  
■ 报表样式ListCtrl常用操作:  
1、添加列标题头:InsertColumn  
2、获取与设置列宽:GetColumnWidth、SetColumnWidth  
3、添加一行:InsertItem、SetItemText  
4、获取与设置单元文本:GetItemText、SetItemText  
5、允许多行选中时,获取选中的行数:GetSelectedCount  
6、单行选中时,获取选中的行:GetSelectionMark  
7、选中某行:SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);  
8、获取某行的状态是否为选中:GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED  
9、删除所有行:DeleteAllItems  
10、删除指定列:DeleteColumn  
11、删除指定行:DeleteItem  
12、获取与设置列表控件的背景色:GetBkColor、SetBkColor  
13、获取与设置文字背景色:GetTextBkColor、SetTextBkColor  
14、获取与设置文字前景色:GetTextColor、SetTextColor  
15、获取与设置Check:GetCheck、SetCheck  
16、获取与设置图标列表:GetImageList、SetImageList  
17、获取与设置行附加数据:GetItemData、SetItemData  
18、获取与设置扩展风格样式:GetExtendedStyle、SetExtendedStyle  
19、设置正行选中与网格线:SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);  
20、让ListCtrl支持编辑的功能:  
①、将属性中的 Edit Labels 设置为 True;  
②、响应控件的 LVN_EDNLABELEDIT 消息,添加如下代码:  
CString strText;  
m_ListCtrl.GetEditControl()->GetWindowText(strText);  
m_ListCtrl.SetItemText(pDispInfo->item.iItem, pDispInfo->item.iSubItem, strText); 
*/



原文地址:https://www.cnblogs.com/callback/p/4247941.html