CListctrl 获取指定列表的图标序号

       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;


明白这个结构体后,后面的容易多了,直接代码:

        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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值