我在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);
这可能/支持吗?
答案 0 :(得分:3)
问题是您正在使用[默认]图像0插入项目。您不仅需要-1
,还需要TVIF_IMAGE
:
tvis.item.mask = TVIF_TEXT | TVIF_IMAGE;
tvis.item.iImage = -1;
此更改的效果与您的代码段(source code)相比较:
答案 1 :(得分:2)
尝试将图像标志设置为-1而不是0;