TreeView与具有节点图标和没有图标的项目

时间:2014-02-14 08:43:42

标签: c++ windows mfc treeview wtl

我在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);

这可能/支持吗?

2 个答案:

答案 0 :(得分:3)

问题是您正在使用[默认]图像0插入项目。您不仅需要-1,还需要TVIF_IMAGE

    tvis.item.mask = TVIF_TEXT | TVIF_IMAGE;
    tvis.item.iImage = -1;

此更改的效果与您的代码段(source code)相比较:

enter image description here

答案 1 :(得分:2)

尝试将图像标志设置为-1而不是0;