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
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