网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 CMenu::ModifyMenu
释义 CMenu::ModifyMenu

BOOL ModifyMenu( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );
BOOL ModifyMenu( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp );

返回值:如果成功,则返回非零值,否则为0。

参数:
nPosition指定将要改变的菜单项。参数nFlags被用于以下列方式解释nPosition:
nFlagsnPosition的解释
MF_BYCOMMAND指定参数给出已存在菜单项的命令ID号。如果没有设置MF_BYCOMMAND或MF_BYPOSITION,那么此为缺省值
MF_BYPOSITION指定参数给出已存在菜单项的位置。第一项位于位置0

nFlags指定nPosition值如何被解释,并给定菜单项要进行修改的有关信息。如果需要了解可以被设置的其它标志,请参阅AppendMenu成员函数。
nIDNewItem指定将要修改的菜单项的命令ID号,或者,若nFlags被设置为MF_POPUP,则指定为弹出菜单的菜单句柄(HMENU)。若nFlags被设置为MF_SEPARATOR,那么参数nIDNewItem将被忽略。
lpszNewItem指定新菜单项的文本。nFlags被用于以下列方式解释lpszNewItem:
nFlagslpszNewItem的解释
MF_OWNERDRAW该值含有应用用于包含菜单项附加数据应用提供的32位值。该32位值在由WM_MEASUREITEM和WM_DRAWITEM消息提供的itemData结构成员里对于应用有效
MF_STRING包含指向以空格位终止符的字符串或CString的长指针
MF_SEPARATOR参数lpszNewItem将被忽略

pBmp指向将作为菜单项使用的CBitmap对象。

说明:
修改由nPosition指定位置的菜单项。应用可以通过设置nFlags的值,来指定菜单项的状态。若该函数替换了与菜单项相关联的弹出菜单项,那么它也将销毁老的弹出菜单,并释放弹出菜单使用的内存。
当nIDNewItem指定一个弹出菜单,则它将成为被插入菜单的一部分。若菜单被销毁,那么插入的菜单也将要被销毁。插入的菜单应当从CMenu 对象中分离出来,以避免冲突。
无论何时当停留在窗口的菜单发生改变时(不管窗口是否显示),应用都将调用CWnd::DrawMenuBar函数。如果需要改变已存在的菜单项的属性,那么使用CheckMenuItem或EnableMenuItem成员函数速度更快。

请参阅:
CMenu::AppendMenu, CMenu::InsertMenu, CMenu::CheckMenuItem, CWnd::DrawMenuBar, CMenu::EnableMenuItem, CMenu::SetMenuItemBitmaps, CMenu::Detach, ::ModifyMenu
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 12:27:45