HTREEITEM TreeView_InsertItem(HWND hwnd, LPINSERTSTRUCT lpis);
参数说明:
- hwnd:TreeView 控件的句柄。
- lpis:指向 TVINSERTSTRUCT 结构的指针,包含有关要插入的项的信息。
TVINSERTSTRUCT 结构的声明如下:
typedef struct tagTVINSERTSTRUCT {
HTREEITEM hParent; // 父项的句柄
HTREEITEM hInsertAfter; // 要插入项的前一个项的句柄
TV_ITEM item; // 要插入项的属性
} TVINSERTSTRUCT, *LPTVINSERTSTRUCT;
TV_ITEM 结构的声明如下:
typedef struct tagTVITEM {
UINT mask; // 标志,指定要检索或设置的成员
HTREEITEM hItem; // 项的句柄
UINT state; // 项的状态
UINT stateMask; // 要改变的状态的位掩码
LPTSTR pszText; // 项的文本
int cchTextMax; // pszText 缓冲区的大小
int iImage; // 显示的图像的索引
int iSelectedImage; // 选中时显示的图像的索引
int cChildren; // 子项的数量
LPARAM lParam; // 应用程序定义的应用程序专用数据
} TV_ITEM, *LPTV_ITEM;
函数返回值:
- 如果成功,返回新插入项的句柄 (HTREEITEM);如果失败,返回 NULL。
使用 TreeView_InsertItem 函数可以在 TreeView 控件中插入一个项,并通过 TVINSERTSTRUCT 结构指定父项、插入位置和项的属性。
以下是一个简单的示例:
#include <Commctrl.h>
// 假设 hwndTreeView 是 TreeView 控件的句柄
// 准备插入项的信息
TVINSERTSTRUCT tvInsert;
tvInsert.hParent = TVI_ROOT; // 根项
tvInsert.hInsertAfter = TVI_LAST; // 插入到最后
tvInsert.item.mask = TVIF_TEXT | TVIF_PARAM; // 项的文本和参数
tvInsert.item.pszText = L"New Item"; // 项的文本
tvInsert.item.lParam = 123; // 应用程序定义的参数
// 插入项
HTREEITEM hNewItem = TreeView_InsertItem(hwndTreeView, &tvInsert);
// 使用 hNewItem 进行相应的操作
在这个示例中,我们通过准备一个 TVINSERTSTRUCT 结构,指定了要插入的项的父项、插入位置和项的属性。然后,通过调用 TreeView_InsertItem 函数将项插入到 TreeView 控件中,并获得新插入项的句柄。最后,我们可以使用这个句柄进行进一步的操作。
转载请注明出处:http://www.zyzy.cn/article/detail/24855/Win32 API/Commctrl.h/TreeView_InsertItem