The TV_ITEM structure specifies or receives attributes of a tree-view 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;
Members
mask
Array of flags that indicate which of the other structure members contain valid data. When this structure is used with the TVM_GETITEM message, the mask member indicates the item attributes to retrieve. This member can be a combination of the following values:
Value | Meaning |
TVIF_CHILDREN | The cChildren member is valid. |
TVIF_HANDLE | The hItem member is valid. |
TVIF_IMAGE | The iImage member is valid. |
TVIF_PARAM | The lParam member is valid. |
TVIF_SELECTEDIMAGE | The iSelectedImage member is valid. |
TVIF_STATE | The state and stateMask members are valid. |
TVIF_TEXT | The pszText and cchTextMax members are valid. |
hItem
Identifies the item to which this structure refers.
state
Specifies the current state of the item if the item's state is being retrieved, or the new state if the item's state is being set. The stateMask member specifies the bits of the state member that are valid. This member can be any valid combination of state values. For a list of item states, see Tree-View Item States.
stateMask
Specifies the bits of the state member that are valid.
pszText
Pointer to a null-terminated string that contains the item text if the structure specifies item attributes. If this member is the LPSTR_TEXTCALLBACK value, the parent window is responsible for storing the name. In this case, the tree-view control sends the parent window a TVN_GETDISPINFO notification message when it needs the item text for displaying, sorting, or editing, and a TVN_SETDISPINFO notification message when the item text changes.
If the structure is receiving item attributes, this member is the pointer to the buffer that receives the item text.
cchTextMax
Size of the buffer pointed to by the pszText member if the structure is receiving item attributes. If the structure specifies item attributes, this member is ignored.
iImage
Index in the tree-view control's image list of the icon image to use when the item is in the non-selected state.
If this member is the I_IMAGECALLBACK value, the parent window is responsible for storing the index. In this case, the tree-view control sends the parent a TVN_GETDISPINFO notification message to get the index when it needs to display the image.
iSelectedImage
Index in the tree-view control's image list of the icon image to use when the item is in the selected state.
If this member is the I_IMAGECALLBACK value, the parent window is responsible for storing the index. In this case, the tree-view control sends the parent a TVN_GETDISPINFO notification message to get the index when it needs to display the image.
cChildren
Flag that indicates whether the item has associated child items. This member is one of the following values:
Value | Meaning |
zero | The item has no child items. |
1 | The item has one or more child items. |
I_CHILDRENCALLBACK | The parent window keeps track of whether the item has child items. In this case, when the tree-view control needs to display the item, the control sends the parent a TVN_GETDISPINFO notification message to determine whether the item has child items. |
If the tree-view control has the TVS_HASBUTTONS style, it uses this member to determine whether to display the button indicating the presence of child items. You can use this member to force the control to display the button even though the item does not have any child items inserted. This allows you to display the button while minimizing the control's memory usage by inserting child items only when the item is visible or expanded.
lParam
A 32-bit value to associate with the item.
Remarks
This structure is used with the TVM_GETITEM, TVM_SETITEM, and TVM_INSERTITEM messages. It is also included with many of the notification messages. When the structure is used to retrieve item information, only the structure members indicated by mask contain valid data. All other members are invalid.
See Also
TVN_GETDISPINFO, TVM_GETITEM, TVM_INSERTITEM, TVN_SETDISPINFO, TVM_SETITEM