CListctrl 获取指定列表的图标序号
2014-11-12 13:28
197 查看
CListctrl获取选中行的行序号和列序号,获取指定行,或者指定列的内容,等等相关常用操作,都可以通过百度查找到,但是当我需要获取指定行的图标序号时,却不是那么容易。但是看完本篇内容,会发现其实也不难。
首先要了解一个结构体:LVITEM
typedef struct _LVITEM {
UINT mask; //说明LVITEM结构中哪些成员有效
int iItem; //项目的索引值(可以视为行号)从0开始
int iSubItem; //子项的索引值(可以视为列号)从0开始
UINT state; //子项的状态
UINT stateMask; //状态有效的屏蔽位
LPTSTR pszText; //主项或子项的名称
int cchTextMax; //pszText所指向的缓冲区大小
int iImage; //关联图像列表中指定图像的索引值
LPARAM lParam; //程序定义的32位参数
int iIndent; //表示图像位置缩进的单位
} LVITEM, FAR *LPLVITEM;
明白这个结构体后,后面的容易多了,直接代码:
通过代码,相信应该可以明白其中的过程,其中需要说明的是,前提已经知道所需要列表的行序号,
即iItem1和iItem2
首先要了解一个结构体:LVITEM
typedef struct _LVITEM {
UINT mask; //说明LVITEM结构中哪些成员有效
int iItem; //项目的索引值(可以视为行号)从0开始
int iSubItem; //子项的索引值(可以视为列号)从0开始
UINT state; //子项的状态
UINT stateMask; //状态有效的屏蔽位
LPTSTR pszText; //主项或子项的名称
int cchTextMax; //pszText所指向的缓冲区大小
int iImage; //关联图像列表中指定图像的索引值
LPARAM lParam; //程序定义的32位参数
int iIndent; //表示图像位置缩进的单位
} LVITEM, FAR *LPLVITEM;
明白这个结构体后,后面的容易多了,直接代码:
LVITEM selItem1; LVITEM selItem2; ZeroMemory ( &selItem1, sizeof(LVITEM) ); ZeroMemory ( &selItem2, sizeof(LVITEM) ); selItem1.iItem = iItem1; selItem1.mask = LVIF_IMAGE | LVIF_STATE; selItem1.stateMask = LVIS_SELECTED; selItem2.iItem = iItem2; selItem2.mask = LVIF_IMAGE | LVIF_STATE; selItem2.stateMask = LVIS_SELECTED; list->GetItem(&selItem1); list->GetItem(&selItem2); int nImgIndex1=0,nImgIndex2=1; nImgIndex1 = selItem1.iImage; nImgIndex2 = selItem2.iImage;
通过代码,相信应该可以明白其中的过程,其中需要说明的是,前提已经知道所需要列表的行序号,
即iItem1和iItem2
相关文章推荐
- 按指定规则没找到任何链接! 获取列表网址失败,无法完成采集!
- ListView控件演示05:获取指定坐标点的列表项
- C#获取本地打印机列表,并将指定打印机设置为默认打印机
- C#获取从指定的文件路径,获取该文件的图标,然后显示在image里
- 【Linux】获取指定目录下文件列表
- 获取指定文件夹下文件列表
- c#获取指定目录文件列表
- python中获取指定目录下所有文件名列表的程序
- 17-指定图标的列表项(文字及列表样式)
- python 获取指定文件列表
- 获取指定文件的图标
- C#获取指定数据库服务器下某用户可访问的数据库列表
- C#获取指定数据库服务器下某用户可访问的数据库列表
- 获取ftp服务器上指定文件夹的文件列表(包含文件大小)
- 获取指定的内容列表-MXCMS ClassList标签
- 获取指定文件的图标,返回Icon
- UNIX/LINUX环境中使用MATLAB获取指定路径下特定文件列表的方法
- CListCtrl 图标列表用法
- C#如何获取本地的打印机列表并且指定默认打印机
- 获取指定目录下的文件列表