The COMPAREITEMSTRUCT data structure has this form:
typedef struct tagCOMPAREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
HWND hwndItem;
UINT itemID1;
DWORD itemData1;
UINT itemID2;
DWORD itemData2;
} 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, Windows 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.
Members
CtlType
ODT_LISTBOX (which specifies an owner-draw list box) or ODT_COMBOBOX (which specifies an owner-draw combo box).
CtlID
The control ID for the list box or combo box.
hwndItem
The window handle of the control.
itemID1
The index of the first item in the list box or combo box being compared.
itemData1
Application-supplied data for the first item being compared. This value was passed in the call that added the item to the combo or list box.
itemID2
Index of the second item in the list box or combo box being compared.
itemData2
Application-supplied data for the second item being compared. This value was passed in the call that added the item to the combo or list box.
See Also CWnd::OnCompareItem