MFC弹出式菜单无法隐藏

在大家做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());   
}

发表评论

电子邮件地址不会被公开。