首页 > 代码库 > 【MFC】VS2013 动态创建快捷菜单(右键菜单)
【MFC】VS2013 动态创建快捷菜单(右键菜单)
参考 http://blog.csdn.net/csdnzhwk/article/details/47395639
参考 http://blog.csdn.net/jiadabin/article/details/22686161
1、创建一个基于对话框的项目
2、在资源头文件(Resource.h),定义命令ID:
#define ID_MENUCAT 1109 #define ID_MENUDOG 1110 #define ID_MENUMONKEY 1111 #define _APS_NEXT_CONTROL_VALUE 1112
3、在需要弹出快捷菜单的地方创建菜单(ParticipateMeeting.cpp)
CMenu menu; menu.CreatePopupMenu(); //创建一个弹出菜单 menu.AppendMenu(MF_BYCOMMAND | MF_STRING, ID_MENUCAT, _T("猫")); //添加子菜单项 menu.AppendMenu(MF_SEPARATOR); //分隔线 menu.AppendMenu(MF_BYCOMMAND | MF_STRING, ID_MENUDOG, _T("狗")); menu.AppendMenu(MF_BYCOMMAND | MF_STRING, ID_MENUMONKEY, _T("猴")); CPoint pt; GetCursorPos(&pt); menu.TrackPopupMenu(TPM_LEFTALIGN, pt.x, pt.y, this);
4、在对话框的头文件(ParticipateMeeting.h)中声明菜单的消息处理函数
afx_msg void OnMenuCat(); afx_msg void OnMenuDog(); afx_msg void OnMenuMonkey();
5、在对话框的源文件(ParticipateMeeting.cpp)中添加消息映射宏,将命令ID关联到消息处理函数中:
ON_COMMAND(ID_MENUCAT, OnMenuCat)
ON_COMMAND(ID_MENUDOG, OnMenuDog)
ON_COMMAND(ID_MENUMONKEY, OnMenuMonkey)
6、在对话框源文件(ParticipateMeeting.cpp)中添加消息处理函数的实现代码:
void ParticipateMeeting::OnMenuCat() { MessageBox(_T("猫菜单被按下!")); } void ParticipateMeeting::OnMenuDog() { MessageBox(_T("狗菜单被按下!")); } void ParticipateMeeting::OnMenuMonkey() { MessageBox(_T("猴菜单被按下!")); }
【MFC】VS2013 动态创建快捷菜单(右键菜单)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。