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