【问题标题】:TreeView with items that have nodes icons and without icons带有节点图标和不带图标的项目的 TreeView
【发布时间】:2014-03-13 12:41:15
【问题描述】:

我在一个 具有 ImageList 集的 Windows C++ 应用程序中有一个 TreeView 控件。
我正在尝试插入一个没有图标(没有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);

这可能/支持吗?

【问题讨论】:

  • 我认为您的问题更适合 MFC 和 Visual C++ 标签。
  • 在图像列表中包含一个空白图标并选择该图标。

标签: c++ windows mfc treeview wtl


【解决方案1】:

问题是你正在插入一个带有 [default] image 0 的项目。你不仅需要-1,还需要TVIF_IMAGE

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

这是与您的 sn-p (source code) 相比此更改的效果:

【讨论】:

  • 不起作用。它对你有用吗?我问是因为我想知道是否与样式有关
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 2021-04-11
    相关资源
    最近更新 更多