mfc让菜单动态变灰

首先在CMainFrame 的构造函数添加
m_bAutoMenuEnable = false;
//m_bAutoMenuEnable为CFrameWnd的成员


然后就能在需要的地方令其失效
AfxGetApp()->m_pMainWnd->GetMenu()->EnableMenuItem(ID_XXX,  MF_GRAYED);  //变灰
AfxGetApp()->m_pMainWnd->GetMenu()->EnableMenuItem(ID_XXX,  MF_ENABLE);  //有效


如果有子菜单,则可以在GetMenu()后调用GetSubMenu()详情件MSDN
posted @ 2009-08-28 11:11  eric_lgf  阅读(2932)  评论(2编辑  收藏  举报