【转】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.保存,调试程序,结果如下:
见:http://blog.sina.com.cn/s/blog_754f101201011wr3.html