求助:对于 屏蔽 右键弹出菜单 中某命令
对于屏蔽右键弹出菜单中某命令我有些疑问想请教。
void CDrawCoinView::OnContextMenu(CWnd* pWnd, CPoint point) { CMenu menuPopup;
CDrawCoinDoc *pDoc=GetDocument();
if (menuPopup.CreatePopupMenu())
{ menuPopup.AppendMenu(MF_STRING,ID_COIN_ADD,"增加硬币\t CTRL+A");
menuPopup.AppendMenu(MF_STRING,ID_COIN_SUB,"减少硬币\t CTRL+B");
menuPopup.TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this); } ASSERT_VALID(pDoc); if(pDoc->m_nCoins<1) menuPopup.EnableMenuItem (ID_COIN_SUB,MF_BYCOMMAND|MF_DISABLED|MF_GRAYED); menuPopup.EnableMenuItem (ID_COIN_ADD,MF_BYCOMMAND|MF_ENABLED); }
这是实现点击右键弹出菜单增加或减少硬币。但是,当没有硬币(m_nCoins<1,m_nCoins为硬币的总数)时,我想让菜单“减少硬币(ID_COIN_SUB)”不可用。我已经在CMainFrame中定义公共变量BOOL m_bAutoMenuEnable;并且在构造函数让其为FALSE。但是弹出式菜单2个菜单项依然可用。。。请问我遗漏了某些细节么。。