void Cmenu2View::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu *pPopup = menu.GetSubMenu(0); //获取子菜单,只有一个子菜单
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
this); //point是屏幕坐标,所以要先ClientToScreen将客户区坐标转换为屏幕坐标
CView::OnRButtonDown(nFlags, point);
}
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu *pPopup = menu.GetSubMenu(0); //获取子菜单,只有一个子菜单
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
this); //point是屏幕坐标,所以要先ClientToScreen将客户区坐标转换为屏幕坐标
CView::OnRButtonDown(nFlags, point);
}
本文介绍了一个简单的右键菜单实现方法,使用C++和MFC在Windows应用程序中创建弹出式菜单,并展示了如何加载菜单资源、获取子菜单以及跟踪弹出菜单的位置。
2999

被折叠的 条评论
为什么被折叠?



