MEASUREITEMSTRUCT
The MEASUREITEMSTRUCT
structure informs Windows of the dimensions of an owner-drawn control or menu
item. This allows Windows 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;
Members
CtlType
Specifies the
control type. This member can be one of the following values:
Value |
Meaning |
ODT_BUTTON |
Owner-drawn
button |
ODT_COMBOBOX |
Owner-drawn
combo box |
ODT_LISTBOX |
Owner-drawn
list box |
ODT_LISTVIEW |
Owner-draw
listview control |
ODT_MENU |
Owner-drawn
menu |
CtlID
Specifies the
identifier of the combo box, list box, or button. This member is not used for a
menu.
itemID
Specifies the
identifier for a menu item or the position of a list box or combo box item.
This value is specified for a list box only if it has the LBS_OWNERDRAWVARIABLE
style; this value is specified for a combo box only if it has the
CBS_OWNERDRAWVARIABLE style.
itemWidth
Specifies the
width, in pixels, of a menu item. Before returning from the message, the owner
of the owner-drawn menu item must fill this member.
itemHeight
Specifies the
height, in pixels, of an individual item in a list box or a menu. Before
returning from the message, the owner of the owner-drawn combo box, list box,
or menu item must fill out this member.
itemData
Specifies the
application-defined 32-bit value associated with the menu item. For a control,
this member specifies the value last assigned to the list box or combo box by
the LB_SETITEMDATA
CB_ADDSTRING
CB_INSERTSTRING
LB_ADDSTRING
LB_INSERTSTRING
Remarks
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.
See Also