COMPAREITEMSTRUCT

The COMPAREITEMSTRUCT structure supplies the identifiers and application-supplied data for two items in a sorted, owner-drawn list box or combo box.

Whenever an application adds a new item to an owner-drawn list box or combo box created with the CBS_SORT or LBS_SORT style, the system sends the owner a WM_COMPAREITEM message. The lParam parameter of the message contains a long pointer to a COMPAREITEMSTRUCT structure. Upon receiving the message, the owner compares the two items and returns a value indicating which item sorts before the other.

typedef struct tagCOMPAREITEMSTRUCT { // cis 
    UINT  CtlType; 
    UINT  CtlID; 
    HWND  hwndItem; 
    UINT  itemID1; 
    DWORD itemData1; 
    UINT  itemID2; 
    DWORD itemData2; 
} COMPAREITEMSTRUCT; 
 

Members

CtlType
Specifies ODT_LISTBOX (an owner-drawn list box) or ODT_COMBOBOX (an owner-drawn combo box).
CtlID
Specifies the identifier of the list box or combo box.
hwndItem
Handle to the control.
itemID1
Specifies the index of the first item in the list box or combo box being compared.

This member will be –1 if the item has not been inserted or when searching for a potential item in the list box or combo box.

itemData1
Specifies application-supplied data for the first item being compared. (This value was passed as the lParam parameter of the message that added the item to the list box or combo box.)
itemID2
Specifies the index of the second item in the list box or combo box being compared.
itemData2
Specifies application-supplied data for the second item being compared. This value was passed as the lParam parameter of the message that added the item to the list box or combo box.

This member will be –1 if the item has not been inserted or when searching for a potential item in the list box or combo box.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in winuser.h.

See Also

Combo Boxes Overview, Combo Box Structures, WM_COMPAREITEM