CImageList *pimage;
pimage=new CImageList();
pimage->Create(16,16,TRUE,2,3); for (nID=IDB_BITMAP1;nID<=IDB_BITMAP4;nID++)
{
bitmap.LoadBitmap(nID);
pimage->Add(&bitmap, (COLORREF)0xFFFFFF); 
bitmap.DeleteObject();
}
m_mytree.SetImageList(pimage,TVSIL_NORMAL);
这个是我自己写的程序,想在tree里面加入自己的图片,但是我写了这段代码,就会产生这样的现象
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!Program: G:\data\Debug\data.exe
File: wingdi.cpp
Line: 1120For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.(Press Retry to debug the application)
---------------------------
终止(A)   重试(R)   忽略(I)   
---------------------------
把这些代码去了,没有问题,另外那个create里的参数能说明一下吗? Tree.item.iImage=0;
Tree.item.iSelectedImage=1;
这两句代码似乎也没有作用,只有第一个图片被加入,我select的时候,第二个不显示,请指点,谢谢

解决方案 »

  1.   

    Tree.item.iImage 正常状态下的图片索引
    Tree.item.iSelectedImage 选择状态下的图片索引
      

  2.   

    CBitmap bm;
    bm.LoadBitmap(IDB_TREE_IMAGELIST);m_imageList.Create(16, 16, ILC_COLOR24, 8, 1);m_imageList.Add(&bm, RGB(255,255,255));    //我是直接用的一张BMP把图标全部容纳了,多次添加应该也没问题m_tree.SetImageList(&m_imageList, TVSIL_NORMAL);我这样写的,可以用!!CImageList::Create()  里面,
    第一二个参数是图标的宽和高,
    第三个是色彩深度选项,ILC_COLOR24代表24位色,
    第四个是初始化时的图标数目,
    第五个是图标数目扩充时,每次扩充的数目;
      

  3.   

    IDB_BITMAP1到IDB_BITMAP4是连续的吗?