1、在资源视图中添加所需的右键菜单 2、选择相应的类,单文档时选中View类在属性中添加WM_CONTEXTMENU消息 3、在OnContextMenu添加如下代码 voidCMenu3View::OnContextMenu(CWnd* , CPoint point) { // TODO: 在此处添加消息处理程序代码 if(point.x == -1 && point.y == -1) { CRect rect; GetClient...
2.在资源界面中输入菜单的各个指令项的文字内容,并且设置对应的ID号 3.在对话框的类视图中,选择“属性”-“消息”,重写对消息WM_CONTEXTMENU的响应函数 选择属性 4.代码 voidCyoujiancaidanDlg::OnContextMenu(CWnd*pWnd, CPoint point) {//右击窗口时的消息处理函数CMenu menu; menu.LoadMenu(IDR_MENU1); CM...
3.在对话框的类视图中,选择“属性”-“消息”,重写对消息WM_CONTEXTMENU的响应函数 选择属性 4.代码 void CyoujiancaidanDlg::OnContextMenu(CWnd* pWnd, CPoint point) { //右击窗口时的消息处理函数 CMenu menu; menu.LoadMenu(IDR_MENU1); CMenu* pMenu; pMenu = menu.GetSubMenu(0);...
WM_CONTEXTMENU消息产生的原因不光是收到WM_RBUTTONUP,还可能是WM_NCRBUTTONUP,还可能是按下了SHIFT+F10 如果你只需要鼠标右键客户区时弹出菜单,可以只响应WM_RBUTTONUP 其他区别在于:nRButtonDown 中的参数point 是相对与窗口的左上角坐标(relative to the upper-left corner of the window.MSDN)On...
WM_CONTEXTMENU 这是标准的菜单消息:右键按下然后松开时会触发此消息。WM_RIGHTBUTTONDOWN 这是在右键按下时,当然你也可以在此处弹出菜单。不过仔细比较这2种,第一种是通用的。
1. 首先可以看一下这个右键菜单是在哪里响应的,打开FileView.cpp,里面有一个OnContextMenu响应事件,其代码如下: 代码语言:javascript 复制 voidCFileView::OnContextMenu(CWnd*pWnd,CPoint point)//右键菜单{CTreeCtrl*pWndTree=(CTreeCtrl*)&m_wndFileView;ASSERT_VALID(pWndTree);if(pWnd!=pWndTree){CDockablePane...
按钮,找到“WM_OnContextMenu”,选择add OnContextMenu方法,如图所示: void Cday10Dlg::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: 在此处添加消息处理程序代码 CMenu menu; if(!menu.LoadMenu(IDR_MENU_QUICK)) { return; } CMenu* pMenu = menu.GetSubMenu(0); ...
ON_WM_CREATE() ON_WM_SIZE() ON_WM_CONTEXTMENU() ON_COMMAND(ID_PROPERTIES, OnProperties) ON_COMMAND(ID_OPEN, OnFileOpen) ON_COMMAND(ID_OPEN_WITH, OnFileOpenWith) ON_COMMAND(ID_DUMMY_COMPILE, OnDummyCompile) ON_COMMAND(ID_EDIT_CUT, OnEditCut) ...
MSDN中的解释是这样的:DefWindowProc generates the WM_CONTEXTMENU message when it processes the WM_RBUTTONUP or WM_NCRBUTTONUP message or when the user types SHIFT+F10. The WM_CONTEXTMENU message is also generated when the user presses and releases the VK_APPS key。你要用WM_RBUTTONUP...
AfxGetMainWnd()->SendMessage(WM_SYSCOMMAND,SC_CLOSE); 6.如何创建一个弹出式菜单 以右击鼠标键为例: CMenu Menu; //创建一个弹出式菜单 Menu.CreatePopupMenu(); //添加一个菜单项 Menu.AppendMenu(0, ID_POPUP_MENU1, "菜单项&一"); //添加一个左边带复选标志的菜单项 ...