Share via


ListView_SetItemState

This macro changes the state of an item in a list view control. You can use this macro or send the LVM_SETITEMSTATE message explicitly.

void WINAPI ListView_SetItemState( 
HWND hwnd, 
int i, 
UINT state, 
UINT mask );

Parameters

  • hwnd
    Handle to the list view control.

  • i
    Index of the list view item. If this parameter is **–**1, then the state change is applied to all items.

  • state
    New state bits for the item. The mask parameter indicates the valid bits of the state parameter. The macro ignores bits in the state parameter if the corresponding bit is not set in the mask parameter.

    The low-order byte contains a set of bit flags that indicate the items state. This byte can be a combination of the following values:

    Value Description
    LVIS_CUT The item is marked for a cut-and-paste operation.
    LVIS_DROPHILITED The item is highlighted as a drag-and-drop target.
    LVIS_FOCUSED The item has the focus, so it is surrounded by a standard focus rectangle. Although more than one item may be selected, only one item can have the focus.
    LVIS_SELECTED The item is selected. The appearance of a selected item depends on whether it has the focus and also on the system colors used for selection.

    Bits 8 through 11 of the state parameter specify the one-based index of an overlay image in the controls image lists. Both the full-sized icon image list and the small icon image list can have overlay images. The overlay image is superimposed over the items icon image. If these bits are zero, the item has no overlay image. To isolate these bits, use the LVIS_OVERLAYMASK mask. To specify an overlay index, use the INDEXTOOVERLAYMASK macro.

    Bits 12 through 15 of the state parameter specify the one-based index of an image in the controls state image list. The state image is displayed next to an items icon to indicate an application-defined state. If these bits are zero, the item has no state image. To isolate these bits, use the LVIS_STATEIMAGEMASK mask. To specify a state image index, use the INDEXTOSTATEIMAGEMASK macro.

  • mask
    Bits of the state parameter that you want to set or clear. You can use ListView_SetItemState both to set and to clear bits. To set an items overlay image index, set the LVIS_OVERLAYMASK bits. To set an items state image index, set the LVIS_STATEIMAGEMASK bits.

Return Values

None.

Remarks

An items state value includes a set of bit flags that indicate the items state. The state value can also include image list indexes that indicate the items state image and overlay image.

The mask parameter specifies the state bits you want to modify, and the state parameter specifies the new value for those bits. To set a bit in the items internal state, set it in both the mask and state parameters. To clear a bit in the items internal state, set it in the mask parameter and clear it in the state parameter. To leave a bit unchanged in the items internal state, clear it in the mask parameter.

Related message: LVM_SETITEMSTATE

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 1.0 and later Commctrl.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

ListView_GetItemState

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.