WM_MEASUREITEM消息

来自:https://blog.csdn.net/yingzheng1983/article/details/3159825

 

http://www.panshsoft.com

WM_MEASUREITEM
在控件或菜单被创建的时候,向自绘按钮(button),组合框(combo box),列表框(list box),
列表视图(list view)或菜单项的所有者发送WM_MEASUREITEM消息

WM_MEASUREITEM 
idCtl = (UINT) wParam;                // 控件标识符
lpmis = (LPMEASUREITEMSTRUCT) lParam; // 项目大小信息

参数
idCtl
    wParam值. lpmis参数指向MEASUREITEMSTRUCT结构体CtlID成员包含的值,
 这个值由发送到控件的WM_MEASUREITEM消息确定

 如果这个值是零.消息是由一个菜单发出.如果这个值是非零,消息是由组合框(combo box),列表框(list box)
  发出,如果这个值是非零并且lpmis指向的MEASUREITEMSTRUCT结构体itemID成员的值是(UINT)-1,
 消息是发送到组合框编辑区域.

lpmis
    lparam值.指向包含自绘控件或菜单项的尺寸的MEASUREITEMSTRUCT结构体

返回值

 如果应用程序处理这个消息,返回的是TRUE

备注:
 就在所有者接收WM_MEASUREITEM消息的时候,所有者填充消息中lParam参数指向的MEASUREITEMSTRUCT结构体,
 这告诉系统控件的尺寸.如果一个组合框(combo box)或列表框(list box)创建时有
 LBS_OWNERDRAWVARIABLE或 CBS_OWNERDRAWVARIABLE风格,这个消息发送到所有者控件各自的项;否则,这个消息发送一次.

 在WM_INITDIALOG消息发送之前,系统为在创建时有OWNERDRAWFIXED风格的列表框和组合框的所有者窗体
 发送WM_MEASUREITEM消息.在所有者收到这个消息的时候,系统还没有决定控件使用字体的宽度和高度尺寸.
 将在应用程序或库中调用主要的函数计算需要的值

posted @ 2020-10-11 17:39  宇宙之外  阅读(277)  评论(0编辑  收藏  举报