MFC 在ListCtrl控件中插入 不同图标(第一列)

本文介绍了如何使用CImageList创建图像列表,并演示了如何加载位图资源到图像列表中,以及如何设置列表视图的图像。通过具体的代码示例展示了错误处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CImageList* m_imagelist; //图像列表对象
	m_imagelist = new CImageList();
    m_imagelist->Create(20,20,ILC_COLOR32,0,40);
	
	CBitmap bm2;
	CBitmap bm3;
	bm2.LoadBitmap(IDB_GRE);
	bm3.LoadBitmap(IDB_RED);
	HBITMAP hBitmap;

	if (m_imagelist->Add(&bm2, RGB(0, 0, 0))== -1||m_imagelist->Add(&bm3, RGB(0, 0, 0))== -1)
	{
		CString strMsg;
		strMsg.Format("加入BMP失败!%d", GetLastError());
		AfxMessageBox(strMsg);
	}


	int n = m_imagelist->GetImageCount();
	if (m_imagelist->GetImageCount() == 0)
	{
		CString strMsg;
		strMsg.Format("加入BMP失败!%d", GetLastError());
		AfxMessageBox(strMsg);
	}
	
	m_DevList.SetImageList(m_imagelist,LVSIL_SMALL );
               
    		  LV_ITEM lvitem;
		  TCHAR szBuf[10];
		  lvitem.iItem = nItemNo;
		  lvitem.iSubItem = 0;
		  lvitem.mask = LVIF_TEXT;
		  lvitem.pszText = szBuf;
		  lvitem.cchTextMax = 10;  
		  
		  m_DevList.GetItem(&lvitem);
		  LV_ITEM lvitem2;
 		  memset ((char *) &lvitem2, '\0', sizeof (LV_ITEM));
 		  lvitem2.mask = LVIF_TEXT | LVIF_IMAGE  | LVIF_STATE;
 		  lvitem2.iItem = lvitem.iItem;
		  lvitem2.iSubItem = lvitem.iSubItem ;
 		  lvitem2.stateMask =lvitem.stateMask;
		  lvitem2.iImage = 1;          //显示不同的图标时,可以把一个int 变量赋给这个属性值
		  lvitem2.pszText =  lvitem.pszText;
	//	  m_DevList.InsertItem (&lvitem);
		  m_DevList.SetItem(&lvitem2);


参考了网上的一些文章,记录下来防止以后忘记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值