MFC菜单栏选项置灰

网上搜,MFC菜单置灰的代码:

CMenu * pMenu = AfxGetMainWnd()->GetMenu(); //获取菜单指针
CMenu *pSubMenu = pMenu->GetSubMenu(4);//获取菜单第4栏弹出子菜单栏的指针
pSubMenu->EnableMenuItem(ID_XX,MF_BYCOMMAND| MF_DISABLED | MF_GRAYED);//把ID_XX项置灰

 

看起来一点错误都没有,但是运行后ID_XX项还是没有变灰,参照《VC++深入详解》(孙鑫 等编著)第179页,

需要添加:

CMainFrame::CMainFrame()
{
  m_bAutoMenuEnable = FALSE;
}

添完以后,再运行,好了~

posted @ 2012-12-05 16:51  最好的时光  阅读(773)  评论(0编辑  收藏  举报