CTreeCtrl 展开和折叠图标不起作用
CTreeCtrl expand and collapse icons not working
我在mfc中创建了class继承自CtreeCtrl名称CMytreeCtrlvisual studio2010专业版
CMytreeCtrl obTreeCtrl;
我想在扩展特定节点时显示不同的图标,如下所示:-
m_imageList.Create (16, 16, ILC_COLOR32, 1,4);
m_bitmap.LoadBitmap(IDB_BITMAP5);
m_imageList.Add(&m_bitmap, RGB(255,0,255));
SetImageList (&m_imageList, TVSIL_NORMAL);
SetItemImage(hTreeItemRoot,0,0);//parent node
SetItemImage(hTreeItem,1,2) // child node
因此,如果我展开子节点图像索引 2 用于所选图像索引,否则显示图像索引 1。我可以在正常状态下显示 1 号图标,但是当我扩展同一个 treeItem 时,它并没有改变图标。
如果要更改树项目的图标,您需要在 CImageList.
上设置至少 2 个图标
MyTreeCtrl.SetItemImage(hItem, 0, 0); // for first icon
MyTreeCtrl.SetItemImage(hAnotherItem, 1, 1); // for second icon
你设置它的地方反映了TVN_ITEMEXPANDED消息:https://docs.microsoft.com/en-us/windows/win32/controls/tvn-itemexpanded
我在mfc中创建了class继承自CtreeCtrl名称CMytreeCtrlvisual studio2010专业版 CMytreeCtrl obTreeCtrl; 我想在扩展特定节点时显示不同的图标,如下所示:-
m_imageList.Create (16, 16, ILC_COLOR32, 1,4);
m_bitmap.LoadBitmap(IDB_BITMAP5);
m_imageList.Add(&m_bitmap, RGB(255,0,255));
SetImageList (&m_imageList, TVSIL_NORMAL);
SetItemImage(hTreeItemRoot,0,0);//parent node
SetItemImage(hTreeItem,1,2) // child node
因此,如果我展开子节点图像索引 2 用于所选图像索引,否则显示图像索引 1。我可以在正常状态下显示 1 号图标,但是当我扩展同一个 treeItem 时,它并没有改变图标。
如果要更改树项目的图标,您需要在 CImageList.
上设置至少 2 个图标MyTreeCtrl.SetItemImage(hItem, 0, 0); // for first icon
MyTreeCtrl.SetItemImage(hAnotherItem, 1, 1); // for second icon
你设置它的地方反映了TVN_ITEMEXPANDED消息:https://docs.microsoft.com/en-us/windows/win32/controls/tvn-itemexpanded