MFC中如何在列表框控件中显示位图

来源:百度知道 编辑:UC知道 时间:2024/05/30 18:12:32
CImageList *m_imageList; //类成员变量
CListCtrl m_listCtrlPal; //类成员变量
m_imageList = new CImageList();
m_imageList->Create ( 32, 32, ILC_COLOR4 , 0, 1 );
m_imageList->Add(AfxGetApp()->LoadIcon(IDI_ICON4));
m_imageList->Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
m_listCtrlPal.SetImageList(m_imageList, LVSIL_SMALL);
m_listCtrlPal.InsertItem(LVIF_TEXT|LVIF_STATE, 1, "SDFDSGDFGH",
LVIS_SELECTED , LVIS_SELECTED,
0, 0);
但在列表框中没有显示出位图!!
如何显示多张位图呀?????

因为你的图标是32*32的,所以应该用LVSIL_NORMAL而不是LVSIL_SMALL:
m_listCtrlPal.SetImageList(m_imageList, LVSIL_NORMAL);

而且最好用
m_imageList->Create ( 32, 32, ILC_COLOR8|ILC_MASK, 9, 9 );
否则图标不透明,很难看的。