首页 > 代码库 > MFC 记录 CListCtrl 学习使用

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); */

 




MFC 记录 CListCtrl 学习使用