在MFC中對菜單項進行控制,包括勾選、使其不可用等,經常用到語句為:
GetMenu()->GetSubMenu(0)->EnableMenuItem(0,MF_BYPOSITION|MF_DISABLED|MF_GRAYED);
GetMenu()->GetSubMenu(0)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED);
此時經常出現錯誤,此時需要将m_wndMenuBar出現的地方全部屏蔽掉。
發現未屏蔽前,所有菜單前是有圖示的,屏蔽後,圖示消失。
估計,使用上述語句調用時,與建立圖示語句産生沖突,故産生了如此錯誤。
另外注意,如果讓某個本來可以使用的菜單,暫時不可用還需要使用
m_bAutoMenuEnable =FALSE;