gpt4 book ai didi

c++ - 在 MFC 的 Tree(CTreeCtrl) 中为特定树项添加图标

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:44:41 26 4
gpt4 key购买 nike

我们可以为特定的树项添加图标吗?

我正在使用以下函数添加带有图标的项目:

HTREEITEM InsertItem(LPCTSTR lpszItem,int nImage,int nSelectedImage,HTREEITEM hParent = TVI_ROOT,HTREEITEM hInsertAfter = TVI_LAST);

要跳过某个项目的图标,我为 nImagenSelectedImage 使用了 -1 值。通过这样做,图标不会出现,但空间会出现。

最佳答案

你看过 CTreeCtrl::SetItem 了吗?

最简单的是填充并传递一个 TVITEM 结构。

typedef struct tagTVITEM {
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TVITEM, *LPTVITEM;

您将 mask 设置为 TVIF_IMAGE 并指定 iImage 值。

首先,您需要创建一个在 CTreeCtrl 期间保持有效的 CImageList 对象。您通常将它作为变量添加到类中。示例:

m_imgList.Create(IDB_BMP_CHECK_IMAGELIST, 16, 10, 0x0000FF00);

初始化后,您可以调用 CTreeCtrl::SetImageList 。示例:

m_treeCtrl.SetImageList(&m_imgList, LVSIL_SMALL);

此后您可以使用图像索引值。

关于c++ - 在 MFC 的 Tree(CTreeCtrl) 中为特定树项添加图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41354446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com