Image 创建CListCtrl时出错
我正在尝试在MFC中创建CListCtrl。 我在制作CImageList的过程中得到了一些信息Image 创建CListCtrl时出错,image,visual-c++,mfc,clistctrl,Image,Visual C++,Mfc,Clistctrl,我正在尝试在MFC中创建CListCtrl。 我在制作CImageList的过程中得到了一些信息 BOOL CRadioButtonTestDlg::InitImageList() { mImageListNormal.Create(32, 32, ILC_COLOR32, 39, 1); CString filePath; CFileFind finder; CString strWildcard(_T("E:\\MyAssignments\\Window sy
BOOL CRadioButtonTestDlg::InitImageList() {
mImageListNormal.Create(32, 32, ILC_COLOR32, 39, 1);
CString filePath;
CFileFind finder;
CString strWildcard(_T("E:\\MyAssignments\\Window system programming\\MFC\\sample_programs\\VContact\\res\\contact_images\\*.jpg"));
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking) {
bWorking = finder.FindNextFile();
if (finder.IsDots())
continue;
filePath = finder.GetFilePath();
CImage image;
CBitmap bitmap;
image.Load(filePath);
bitmap.Attach(image.Detach());
mImageListNormal.Add(&bitmap, RGB(255, 0, 255));
bitmap.DeleteObject();
}
finder.Close();
if(mAllContactListCtrl.SetImageList(&mImageListNormal, LVSIL_NORMAL) == NULL)
AfxMessageBox(_T("Falied to set ImageList"));
return TRUE;
}
调用mAllContactListCtrl.SetImageList失败
我想知道从CImage创建CBitmap是正确的,还是我在其他地方做错了
在输出中,我只得到字符串,而不是图像
=========================================================================
我正在从InitDialog调用上述函数
BOOL CRadioButtonTestDlg::OnInitDialog() {
CDialog::OnInitDialog();
CRect rect;
mAllContactListCtrl.GetClientRect(&rect);
mAllContactListCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, rect.Width()-15, 0);
for (int i = 0; i < 39; i++) {
mAllContactListCtrl.InsertItem(i, _T("Some String"), i);
}
InitImageList();
return TRUE;
}
你犯了什么错误?从何处调用InitImageList。此时是否存在mAllContactListCtrl窗口-即,您是在错误调用对话框之前还是在OnInitDialog更正之后/期间执行此操作。LVSIL_NORMAL为大图标设置图像列表。可能您的列表控件正在小图标模式下运行?我使用的是大小为32*32的图像。感谢Frédéric Hamidi Yes将更改为LVSIL_small解决了此问题。非常感谢!