我是在一个BAR上创建的一个树,,不是在对话框上用的树控件
奇怪一:当我在MyBar里面定义CImageList类型的成员变量时,如果只定义一个(CImageList Cil1;)那么编译可以通过,但是执行就会报错。如果说定义两个
        CImageList Cil1,Cil2;编译和执行都可以,但是就是不能显示位图,不过可以看到在树项前面留有这个图片的位置,鄙人的这段程序代码是这样的:
         Cil2.Create(16,16,ILC_COLOR,2,2); 
        Cil2.Add(AfxGetApp()->LoadIcon(IDI_er));
Cil2.Add(AfxGetApp()->LoadIcon(IDI_rtttt));
       m_TreeCtrl.SetImageList(&Cil2,TVSIL_NORMAL);
       HTREEITEM root = m_TreeCtrl.InsertItem("不能显示",0,1);
奇怪二:上面的用成员变量Cil2时可以编译并执行(不能显示加载的图片),但是用成员变量Cil1的话,跟只定义一个成员变量一样出现同样的报错:内容为
program:....CTreeControlbar\Debug\CTreeControlbar.exe
File:winctrl2.cpp
Line:1202         
For information on how your program can cause an assertion failure ,see the Visual C++ documentation on asserts

解决方案 »

  1.   

    回楼上的大侠,,
    我是在BAR类上定义的成员变量
    然后执行的是在BAR类MyBar的OnCreat函数中执行的
    今天又试了好多下。。发现如果是调用里面自带的一个IDR_MAINFRAME和IDR_CTREECTYPE时就能显示出来。。但是用自己画的就是不行!!!另外,但我以上面代码的root为父项重新插入一个子项时,我还没有指定要插入哪个图,就自动插入了同root项前面同样的一个图(IDR_MAINFRAME和IDR_CTREECTYPE的一个)