MFC怎么让初始菜单栏中的按钮不可用
我想做一个MFC的单文档程序,在程序初始化的时候,把所有系统给的初始按钮全都设置成不可用。请问这应该在哪个类里面写啊?我试过在CMainFrame里面写EnableMen...
我想做一个MFC的单文档程序,在程序初始化的时候,把所有系统给的初始按钮全都设置成不可用。请问这应该在哪个类里面写啊?我试过在CMainFrame里面写EnableMenuItem(),代码如下:
CMenu *pMenu=this->GetMenu();
pMenu->GetSubMenu(0)->EnableMenuItem(ID_FILE_CLOSE,MF_BYCOMMAND | MF_GRAYED);
结果按钮还是可以点击的- -而且点击事件响应也是CMainFrame类的,请问这是为什么啊? 展开
CMenu *pMenu=this->GetMenu();
pMenu->GetSubMenu(0)->EnableMenuItem(ID_FILE_CLOSE,MF_BYCOMMAND | MF_GRAYED);
结果按钮还是可以点击的- -而且点击事件响应也是CMainFrame类的,请问这是为什么啊? 展开
1个回答
展开全部
View类,重载按钮消息函数ON_UPDATE_COMMAND_UI,设置Enable即可,如:
void CTestmfcView::OnUpdateAppAbout(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(FALSE);
}
追问
那之后怎么让他恢复呢?就是说,我点一个按钮之后,这些菜单按钮又都可以用了。
追答
将代码中FALSE改为一个类成员变量,控制这个变量的值即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询