TV_ITEM结构指定或接收树视图项目的属性。
typedef struct _TV_ITEM {tvi
UINT mask;
HTREEITEM hItem;
UINT state;
UINT stateMask;
LPSTR pszText;
int cchTextMax;
int iImage;
int iSelectedImage;
int cChildren;
LPARAM lParam;
} TV_ITEM, FAR *LPTV_ITEM;
会员
面具
指示哪些其他结构成员包含有效数据的标志数组。当此结构与TVM_GETITEM消息一起使用时,面具成员指示要检索的项目属性。该成员可以是以下值的组合:
值 | 含义 |
TVIF_CHILDREN | cChildren成员有效。 |
TVIF_HANDLE | 击中pl成员有效。 |
TVIF_IMAGE | 图像成员有效。 |
TVIF_PARAM | lParam的成员有效。 |
TVIF_SELECTEDIMAGE | iSelectedImage成员有效。 |
TVIF_STATE | 州和stateMask成员有效。 |
TVIF_TEXT | pszText和cchTextMax成员有效。 |
击中pl
标识此结构所涉及的项目。
州
指定项目状态正在被检索时的项目的当前状态,如果项目状态被设置,则指定新状态。stateMask成员指定州成员的有效位。该成员可以是状态值的任何有效组合。有关项目状态的列表,请参阅树状物品状态.
stateMask
指定州成员的有效位。
pszText
指向如果结构指定项目属性,则包含项目文本的以null结尾的字符串。如果该成员是LPSTR_TEXTCALLBACK值,则父窗口负责存储该名称。在这种情况下,当项目文本更改时,树视图控件在需要用于显示,排序或编辑的项目文本以及TVN_SETDISPINFO通知消息时,将父窗口发送TVN_GETDISPINFO通知消息。
如果结构正在接收项目属性,则该成员是指向接收项目文本的缓冲区的指针。
cchTextMax
如果结构正在接收项目属性,则pszText成员指向的缓冲区的大小。如果结构指定项目属性,则忽略该成员。
图像
索引在树视图控件的图标列表中,当项目处于未选择状态时使用的图标图像。
如果此成员是I_IMAGECALLBACK值,则父窗口负责存储索引。在这种情况下,树视图控件会向父级发送TVN_GETDISPINFO通知消息,以在需要显示图像时获取索引。
iSelectedImage
树状视图控件在项目处于选定状态时要使用的图标图像的图像列表中的索引。
如果此成员是I_IMAGECALLBACK值,则父窗口负责存储索引。在这种情况下,树视图控件会发送父节点TVN_GETDISPINFO通知消息,以便在需要显示图像时获取索引。
cChildren
指示项目是否具有关联的子项目的标志。该成员是以下值之一:
值 | 含义 |
零 | 该项目没有子项目。 |
1 | 该项目有一个或多个子项目。 |
I_CHILDRENCALLBACK | 父窗口跟踪项目是否有子项目。在这种情况下,当树视图控件需要显示项目时,控件将父节点发送TVN_GETDISPINFO通知消息,以确定项目是否具有子项。 |
如果树视图控件具有TVS_HASBUTTONS样式,则使用此成员来确定是否显示指示子项目存在的按钮。您可以使用此成员强制控件显示按钮,即使项目没有插入任何子项。这允许您通过仅在项目可见或扩展时插入子项才能显示按钮,同时最小化控件的内存使用量。
lParam的
一个与项目关联的32位值。
备注
此结构与TVM_GETITEM,TVM_SETITEM和TVM_INSERTITEM消息一起使用。它也包含在许多通知消息中。当结构用于检索项目信息时,只有由面具指示的结构成员包含有效数据。所有其他成员无效。
也可以看看
TVN_GETDISPINFO, TVM_GETITEM, TVM_INSERTITEM, TVN_SETDISPINFO, TVM_SETITEM