换句话说,我这个列表框在某些情况下显示小图标,某些情况下不显示,目前我用了两种方法:
方法一:
m_List.InsertItem(nIndex, pUserNum, -1);
方法二:
m_List.SetImageList(0, LVSIL_SMALL);
m_List.InsertItem(nIndex, pUserNum);都没有解决问题,虽然小图标的确没有显示,但却留出了图标的位置,也就是说第一列的文字不是靠在最左边的。反正是达不到不SetImageList而直接InsertItem的效果,况且,我奇怪的是m_List.SetImageList(0, LVSIL_SMALL);
语句应该出现非法操作才对,请看下面MFC源码,可是实际中它却能运行的好好的,真是奇怪!_AFXCMN_INLINE CImageList* CListCtrl::SetImageList(CImageList* pImageList, int nImageList)
{ ASSERT(::IsWindow(m_hWnd)); return CImageList::FromHandle((HIMAGELIST) ::SendMessage(m_hWnd, LVM_SETIMAGELIST, nImageList, (LPARAM)pImageList->GetSafeHandle())); }