请教关于MFC菜单项变灰的问题

 我来答
就烦条0o
2017-01-07 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
首先,要想控制系统的初始化效果,需要添加Test的InitInstance()虚函数,在里面写菜单栏的置灰操作,代码如下:

CMenu* submenu = m_pMainWnd->GetMenu();
submenu->EnableMenuItem(1,MF_BYPOSITION | MF_ENABLED | MF_GRAYED);
用到了变量m_pMainWnd,这个是系统定义的窗口句柄;函数EnableMenuItem(),这里的含义是:是对菜单栏上第二个菜单项进行置灰操作,由于在系统的顶级菜单项没有ID,因此,我通过指定位置的方式进行。

在需要使菜单栏生效的地方,只要做相反的操作即可。代码如下:

CMenu* pMenu = AfxGetMainWnd()->GetMenu();

pMenu->EnableMenuItem(1,MF_BYPOSITION | MF_ENABLED );
这样就完成了菜单栏上菜单项的控制操作。
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式