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

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


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

猜你喜欢

转载自blog.csdn.net/qq_31776303/article/details/80921944
今日推荐