为什么我的listCtrl中各行显示的是同一个BITMAP?
冰洛 2010-09-11 12:19:37 1.各位帮忙看一下,为什么我的函数执行后,各行显示的是同一个图片,即都为BITMAP1;
2.还有,我在头文件申明了CImageList m_Imagelist;后,每次运行程序结束后,都会跳出报错窗口C++ Debug Library.说错误的文件是cmdtarg.cpp的第43行,这是什么情况啊,我如果不申明这个变量就不会报错。
代码如下:
CBitmap Bitmap[4];
Bitmap[0].LoadBitmap(IDB_BITMAP1);
Bitmap[1].LoadBitmap(IDB_BITMAP2);
Bitmap[2].LoadBitmap(IDB_BITMAP3);
Bitmap[3].LoadBitmap(IDB_BITMAP4);
m_Imagelist.Create(24, 24,ILC_COLOR4|ILC_MASK, 4, 4);
//m_Imagelist 是CImageList类成员,已经在头文件中定义
for (int i = 0 ; i < 4 ; i ++)
{
m_Imagelist.Add(&Bitmap[i], RGB(0, 0, 0));
}
//m_fileList是listCtrl的变量
m_fileList.SetImageList(&m_Imagelist,LVSIL_SMALL);
m_fileList.InsertColumn(0,_T("T1"),LVCFMT_LEFT,80);
m_fileList.InsertColumn(1,_T("A1"),LVCFMT_LEFT,32);
m_fileList.InsertColumn(2,_T("A2"),LVCFMT_LEFT,32);
CString str;
for(int j = 0;j < 4 ;j ++)
{
m_fileList.InsertItem(j,NULL,1);
LVITEM item;
item.iItem = j;
item.iSubItem = 0;
item.mask = LVIF_IMAGE|LVIF_TEXT;
item.iImage = j;
// item.pszText = _T("Virqin");
m_fileList.SetItem(&item);
}