读书人

怎么实时的禁用起用整个工具栏和菜单

发布时间: 2012-03-21 13:33:14 作者: rapoo

如何实时的禁用起用整个工具栏和菜单
也就是当满足要求时,整个工具栏和整个菜单都不起做用
下面这个用上没起作用什么
HMENU hMenu = ::GetMenu(GetSafeHwnd());
EnableMenuItem(hMenu, 菜单项ID, MF_DISABLED);
第三个参数
MF_DISABLED
MF_ENABLED
MF_GRAYED


[解决办法]
在ON_UPDATE_COMMAND_UI_RANGE中做:
比如你的菜单ID范围是:ID_MENU_FIRST...ID_MENU_LAST

C/C++ code
//首先做好自动更新宏ON_UPDATE_COMMAND_UI_RANGE(ID_MENU_FIRST, ID_MENU_LAST, OnUpdateMenuCmd)//再声明更新消息函数afx_msg void OnUpdateMenuCmd(CCmdUI* pCmdUI);//再做好函数void CYourView::OnUpdatePopupMenuCmd(CCmdUI* pCmdUI){  BOOL bEnable = FALSE;//部分禁用  switch (pCmdUI->m_nID)  {    case ID_MENU_FIRST:      pCmdUI->Enable(FALSE);      break;    case //........  }//全部禁用:  pCmdUI->Enable(FALSE);}
[解决办法]
ON_UPDATE_COMMAND_UI/ON_UPDATE_COMMAND_UI_RANGE()

读书人网 >VC/MFC

热点推荐