This structure that specifies or receives the attributes of a list view item. It has been updated to support a new mask value (LVIF_INDENT) that enables item indenting.
At a Glance
Header file: | Commctrl.h |
Windows CE versions: | 2.0 and later |
Syntax
typedef struct _LVITEM {
UINT mask;
int iItem;
int iSubItem;
UINT state;
UINT stateMask;
LPTSTR pszText;
int cchTextMax;
int iImage;
LPARAM lParam;
int iIndent;
} LVITEM;
Members
mask
Specifies which members of this structure contain data to be set or are being requested. It can be a combination of one or more of the following flags:
Value | Description |
LVIF_TEXT | The pszText member is valid or must be filled in. |
LVIF_IMAGE | The iImage member is valid or must be filled in. |
LVIF_INDENT | The iIndent member is valid or must be filled in. |
LVIF_NORECOMPUTE | The control will not generate a LVN_GETDISPINFO message to retrieve text information if it receives a LVM_GETITEM message. Instead, the pszText member will contain LPSTR_TEXTCALLBACK. |
LVIF_PARAM | The lParam member is valid or must be filled in. |
LVIF_STATE | The state member is valid or must be filled in. |
LVIF_DI_SETITEM | The operating system should store the requested list item information, and not ask for it again. This flag is used only with the LVN_GETDISPINFO notification message. |
iItem
Zero-based index of the item to which this structure refers.
iSubItem
One-based index of the subitem to which this structure refers, or zero if this structure refers to an item rather than a subitem.
state
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 which bits of this member should be retrieved or modified. Any bits in this member that are not set in stateMask will be ignored. This member can be any valid combination of list view state values.
stateMask
Specifies which bits of the state member will be retrieved or modified.
If the item’s state is being retrieved, this member enables you to specify which states will be retrieved. For example, setting this member to LVIS_SELECTED will cause only the item’s selection state to be retrieved.
If item’s state is being modified, this member allows you to modify one or more states without having to retrieve all of the states first. For example, setting this member to LVIS_SELECTED and state to zero will cause the item’s selection state to be cleared, but none of the other states will be affected.
To retrieve or modify all of the states, set this member to (UINT) –1.
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 item is a callback item. Do not set the pszText member to LPSTR_TEXTCALLBACK if the list view control has LVS_SORTASCENDING or LVS_SORTDESCENDING style.
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 not receiving information, this member is ignored.
iImage
Index of the list view item’s icon in the icon list and the small icon image list.
If this member is the I_IMAGECALLBACK value, the parent window is responsible for storing the index. In this case, the list view control sends the parent an LVN_GETDISPINFO notification message to get the index when it needs to display the image.
lParam
Specifies the 32-bit value of the item. If you use the LVM_SORTITEMS message, the list view control passes this value to the application-defined comparison function. You can also use the LVM_FINDITEM message to search a list view control for an item with a specified lParam value.
iIndent
Number of image widths to indent the item. A single indentation equals the width of an item image. Therefore, the value 1 indents the item by the width of one image, the value 2 indents by two images, and so on. Note that this member is supported only for items. Attempting to set subitem indentation will cause the calling function to fail.
Remarks
The LVITEM structure is used with a number of messages, including LVM_GETITEM, LVM_SETITEM, LVM_INSERTITEM, and LVM_DELETEITEM.
This structure supersedes the LV_ITEM structure.
Size of the buffer pointed to by the pszText member if the structure is receiving item attributes. This member is ignored if the structure specifies item attributes.