2009-01-05 91 views

回答

13

爲您的菜單項添加更新處理程序(使用ON_UPDATE_COMMAND_UI)。

此行應該出現在你的消息映射:

ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem) 

在處理程序中,使用此代碼:

void CMainFrame::OnUpdateMyMenuItem(CCmdUI *pCmdUI) 
{ 
    if (pCmdUI->m_pMenu!=NULL) 
    pCmdUI->m_pMenu->DeleteMenu(pCmdUI->m_nID, MF_BYCOMMAND); 
} 
+1

無法獲得正確的CMenu對象的有效指針 - 此代碼做了竅門! – GTAE86 2015-07-29 20:19:31

2

或者,如果要刪除一個菜單項使用的CMenu :: RemoveMenu