做一个对话框,点击鼠标右键后弹出多项菜单,请问如何实现? 不包含子菜单,其实我想做出Windows中右键弹出菜单那样的效果。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 响应OnContextMenu事件,看看传进来的参数你就知道在什么地方创建了。然后Cmenu Menu;Menu.Load...menu.Track.... OnRButtonDown() //加载"选择"右键菜单 CMenu menu; menu.LoadMenu(IDR_MENU1);//IDR_MENU1菜单ID CMenu* pPopupMenu=menu.GetSubMenu(0); CPoint pt; GetCursorPos(&pt); pPopupMenu->TrackPopupMenu(TPM_RIGHTBUTTON,pt.x,pt.y,this); //菜单弹出后销毁对象 menu.DestroyMenu(); pPopupMenu->DestroyMenu(); pPopupMenu=NULL; 先插入一菜单资源,如IDR_MENU1,在该菜单下有你想要的子菜单。然后添加CMainFrame类的消息WM_CONTEXTMENU,具体实现是:void CMainFrame::OnContextMenu(CWnd*pWnd,CPoint point){CMenu menu;menu.LoadMenu(IDR_MENU1);CMenu*popup = menu.GetSubMenu(0);popup->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);} 求助短信猫编程问题 怎么用VC创建一个FTP服务器? MFC 如何实现彩票软件在线更新开奖号码功能 上哪里找STDAPI DllUnregisterServer(void)的实现 初学者求救!!!!禁用、关闭、启用设备!!! 1分 诚征译者:《ATL Internals: Working with ATL 8 (2nd Edition)》 VC++如何在基本窗体上加入状态栏,急!! 高分请教各位大虾 如何实现单击网页上的一个连接 不用mouse_event 如何在NT上把一个进程注册为系统服务进程,象web服务等。 给分 系统发出咚的一声是什么函数?
看看传进来的参数你就知道在什么地方创建了。
然后
Cmenu Menu;
Menu.Load...
menu.Track....
//加载"选择"右键菜单
CMenu menu;
menu.LoadMenu(IDR_MENU1);//IDR_MENU1菜单ID CMenu* pPopupMenu=menu.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
pPopupMenu->TrackPopupMenu(TPM_RIGHTBUTTON,pt.x,pt.y,this);
//菜单弹出后销毁对象
menu.DestroyMenu();
pPopupMenu->DestroyMenu();
pPopupMenu=NULL;
void CMainFrame::OnContextMenu(CWnd*pWnd,CPoint point)
{
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu*popup = menu.GetSubMenu(0);
popup->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
}