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);
*/
				
时间: 2024-08-18 00:53:20

MFC 记录 CListCtrl 学习使用的相关文章

MFC的CListCtrl的使用与技巧

http://blog.csdn.net/artechtor/article/details/2508070 列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值.MFC中使用CListCtrl类来封装列表控件的各种操作.通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些列表控件的专用风格: LVS_

记录js学习之this用法

一直对Javascript中的this都有一种似是而非的感觉,今天突然感觉豁然开朗,特此记录一下. 咱们先看个栗子:    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>this的使用</title><script type="text/javascript">var Car,tesla;Car=function ()

记录自己学习各种源码

最近在各位朋友的教育之下,终于对学习源码感兴趣了,不容易啊.再此开一篇博文,记录自己的学习历程.不论学习什么样的源码,相信对自己都是很大的帮助.(github上可能类似的很多,各位自行查找) 1. LineLayout(UICollectionView的线性布局) 主要技术: UICollectionViewFlowLayout

《VC++就业培训宝典之MFC视频教程》学习笔记

开发环境:Win7 64位 + VS2013 第三章第二节视频 在Win32工程中学习MFC开发,编译问题: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] 解决办法: 将MFC设置为静态链接 项目 --- 属性 --- 配置属性 --- 将 MFC的使用 设置为 "在静态库中使用M

记录JAVA学习的历程之关于局部变量与成员变量

最近一段时间开始学习JAVA,遇到了不少问题. 写下这些东西,纯粹为了记录自己的学习历程,借此激励自己,希望能在程序员的路上越走越远. 在JAVA中, 我们会遇到局部变量与成员变量这两个变量的分类, 这是按声明位置划分的,下面是对这两个变量的简单定义. 局部变量:方法或语句块内部定义的变量. 成员变量:方法外部,类的内部定义的变量. 更重要的一点是在局部变量中,JAVA不会默认初始化,必须自行初始化. 而在成员变量中,JAVA可自行初始化,初始化变量的值 我以图片的形式给大家浏览学习 以上只是我

记录一下学习Android时遇到一些问题

实在是不擅长Android开发,但在努力的学习当中.这篇文章就记录一下学习过程中,自己犯下的一些错误,同时也让自己记住别再犯同样的错误了.各位看官勿见笑! 一个关于空指针的错误 错误类型一: 未对对象进行初始化导致了空指针的错误.类似于如下: public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); Log.i(TAG, "------onActi

WP记录DependencyProperty学习(1)

很早之前就看到DependencyProperty,但是每次看到都不想去深入,一眼看过去好难的样子,今天静下来学习一下,怕自己过几天又忘了,来记录一下自己学习的东西. 首先我们来看看这个东西, public static readonly DependencyProperty ItemContainerStyleProperty = DependencyProperty.Register("ItemContainerStyle", typeof(string), typeof(MyCo

mfc的ClistCtrl控件列的排序

在网上看了许多排序的方法,都没看懂,初学者的悲剧,然后就自己弄了个,请大家指正. ClistCtrl控件的行带着一个结构体,不过那结构体不好懂,看得眼花缭乱.好多也弄不明白,就自己写了个结构体,把一行的数据全写入结构体中, 交换两结构体的数据就简单多了. typedef struct { wchar_t id[6];  //编号 wchar_t name[10]; //姓名 wchar_t sex[2];        //性别 int age;              //年龄 wchar_

storm记录--5-- Storm学习的HelloWorld

Storm学习的HelloWorld 1.下载Storm-start(https://github.com/nathanmarz/storm-starter/archive/master.zip) 2.进入下载目录,对zip文件解压 3.进入解压后的文件目录,修改m2-pom.xml(将twitter4j-core和twitter4j-stream替换为下面的部分) <dependency> <groupId>org.twitter4j</groupId> <ar