MFC怎么让初始菜单栏中的按钮不可用

我想做一个MFC的单文档程序,在程序初始化的时候,把所有系统给的初始按钮全都设置成不可用。请问这应该在哪个类里面写啊?我试过在CMainFrame里面写EnableMen... 我想做一个MFC的单文档程序,在程序初始化的时候,把所有系统给的初始按钮全都设置成不可用。请问这应该在哪个类里面写啊?我试过在CMainFrame里面写EnableMenuItem(),代码如下:
CMenu *pMenu=this->GetMenu();
pMenu->GetSubMenu(0)->EnableMenuItem(ID_FILE_CLOSE,MF_BYCOMMAND | MF_GRAYED);
结果按钮还是可以点击的- -而且点击事件响应也是CMainFrame类的,请问这是为什么啊?
展开
 我来答
bhtzu
2013-12-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4157万
展开全部

View类,重载按钮消息函数ON_UPDATE_COMMAND_UI,设置Enable即可,如:

void CTestmfcView::OnUpdateAppAbout(CCmdUI* pCmdUI) 
{
    // TODO: Add your command update UI handler code here
    pCmdUI->Enable(FALSE);
}
追问
那之后怎么让他恢复呢?就是说,我点一个按钮之后,这些菜单按钮又都可以用了。
追答
将代码中FALSE改为一个类成员变量,控制这个变量的值即可。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式