作者:天亮说晚安 | 来源:互联网 | 2023-09-02 20:17
源码访问链接:gitee:https:gitee.compiaziniMFC-stugithub:https:github.compiaziniMFC-stu编译器:VC++6.
源码访问链接:
gitee: https://gitee.com/piazini/MFC-stu
github: https://github.com/piazini/MFC-stu
编译器:
VC++ 6.0 (SP6) 简体中文企业版
项目名:RMenu
( 如何新建项目 ? --> VC++60新建MFC框架程序 - 对话框程序 )
成品截图:
代码:
RMenuDlg.h
class CRMenuDlg : public CDialog
{
protected:
//右键菜单
afx_msg void On_32772(); //右键-大家好
afx_msg void On_32773(); //右键-同学好
afx_msg void On_32774(); //右键-你好
};
RMenuDlg.cpp
//注意是MAP里的参数是CRMenuDlg里填写,不是上面的CAboutDlg里填写
BEGIN_MESSAGE_MAP(CRMenuDlg, CDialog)
// 菜单栏代码需要手动添加
//菜单栏
ON_COMMAND(ID_MENUITEM32772, On_32772) //右键-大家好
ON_COMMAND(ID_MENUITEM32773, On_32773) //右键-同学好
ON_COMMAND(ID_MENUITEM32774, On_32774) //右键-你好
END_MESSAGE_MAP()
//鼠标右键弹起
void CRMenuDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//载入菜单资源IDR_MENU1
CMenu menu;
menu.LoadMenu(IDR_MENU1);
//获取菜单项里的子菜单
CMenu *pPopup = menu.GetSubMenu(NULL);
//获取鼠标点击位置
CPoint pointPos;
GetCursorPos(&pointPos);
//弹出菜单
pPopup ->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pointPos.x, pointPos.y,this);
CDialog::OnRButtonUp(nFlags, point);
}
//右键-大家好
void CRMenuDlg::On_32772()
{
MessageBox(_T("On_32772"));
}
//右键-同学好
void CRMenuDlg::On_32773()
{
MessageBox(_T("On_32773"));
}
//右键-你好
void CRMenuDlg::On_32774()
{
MessageBox(_T("On_32774"));
}
参考:
https://blog.csdn.net/weixin_43694353/article/details/84935050
黑马MFC 三天课程