为什么无法在MFC的tree_ctrl中显示自已的_位图!
在dialog的init中的部分代码如下:
_ UINT_ _ _ _ _ _ _ _ nID;
_ CBitmap_ _ _ _ _ _ _bitmap;
_ CImageList_ _ _ _ _ *pImageList;
_ pImageList_=_new_CImageList();
_ pImageList->Create(16, 16, ILC_MASK|ILC_COLOR24, 6, 4);
_ for_(nID_=_IDB_BITMAP1;_nID_<=_IDB_BITMAP4;_nID++)_
_ {
_ _ _ _bitmap.LoadBitmap(nID);
_ _ _ _pImageList->Add(&bitmap, (COLORREF)0xFFFFFF);
_ _ _ _bitmap.DeleteObject();
_ }
_ m_mytreectrl.SetImageList(pImageList, TVSIL_NORMAL);
_ ////////上面为设置item的相关图片
_ ////////下面为设置item,没有什么问题
_ int_ _ _ _ _ _ _ _ _iItem;
_ TV_INSERTSTRUCT_ _ _curTreeItem;
_ CString_ _ _ _ _ _ _strGroupItems[2_];
_ strGroupItems[0_]=__T("root");
_ strGroupItems[1_]=__T("root2");
_ for_(iItem_=_0;_iItem_<_MAX_GROUP_NUMBER;_iItem_++)
_ {
_ _ _ _curTreeItem.hParent_=_TVI_ROOT;_
_ _ _ _curTreeItem.hInsertAfter_=_TVI_SORT;
_ _ _ _curTreeItem.item.iImage_=_0;
_ _ _ _curTreeItem.item.iSelectedImage_=_curTreeItem.item.iImage_+_1;
_ _ _ _......
_ _ _ _m_GrghItem[iItem]_=_m_mytreectrl.InsertItem(&curTreeItem);
_ }
这个例子基本摘自微软的MSDN_sample,代码我省略了一些,应该没什么问题,但是当我用自已的位图(16*16)代替微软的位图时(仅仅换了一个资源时),新的与item相关联的位图在tree_ctrl中无法显示?
感觉在换了图后,pImageList->Add(&bitmap, (COLORREF)0xFFFFFF);中似乎有点问题,因为在循环后,它似乎每次都返回0,而不是0,1,2,3...这样的递增。但是每次均返回0也不是出错,搞不懂!_请高手们指点!
|