a.在任意类均可添加实现:
1)在CMainFrame 的构造函数添加
m_bAutoMenuEnable = false;//m_bAutoMenuEnable为CFrameWnd的成员
2)在需要实现的地方令菜单项失效
AfxGetApp()->m_pMainWnd->GetMenu()->EnableMenuItem(ID_XXX, MF_GRAYED);//子菜单不可用
AfxGetApp()->m_pMainWnd->GetMenu()->EnableMenuItem(ID_XXX, MF_ENABLED);//子菜单可用
b.也可以在CMainFrame类中通过位置索引禁用菜单项,详情如下:
GetMenu()->GetSubMenu(0)->EnableMenuItem(0,MF_BYPOSITION|MF_DISABLED|MF_GRAYED);//子菜单不可用
GetMenu()->GetSubMenu(0)->EnableMenuItem(1,MF_BYPOSITION|MF_ENABLED);//子菜单可用