我在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)相比,此更改的效果是:

10-08 00:41