我在Windows C++应用程序中有一个TreeView控件,具有ImageList设置。
我正在尝试插入一个节点,该节点没有图标(无TVIF_IMAGE
标志),但该图标仍然显示。
TVINSERTSTRUCT tvis = { 0 };
tvis.hParent = hParent;
tvis.hInsertAfter = hInsertAfter;
tvis.item.mask = TVIF_TEXT;
tvis.item.pszText = (LPTSTR) lpszItem;
tvis.item.iImage = 0;
tvis.item.iSelectedImage = 0;
tvis.item.state = nState;
tvis.item.stateMask = nStateMask;
tvis.item.lParam = lParam;
::SendMessage(m_hWnd, TVM_INSERTITEM, 0, (LPARAM)&tvis);
有可能/支持吗?
最佳答案
问题是您要插入一个[default]图片为0的项目。您不仅需要-1
,而且还需要TVIF_IMAGE
:
tvis.item.mask = TVIF_TEXT | TVIF_IMAGE;
tvis.item.iImage = -1;
与您的代码段(source code)相比,此更改的效果是: