语言: VC++, IDE: VS2017
一、创建右键菜单
1.在资源试图中,添加一个Menu资源,ID命名为IDR_MENU_POP,并添加两个子菜单ID_SUB_MENU1、ID_SUB_MENU2
2.在类视图中,为需要添加右键菜单的对话框或者控件类添加WM_RBUTTONUP消息响应OnRButtonUp,并添加代码:
CMenu menu;
menu.LoadMenu(IDR_MENU_POP);
CMenu *pPopup = menu.GetSubMenu(0);
CPoint pointPos;
GetCursorPos(&pointPos);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pointPos.x, pointPos.y, this);
二、选中右键子菜单
选中子菜单1,同样在OnRButtonUp中,“CMenu *pPopup = menu.GetSubMenu(0);”之后,增加代码:
if (1/*控制是否需要选中的条件根据需要修改*/)
{
pPopup->CheckMenuItem(ID_SUB_MENU1, MF_CHECKED);
}
运行效果: