该弹出菜单的代码:
CMenu xpMenu; 
POINT point; 
GetCursorPos(&point); 
VERIFY(xpMenu.LoadMenu(IDR_MENU_DOC));    //这里是在菜单资源做的 
CMenu *menu=(CMenu*)xpMenu.GetSubMenu(0); 
UINT nEnable; 
nEnable = MF_BYCOMMAND | MF_GRAYED; 
menu->EnableMenuItem(ID_MENU_OPEN, nEnable);  
menu->EnableMenuItem(ID_MENU_ADD, nEnable); 
menu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this, NULL); 
xpMenu.DestroyMenu(); 我刚才再试过!
例子1:
同上面一样在CMainFrame::的消息处理函数里运行该段代码,菜单是不会变灰!例子2:
在CMainFrame::的消息处理函数里放置一个模态对话框,在该对话框的消息处理函数里运行该段代码,菜单就变正常了!
请问是什么原因会这样??