The MEASUREITEMSTRUCT structure informs the system of the dimensions of an owner-drawn control or menu item. This allows the system to process user interaction with the control correctly.
typedef struct tagMEASUREITEMSTRUCT { // mis
UINT CtlType; // type of control
UINT CtlID; // combo box, list box, or button identifier
UINT itemID; // menu item, variable-height list box,
// or combo box identifier
UINT itemWidth; // width of menu item, in pixels
UINT itemHeight; // height of single item in list box menu,
// in pixels
DWORD itemData; // application-defined 32-bit value
} MEASUREITEMSTRUCT;
Value | Meaning |
---|---|
ODT_BUTTON | Owner-drawn button |
ODT_COMBOBOX | Owner-drawn combo box |
ODT_LISTBOX | Owner-drawn list box |
ODT_LISTVIEW | Owner-draw list view control |
ODT_MENU | Owner-drawn menu |
The owner window of an owner-drawn control receives a pointer to the MEASUREITEMSTRUCT structure as the lParam parameter of a WM_MEASUREITEM message. The owner-drawn control sends this message to its owner window when the control is created. The owner then fills in the appropriate members in the structure for the control and returns. This structure is common to all owner-drawn controls.
If an application does not fill the appropriate members of MEASUREITEMSTRUCT, the control or menu item may not be drawn properly.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winuser.h.
Combo Boxes Overview, Combo Box Structures, CB_ADDSTRING, CB_INSERTSTRING, CB_SETITEMDATA, LB_ADDSTRING, LB_INSERTSTRING, LB_SETITEMDATA, WM_MEASUREITEM