MFC中,怎么让弹出菜单的某一个菜单项变灰(不可用)?

MFC中,怎么让弹出菜单的某一个菜单项变灰(不可用)?... MFC中,怎么让弹出菜单的某一个菜单项变灰(不可用)? 展开
 我来答
相思丶猫2C
推荐于2016-04-26 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:947万
展开全部
CMenu::EnableMenuItem

UINT EnableMenuItem( UINT nIDEnableItem, UINT
nEnable );

返回值:
返回以前的状态(MF_DISABLED, MF_ENABLED,
或MF_GRAYED),如果无效,则返回-1。

参数:
nIDEnableItem 指定由nEnable决定的将要有效的菜单项。该参数既可以指定弹出菜单项,也可以指定标准菜单项。

nEnable 指定了将要进行的动作。它可以是MF_DISABLED, MF_ENABLED,或MF_GRAYED与
MF_BYCOMMAND或MF_BYPOSITION的组合。这些值通过位与操作进行组合。这些值有下列含义:
·
MF_BYCOMMAND
指定参数给出已存在的菜单项的命令ID号。此为缺省值。
·
MF_BYPOSITION
指定参数给出已存在菜单项的位置。第一项所在的位置是0。
·
MF_DISABLED
使菜单项无效,以便它不能被选择,但不变灰。
·
MF_ENABLED
使菜单项有效,以便它能够被选择,并可从变灰的状态中恢复出来。
·
MF_GRAYED
使菜单项无效,以便它不能被选择并同时变灰。

说明:
使菜单项有效、无效或变灰。CreateMenu,InsertMenu,ModifyMenu和LoadMenuIndirect成员函数同时也设置菜单项的状态(有效、无效、或变灰)。
使用MF_BYPOSITION的值需要应用恰当的CMenu对象。若菜单条的CMenu被使用,那么顶层菜单项(菜单条中的某项)将受影响。如果为了在弹出菜单或嵌套的弹出菜单中通过位置来设置项的状态,那么应用必须指定弹出菜单的CMenu。
当应用指定了MF_BYCOMMAND标志,那么Windows将检测所有的属于CMenu的弹出菜单项。因此,除非当前正在复制菜单项,那么使用菜单条的CMenu是非常有效的。
binglink
2013-03-04 · TA获得超过1101个赞
知道小有建树答主
回答量:639
采纳率:0%
帮助的人:459万
展开全部
响应 ON_UPDATE_COMMAND_UI
void CMyView::OnUpdateCommand1(CCmdUI* pCmdUI)
{
pCmdUI->Enable(FALSE);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式