MEASUREITEMSTRUCT 结构 (winuser.h)
通知系统所有者绘制的控件或菜单项的尺寸。 这允许系统正确处理用户与控件的交互。
语法
typedef struct tagMEASUREITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemWidth;
UINT itemHeight;
ULONG_PTR itemData;
} MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT;
成员
CtlType
类型: UINT
控件类型。 此成员可以是下表中显示的值之一。
Value | 含义 |
---|---|
|
所有者绘制的组合框 |
|
所有者绘制的列表框 |
|
所有者绘制列表视图控件 |
|
所有者绘制的菜单 |
CtlID
类型: UINT
组合框或列表框的标识符。 此成员不适用于菜单。
itemID
类型: UINT
菜单项的标识符或列表框或组合框项的位置。 仅当列表框具有 LBS_OWNERDRAWVARIABLE 样式时,才为列表框指定此值;仅当组合框具有 CBS_OWNERDRAWVARIABLE 样式时,才为其指定此值。
itemWidth
类型: UINT
菜单项的宽度(以像素为单位)。 在从消息返回之前,所有者绘制的菜单项的所有者必须填充此成员。
itemHeight
类型: UINT
列表框或菜单中单个项的高度(以像素为单位)。 在从邮件返回之前,所有者绘制的组合框、列表框或菜单项的所有者必须填写此成员。
itemData
类型: ULONG_PTR
与菜单项关联的应用程序定义值。 对于控件,此成员指定LB_SETITEMDATA或CB_SETITEMDATA消息最后分配给列表框或组合框的值。 如果列表框或组合框具有LB_HASSTRINGS或CB_HASSTRINGS样式,则此值最初为零。 否则,此值最初是传递到以下消息之一的 lParam 参数中的列表框或组合框的值:
注解
所有者绘制控件的所有者窗口接收指向 MEASUREITEMSTRUCT 结构的指针,作为WM_MEASUREITEM消息的 lParam 参数。 创建控件时,所有者绘制的控件将此消息发送到其所有者窗口。 然后,所有者在 结构中填充控件的相应成员并返回 。 此结构适用于所有所有者绘制的控件,但所有者绘制的按钮控件的大小由其窗口预先确定。
如果应用程序未填充 MEASUREITEMSTRUCT 的适当成员,则可能无法正确绘制控件或菜单项。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
另请参阅
引用