ModifyMenu的用法

ModifyMenu编辑

本词条缺少 概述名片图,补充相关内容使词条更完整,还能快速升级,赶紧来 编辑吧!
中文名
ModifyMenu
函数功能
该参数修改已存在的菜单项
函数原型
BOOL ModifyMenu
hMnu:
将被修改的菜单的句柄。

 

1函数功能

该参数修改已存在的菜单项,并指定菜单项的内容、外观和性能。

2函数原型

BOOL ModifyMenu(HMENU hMnu,UINT uPosition,UINT uFlags,UINT uIDNewltem,LPCTSTR IpNewltem);

3参数

hMnu:将被修改的菜单的句柄。
uPosition:指定将被修改的菜单项,其含义由参数UFlags决定。
UFlags:指定控制参数uPosition的解释的标志、菜单项的内容、外观和性能。此参数必须为下列值之一和列于备注里的一个值的组合。
MF_BYCOMMAND:表示uPostion给出菜单项的 标识符。如果MF_BYCOMMAND和MF_BYPOSITION都没被指定则MF_BYCOMMAND为缺省的标志。
MF_BYPOSITION:表示uPosition给出菜单项基于零的相对位置。
UIDNewltem:指定被修改菜单项的标识符,或者当参数uFlags设置为MF_POPUP时,指定下拉式菜单或子菜单的句柄。
lpNewltem:指定被修改菜单项的内容。其含义依赖于参数UFlags是否包含标志MF_BITMAP,MF_OWNERDRAW或MF_STRING。如下所示:
MF_BITMAP:含有位图句柄;MF_STRING:以`\0’结束的字符串的 指针(缺省)。
MF_OWNERDRAW:含有被应用程序应用的32位值,可以保留与菜单项有关的附加数据。当菜单被创建或其外观被修改时,此值在消息WM_MEASURE或WM_DRAWITEM的参数lparam指向的结构中,成员itemData里。
返回值:如果 函数调用成功,返回值非零;如果函数调用失败,返回值为零。若想获得更多的 错误信息,请调用GetLastError函数。
备注:如果函数ModifyMenu替换了打开下拉式菜单或子菜单的菜单项,则函数销毁旧的下拉式菜单或子菜单,并释放它们占用的内存。
为了使键盘 加速键能控制位图或自绘制的菜单项,菜单的拥有者必须处理WM_MENUCHAR消息。参见自绘制菜单和WM_MENUCHAR消息。
一旦菜单被修改,无论它是否在显示窗口里,应用程序必须调用函数DrawMenuBar。要修改已存在菜单项的属性,使用函数 CheckMenultemEnableMenultem更快。

4例子

CMenu* pSysMenu= GetSystemMenu( FALSE );
/* 禁止:移动菜单*/
pSysMenu ->ModifyMenu(SC_MOVE, MF_BYCOMMAND | MF_GRAYED, -10, "移动");
/* 要改回来时:*/
// pSysMenu ->ModifyMenu(-10, MF_BYCOMMAND | MF_GRAYED, SC_MOVE, "移动");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值