VC 添加右键菜单

来源:互联网 发布:老炮儿网络剧百度云 编辑:程序博客网 时间:2024/05/24 05:19

 响应控件所在窗口的OnContextMenu(CWnd* /*pWnd*/, CPoint point)函数,在该函数中增加判断当前鼠标右击点是否在控件区域内的过程,如果判断鼠标右击点在指定控件中,则显示相应弹出菜单。这种方法实现起来简单、灵活,完整VC代码如下:

 

void CGVideoDlg::OnContextMenu(CWnd* /*pWnd*/, CPoint point){// TODO: 在此处添加消息处理程序代码CRect rect;GetDlgItem(IDC_PLAYER)->GetWindowRect(&rect);if (rect.PtInRect(point)){CMenu menu;VERIFY(menu.LoadMenuW(IDR_MENU1));CMenu *pPopup = menu.GetSubMenu(0);ASSERT(pPopup != NULL);pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON, point.x, point.y, this);}}