TVITEMW 结构是 Win32 API 中在 Commctrl.h 头文件中定义的一个结构,用于描述树形视图控件(Tree-View Control)中的项。这个结构在 Unicode 字符集下使用。以下是该结构的定义:
typedef struct tagTVITEMW {
    UINT mask;
    HTREEITEM hItem;
    UINT state;
    UINT stateMask;
    LPWSTR pszText;
    int cchTextMax;
    int iImage;
    int iSelectedImage;
    int cChildren;
    LPARAM lParam;
} TVITEMW, *LPTVITEMW;

这个结构体包含以下字段:

  •  mask: 指定哪些字段包含有效数据。

  •  hItem: 项的句柄。

  •  state: 项的状态。

  •  stateMask: 用于筛选 state 中哪些位是有效的。

  •  pszText: 指向包含项的文本的字符串的指针(Unicode 字符串)。

  •  cchTextMax: 文本字符串的最大长度(以字符为单位)。

  •  iImage: 图像列表中与项相关联的图像的索引。

  •  iSelectedImage: 图像列表中与项在选定状态时相关联的索引。

  •  cChildren: 项的子项数目。

  •  lParam: 应用程序定义的 32 位值,用于存储额外的项数据。


使用 TVITEMW 结构,你可以获取或设置树形视图控件中项的各种属性。通常,你可以使用这个结构来执行与树形视图控件项相关的操作。

以下是一个简单的示例,演示如何使用 TVITEMW 结构来获取项的文本:
TVITEMW tvItem;
tvItem.mask = TVIF_TEXT;  // 指定只获取文本
tvItem.hItem = hTreeViewItem;  // 要获取文本的项的句柄
tvItem.pszText = buffer;  // 用于存储文本的缓冲区
tvItem.cchTextMax = sizeof(buffer) / sizeof(buffer[0]);  // 缓冲区大小

TreeView_GetItem(hTreeView, &tvItem);

// 现在 buffer 包含了项的文本

在这个示例中,hTreeView 是树形视图控件的句柄,hTreeViewItem 是要获取文本的项的句柄。tvItem 结构体描述了获取项文本的操作。通过调用 TreeView_GetItem 函数,可以获取到项的文本。


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