【转】MFC右键显示菜单之LoadMenu()

如何在界面内单击右键弹出自己设置的菜单选项?

步骤如下:

1.在资源MENU里添加一个菜单资源,命名为IDR_POP_MENU.

2.在自己添加的菜单中添加事件,如事件1,事件2,事件3,分别添加响应事件函数.

3.在CXxxxView.cpp中添加一个Windows消息响应函数OnRButtonDown()(版本不同可能有些是OnRButtonClick之类的,大同小异)

4.在OnRButtonDown()函数内部添加代码如下:

void CXxxxView::OnRButtonDown(UINT nFlags, CPoint point)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    CMenu menu,*pSubMenu;
    menu.LoadMenu(IDR_POP_MENU);
    pSubMenu=menu.GetSubMenu(0);
    GetCursorPos(&point);//得到光标处

    pSubMenu->TrackPopupMenu(nFlags,point.x,point.y,this);//确保右键点击在哪菜单出现在哪

    CView::OnRButtonDown(nFlags, point);
}

5.保存,调试程序,结果如下:

MFC右键显示菜单之LoadMenu()

见:http://blog.sina.com.cn/s/blog_754f101201011wr3.html

原文地址:https://www.cnblogs.com/zhanjxcom/p/4433501.html