1、新建一个单文档的MFC应用,工程的名字为EnableMenu。
2、在工作区选择classview标签,展开EnableMenu classes,右击觊皱筠桡CMainFrame类,在弹出的菜单中选择add Me罪焐芡拂mber命令,在弹出的对话框中的变量类型填上bool,变量名称为m_flag,access选择private。
3、展开CMainFrame,双击CMainFrame()函数,添加一下代码:m_flag = false; // 初始化,标示步骤一还没执行
4、在工作区的Resource View标签,展开Height resources|Menu,双击IDR_MAINFRAME选项,在客户区显示单文档的菜单栏。如图添加菜单。
5、在“步骤一”和“步骤二”菜单上分别点击右键,然后选择建立类向导。弹出MFC cla衡痕贤伎ssWizard,在Message列表框中选择COMM帆歌达缒AND选项,单击Add Function按钮,弹出Add Member Function对话框,单击OK按钮,最后单击Edit Code按钮。然后在“步骤二”菜单上点击右键,然后选择建立类向导。弹出MFC classWizard,在Message列表框中选择UPDATE_COMMAND_UI选项,单击Add Function按钮。并在相应的函数中添加一下代码:void CMainFrame::OnOptStep1(){ m_flag = true; MessageBox("步骤一完成,可以执行步骤二了。");}void CMainFrame::OnOptStep2(){ MessageBox("步骤二完成。"); }void CMainFrame::OnUpdateOptStep2(CCmdUI* pCmdUI){ pCmdUI->Enable(m_flag); // 通过变量m_flag决定步骤二的执行菜单是否可用}
6、运行结果只有执行了一个菜单后另一个菜单才能执行如下: