Функция, приведенная в следующем примере, показывает на экране контекстное меню.
Прикладная программа включает в себя ресурс меню, идентифицированный строкой "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); }