您的位置:首页 > 产品设计 > UI/UE

如何使EnableMenuItem函数的调用有效

2013-12-07 19:03 211 查看
在MFC环境下Menu的修改在默认的情况下是通过CCmdUI来改变的, 调用EnableMenuItem函数无效(不管是全局API还是CMenu类的成员函数).但是只要修改CFrameWnd类的一个成员变量m_bAutoMenuEnable就可以使调用的函数有效.m_bAutoMenuEnable在默认情况下是TRUE,如果需要EnableMenuItem函数调用有效需将其赋值为FALSE.如下:

m_bAutoMenuEnable=FALSE; //关键部分

if(m_bUserMenu1)

{

//GetMenu()->GetSubMenu(4)->EnableMenuItem(IDM_USER_MENU2, MF_ENABLED| MF_BYCOMMAND);

::EnableMenuItem(m_hMenuDefault,IDM_USER_MENU2,MF_ENABLED| MF_BYCOMMAND);

}

else

{

//GetMenu()->GetSubMenu(4)->EnableMenuItem(IDM_USER_MENU2, MF_DISABLED|MF_GRAYED| MF_BYCOMMAND);

::EnableMenuItem(m_hMenuDefault,IDM_USER_MENU2,MF_DISABLED|MF_GRAYED| MF_BYCOMMAND);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: