马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
注:本文档由 n0noper 翻译,小甲鱼校对。
原文链接 -> 传送门
函数功能:
SetMenultemBitmaps 函数用于将菜单项与特定位图结合。无论菜单项被选中还是取消,系统都会在菜单项后显示合适的位图。
API 函数原型:
注释:_In_ 说明该参数是输入的;_In_Opt_ 说明该参数是输入的、可选的。BOOL WINAPI SetMenuItemBitmaps(
_In_ HMENU hMenu,
_In_ UINT uPosition,
_In_ UINT uFlags,
_In_opt_ HBITMAP hBitmapUnchecked,
_In_opt_ HBITMAP hBitmapChecked
);
参数解析:
参数 | 含义 | hMenu | 指向接收新的选择标识位图的菜单项所在的菜单的句柄 | uPosition | 指向被修改的菜单项,取决于 uFlags 参数 | uFlags | 指定 uPosition 参数是如何解释的,必须是下列值之一:
值 | 含义 | MF_BYCOMMAND
(0x00000000L) | 表明 uPosition 参数给定了菜单项的 ID。当 MF_BYCOMMAND 和 MF_BYPOSITION 都没有指定时,默认为 MF_BYCOMMAND 标识 | MF_BYPOSITION
(0x00000400L) | 表明 uPosition 参数给定了菜单项的基于 0 的相对位置 |
| hBitmapUnchecked | 菜单项未被选中时显示的位图的句柄 | hBitmapChecked | 菜单项被选中时显示的位图的句柄 |
返回值:
1. 如果函数执行成功,返回非 0 值;
2. 如果函数执行失败,返回 0。
获取更多错误信息,查看 GetLastError 函数。
备注:
1. 当 hBitmapUnchecked 或 hBitmapChecked 参数的值为 NULL 时,系统将不会在菜单项后显示对应的选择状态;如果两个参数都为 NULL,系统将会在菜单项被选中时,显示默认的选择标记位图或在菜单项未被选中时,移除选择标记位图。
2. 当菜单被销毁时,这些位图不会被销毁;只能由应用程序销毁他们。
3. 选择和取消的位图应该是单色的。系统使用布尔运算符 AND 将菜单和位图结合导致白色部分变为透明,黑色部分变为菜单项的颜色。如果你使用彩色位图,结果可能不是你需要的。
4. 使用 GetSystemMetrics 函数时利用 CXMENUCHECK 和 CYMENUCHECK 参数获取位图的尺寸。
需求:
Minimum supported client | Windows 2000 专业版 [仅桌面应用程序] | Minimum supported server | Windows 2000 服务器版 [仅桌面应用程序] | Header | Winuser.h (包含于 Windows.h) | Library | User32.lib | DLL | User32.dll |
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
|