在大家做MFC开发的时候,会发现弹出式菜单无法消失,必须要点击上面的Item之后才能消失。
要解决这个问题其实很简单,只需要在弹出菜单之前SetForegroundWindow()即可。
部分代码如下:
if(lParam==WM_RBUTTONDOWN){
//鼠标右键单击弹出菜单
CMenu* pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
SetForegroundWindow();
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,AfxGetMainWnd());
}
文章评论