显示快捷菜单

【勇芳软件工作室】汉化HomePreviousNext

以下示例中显示的功能显示快捷菜单。

该应用程序包括由“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);

}