鱼C论坛

 找回密码
 立即注册
查看: 2760|回复: 0

[API档案] SetMenultemBitmaps

[复制链接]
发表于 2016-3-26 01:08:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表