以下示例中显示的功能显示快捷菜单。
该应用程序包括由“ShortcutExample”字符串标识的菜单资源。菜单栏只包含菜单名称。应用程序使用TrackPopupMenu功能显示与此菜单项相关联的菜单。(菜单栏本身不会显示,因为TrackPopupMenu需要菜单,子菜单或快捷菜单的句柄。)
VOID APIENTRY DisplayContextMenu(HWND hwnd,POINT pt)
{
HMENU hmenu; //顶级菜单
HMENU hmenuTrackPopup; //快捷菜单
//加载菜单资源。
if ((hmenu = LoadMenu(hinst, "ShortcutExample")) == NULL)
return;
// TrackPopupMenu无法显示菜单栏
//第一个快捷菜单的句柄。
hmenuTrackPopup = GetSubMenu(hmenu, 0);
//显示快捷菜单。跟踪鼠标右键
//按钮。
TrackPopupMenu(hmenuTrackPopup,
TPM_LEFTALIGN | TPM_RIGHTBUTTON,
pt.x, pt.y, 0, hwnd, NULL);
//销毁菜单
DestroyMenu(hmenu);
}