#define ID_TEST1 1000001
#define ID_TEST2 1000002
#define ID_TEST3 1000003
#define ID_TEST4 1000004
void CTestMenuDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CMenu menuMain,menu1;
menuMain.CreatePopupMenu();
menu1.CreatePopupMenu();
menu1.AppendMenu(MF_STRING,ID_TEST1,_T("菜单项1"));
menu1.AppendMenu(MF_STRING,ID_TEST2,_T("菜单项2"));
menuMain.AppendMenu(MF_STRING,ID_TEST3,_T("菜单项3"));
menuMain.AppendMenu(MF_STRING,ID_TEST4,_T("菜单项4"));
menu1.InsertMenu(0,MF_BYPOSITION|MF_POPUP|MF_STRING,(UINT) menuMain.m_hMenu,_T("子菜单")); //添加子菜单
CPoint pt;
GetCursorPos(&pt);
menu1.TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this);
menuMain.DestroyMenu();
menu1.DestroyMenu();
CDialog::OnRButtonUp(nFlags, point);
}
本文介绍了一种在Windows应用程序中实现右键弹出菜单的方法。通过创建弹出菜单对象并使用TrackPopupMenu函数来显示菜单,同时展示了如何插入子菜单以增加菜单功能。
2153

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



