mfc 菜单项禁用

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);//子菜单可用


你可能感兴趣的:(编程语言,软件开发,mfc,菜单,变灰,禁用,不可用)