Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This message is sent to the owner window of an owner-drawn button or menu item when the control or menu is created.

Syntax

WM_MEASUREITEM 
idCtl = (UINT) 
wParam; 

lpmis = (LPMEASUREITEMSTRUCT) 
lParam;

Parameters

idCtl

Contains the value of the CtlIDmember of the MEASUREITEMSTRUCTstructure pointed to by the lpmisparameter. This value identifies the control that sent the WM_MEASUREITEM message.

If the value is zero, the message was sent by a menu. If the value is nonzero, the message was sent by a combo box or by a list box. If the value is nonzero, and the value of the itemIDmember of the MEASUREITEMSTRUCTpointed to by lpmisis (UINT) –1, the message was sent by a combo edit field.

lpmis

Long pointer to a MEASUREITEMSTRUCTstructure that contains the dimensions of the owner-drawn control or menu item.

Return Value

An application should return TRUE if it processes this message.

Remarks

When the owner window receives the WM_MEASUREITEM message, the owner fills in the MEASUREITEMSTRUCTstructure pointed to by the lParamparameter of the message and returns; this informs the system of the dimensions of the control. If a list box or combo box is created with the LBS_OWNERDRAWVARIABLE or CBS_OWNERDRAWVARIABLE style, this message is sent to the owner for each item in the control; otherwise, this message is sent once.

The system sends the WM_MEASUREITEM message to the owner window of combo boxes and list boxes created with the OWNERDRAWFIXED style before sending the WM_INITDIALOG message. As a result, when the owner receives this message, the system has not yet determined the height and width of the font used in the control; function calls and calculations requiring these values should occur in the main function of the application or library.

Requirements

Header winuser.h
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also