TreeView_SetItem 函数是用于设置树形视图控件中项的属性的 Win32 API 函数。通过这个函数,你可以修改树形视图中指定项的各种属性,如文本、图标等。

以下是 TreeView_SetItem 函数的一般形式:
BOOL TreeView_SetItem(
  HWND              hwnd,
  const TVITEM     *pitem
);

其中,TVITEM 结构体定义如下:
typedef struct tagTVITEM {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPWSTR    pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
} TVITEM, *LPTVITEM;

参数说明:
  •  hwnd: 树形视图控件的句柄。

  •  pitem: 一个指向 TVITEM 结构体的指针,包含了要设置的项的属性信息。


mask 字段用于指定要设置的项属性,可以是下列之一或它们的组合:
  •  TVIF_TEXT: 修改文本属性。

  •  TVIF_IMAGE: 修改正常图标属性。

  •  TVIF_SELECTEDIMAGE: 修改选中时图标属性。

  •  等等,还有其他可用的标志。


hItem 字段指定了要设置属性的项的句柄。

pszText 字段是一个指向包含项文本的缓冲区的指针,用于修改项的文本属性。

iImage 和 iSelectedImage 字段分别表示正常和选中时的图标索引。

其他字段可根据需要设置,如 lParam 用于存储应用程序定义的数据。

函数返回值是一个布尔值,表示是否成功设置项的属性。

示例代码:
#include <Commctrl.h>

// 在使用此函数之前,请确保你的程序链接了 Comctl32.lib 库

// 设置树形视图的项属性
BOOL SetTreeViewItem(HWND hTreeView, HTREEITEM hItem, const wchar_t* newText, int newImageIndex) {
    TVITEM tvItem;
    tvItem.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE;
    tvItem.hItem = hItem;
    tvItem.pszText = const_cast<LPWSTR>(newText);
    tvItem.cchTextMax = wcslen(newText);
    tvItem.iImage = newImageIndex;
    tvItem.iSelectedImage = newImageIndex;

    return TreeView_SetItem(hTreeView, &tvItem);
}

在使用这个函数之前,请确保你的程序链接了 Comctl32.lib 库。此外,你需要在代码中包含 Commctrl.h 头文件。


转载请注明出处:http://www.zyzy.cn/article/detail/24864/Win32 API/Commctrl.h/TreeView_SetItem