我有一个看起来像下面的菜单,
当我打开特定对话框时,我想禁用整个菜单。我意识到我可以通过使用Update_Command_UIs单独禁用每个菜单项,但这意味着为100个或更多菜单项添加事件处理程序。最初使用CMultiDocTemplate加载菜单。有没有办法通过使用ID资源(IDR_MENU)来做到这一点?
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:2)
在您的大型机课程中,m_wndMenuBar.EnableWindow(FALSE);
?主菜单项不会显示为灰色,但它们无法选择。
答案 1 :(得分:2)
我用过,
CMenu* pMenu = AfxGetMainWnd()->GetMenu();
if(pMenu != NULL)
{
for(UINT i = 0; i < pMenu->GetMenuItemCount (); ++i)
pMenu->EnableMenuItem(i, MF_BYPOSITION | MF_DISABLED);
}
如http://forums.codeguru.com/showthread.php?456136-Can-I-disable-menu-bar中所述。它对我有用。