辻六筆記 发表于 2014-3-22 21:19:13

MFC CimageList 控件 怎么添加不同图片

OninitDlg 里面代码
m_imageList = new CImageList();
if(m_imageList->GetSafeHandle() == NULL) {
   m_imageList->Create(121, 18, ILC_COLOR32, 40, 40);
   m_list2.SetImageList(m_imageList, LVSIL_SMALL);
   m_list2.SetImageList(m_imageList, LVSIL_NORMAL);
   m_imageList->SetImageCount(1);
}


然后添加图片代码

HBITMAP hBitmap;
CBitmap *pBitmap;
CString FilePathName = nowstr2.data();
pBitmap = new   CBitmap;
hBitmap =(HBITMAP)LoadImage(AfxGetInstanceHandle(),FilePathName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
pBitmap->Attach(hBitmap);
m_imageList->Add(pBitmap, RGB(0,0,0));
m_imageList->Replace(0, pBitmap, NULL);
delete pBitmap;

为什么替换图片每次都全部替换了,能不能每行表格都显示不同的图片,搞了2天没搞明白,希望大神解答!

cqxcool 发表于 2014-3-22 23:10:14

m_imageList->Add(pBitmap, RGB(0,0,0));
m_imageList->Replace(0, pBitmap, NULL);

不懂MFC 看到这两行 觉得有点问题,添加一行后,然后为什么要Replace第0行,这样岂不是 所有的都被替换了?

辻六筆記 发表于 2014-3-23 01:23:52

不管是ADD 还是REPALCE 只要用了一句,其他所有的列表图片都变了
页: [1]
查看完整版本: MFC CimageList 控件 怎么添加不同图片