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);