VS2012中,为MFC程序添加右键菜单
2013-09-26 15:21
363 查看
转自:http://blog.sina.com.cn/s/blog_772c73700101kvhd.html
本文是读者在学习孙鑫的《VC++深入详解》时,对一些在VS2012与VC6.0不同地方,需要修改的代码进行整理得到的。
在VC++6.0中,在project -》addtoproject-》……之后进行选择就可以为工程添加一个单击右键弹出菜单功能,但是在VS中没有Pop-Up
Menu组件,右键菜单需要手动添加。
添加方法如下:
1、在资源视图中添加所需的右键菜单
2、选择相应的类,单文档时选中View类在属性中添加WM_CONTEXTMENU消息
3、在OnContextMenu添加如下代码
本文是读者在学习孙鑫的《VC++深入详解》时,对一些在VS2012与VC6.0不同地方,需要修改的代码进行整理得到的。
在VC++6.0中,在project -》addtoproject-》……之后进行选择就可以为工程添加一个单击右键弹出菜单功能,但是在VS中没有Pop-Up
Menu组件,右键菜单需要手动添加。
添加方法如下:
1、在资源视图中添加所需的右键菜单
2、选择相应的类,单文档时选中View类在属性中添加WM_CONTEXTMENU消息
3、在OnContextMenu添加如下代码
void CMenu3View::OnContextMenu(CWnd* , CPoint point) { // TODO: 在此处添加消息处理程序代码 if (point.x == -1 && point.y == -1) { CRect rect; GetClientRect(rect); ClientToScreen(rect); point = rect.TopLeft(); point.Offset(5, 5); } CMenu menu; VERIFY(menu.LoadMenu(CG_IDR_POPUP_TYPING_TEST_VIEW)); //CG_IDR_POPUP_TYPING_TEST_VIEW为菜单ID CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); CWnd* pWndPopupOwner = this; while (pWndPopupOwner->GetStyle() & WS_CHILD) pWndPopupOwner = pWndPopupOwner->GetParent(); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,pWndPopupOwner); }
相关文章推荐
- VS2012中,为MFC程序添加右键菜单
- VS MFC 添加右键快捷菜单 Pop-up Menu
- VS2012 MFC 单文档 模拟时钟日历程序
- MFC右键菜单的添加
- vs2013的MFC中 添加Richedit2.0控件导致程序出错或无法运行的解决方法
- 添加IE右键菜单 以 调用和运行 自己的程序或文件
- vs MFC 添加弹出菜单
- mfc在窗口中添加右键菜单
- MFC 对话框程序 添加菜单
- 将任意程序添加进右键菜单方法
- 把执行程序添加到右键菜单
- mfc使用CListCtrl添加右键菜单及双击(以默认方式)打开文件。
- 转载:VS2012开启右键菜单创建单元测试选项(Create Unit Tests) 的方法
- MFC中的CListCtrl添加右键菜单消息响应实例分析
- win7/win8右键菜单添加程序
- MFC基于对话框最小化到托盘,并鼠标右键添加菜单以及对应菜单功能
- MFC添加鼠标右键菜单
- 将程序添加到右键菜单和图标(以记事本、UltraEdit为例)
- MFC为应用程序添加托盘(右键托盘,弹出菜单)
- vs2012下mfc程序通过ado方式使用access数据库编译的程序在xp底下无法使用解决方法