1.在头文件定义(.h)
#define IDM_MY_MENU_1 101 //菜单ID
2.在头文件申明CMenu变量
CMenu pmenu;
3.在头文件定义函数
// Generated message map functions
//{{AFX_MSG(CxxxDlg)
afx_msg void MyMenu();//定义函数
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
4.在源文件初始化菜单(.cpp)
pmenu.CreatePopupMenu();
pmenu.AppendMenu(MF_STRING, IDM_MY_MENU_1, "&我的菜单");
5.在源文件添加需求指令
BEGIN_MESSAGE_MAP(CxxxDlg, CDialog)
//{{AFX_MSG_MAP(CxxxDlg)
ON_COMMAND(IDM_MY_MENU_1, MyMenu)//添加
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
6.在源文件添加函数
void CxxxDlg::MyMenu()
{
MessageBox("我的右键菜单测试");
}
7.相应鼠标右键按下操作
CPoint ptMenu;
GetCursorPos(&ptMenu);//鼠标点的屏幕坐标
pmenu.TrackPopupMenu(TPM_RIGHTBUTTON, ptMenu.x, ptMenu.y, this);
创建自定义右键菜单
本文详细介绍如何在C++应用程序中实现自定义右键菜单功能。步骤包括:定义菜单ID、声明并创建CMenu对象、定义及映射消息处理函数、初始化菜单、响应鼠标右键操作等。通过具体代码实例,帮助读者理解整个过程。
1749

被折叠的 条评论
为什么被折叠?



