Treectrl 为什么在给子节点添加图标时,它的父节点也自动有了图标?
如题,我给树控件的两个子节点添加图标,并没有给父节点添加,结果它的父节点也都有图标显示 这是为什么呢?
代码:
//首先往imageList里面添两张图
CImageList* imageList=new CImageList();
imageList->Create(19, 19, ILC_COLOR24|ILC_MASK, 20, 1);
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,"D:\\Project\\TEMP\\1.bmp",IMAGE_BITMAP,
19,19,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
CBitmap* m_bitmap = new CBitmap();
m_bitmap->Attach(hBitmap);
imageList->Add(m_bitmap,RGB(0, 0, 0));
HBITMAP hBitmap1 = (HBITMAP)LoadImage(NULL,"D:\\Project\\TEMP\\2.bmp",IMAGE_BITMAP,
19,19,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE);
CBitmap* m_bitmap1 = new CBitmap();
m_bitmap1->Attach(hBitmap1);
imageList->Add(m_bitmap1,RGB(0, 0, 0));
//设置TreeCtrl的属性
DWORD dwStyle = GetWindowLong(m_TreeCtrl.m_hWnd,GWL_STYLE);
dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
SetWindowLong(m_TreeCtrl.m_hWnd,GWL_STYLE,dwStyle);
//将TreeCtrl与imageList关联起来
m_TreeCtrl.SetImageList(imageList,TVSIL_NORMAL);
HTREEITEM hRoot,hItem,hItem1,hItem2,hSubItem,hSubItem1,hSubItem2;
hRoot = m_TreeCtrl.InsertItem("我的电脑");
hItem = m_TreeCtrl.InsertItem( "Parent1 ",hRoot);
//只给如下两个子节点添加图标
hSubItem = m_TreeCtrl.InsertItem("child1",0,1,hItem);
hSubItem1 = m_TreeCtrl.InsertItem("child2",0,1,hItem,hSubItem);
hItem1 = m_TreeCtrl.InsertItem( "Parent2 ",hRoot,hItem);
hItem2 = m_TreeCtrl.InsertItem( "Parent3 ",hRoot,hItem1);
结果:
在所有的节点前都有图标(是我放入imageList里的第一张图片),这是为什么呢???
另外:
有没有什么方法可以在插入子节点的时候不是一个字符串 eg "child1"
而是一个其他的控件 例如子节点是个Radio Button的控件 ??
请大家指教~! 谢谢~!