WM_MEASUREITEM消息

创建控件或菜单时,发送到组合框、列表框、列表视图控件或菜单项的所有者窗口。

窗口通过其 WindowProc 函数接收此消息。

WM_MEASUREITEM

    WPARAM wParam;
    LPARAM lParam; 

参数

wParam

包含 LParam 参数指向的 MEASUREITEMSTRUCT 结构的 CtlID 成员的值。 此值标识发送 WM_MEASUREITEM 消息的控件。 如果消息是通过菜单发送的,则此参数为零。 如果值为非零或值为零,并且 lParam 指向的 MEASUREITEMSTRUCTCtlType 成员的值未ODT_MENU,则消息由组合框或列表框发送。 如果值为非零值,并且 lParam 指向的 MEASUREITEMSTRUCTitemID 成员的值 (UINT) 1,则消息由组合编辑字段发送。

lParam

指向 MEASUREITEMSTRUCT 结构的指针,该结构包含所有者绘制的控件或菜单项的维度。

返回值

如果应用程序处理此消息,则应返回 TRUE。

备注

当所有者窗口收到WM_MEASUREITEM消息时,所有者将填充消息的 lParam 参数指向的 MEASUREITEMSTRUCT 结构并返回 ;这会通知系统控件的维度。 如果使用 LBS_OWNERDRAWVARIABLECBS_OWNERDRAWVARIABLE 样式创建列表框或组合框,则此消息将发送给控件中每个项的所有者;否则,此消息发送一次。

在发送WM_INITDIALOG消息之前,系统会将 WM_MEASUREITEM 消息发送到使用 OWNERDRAWFIXED 样式创建的组合框和列表框 的所有者 窗口。 因此,当所有者收到此消息时,系统尚未确定控件中使用的字体的高度和宽度;需要这些值的函数调用和计算应在应用程序或库的 main 函数中发生。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
标头
Winuser.h(包括 Windows.h)

另请参阅

引用

MEASUREITEMSTRUCT

其他资源

WM_INITDIALOG