Anzeigen eines Kontextmenüs

Die Funktion im folgenden Beispiel wird ein Kontextmenü angezeigt.

Die Anwendung umfasst eine Menüressource identifiziert durch die Zeichenfolge "ShortcutExample." Die Menüleiste enthält einfach einen Menünamen. Die Anwendung verwendet die TrackPopupMenu -Funktion um das Menü zugeordnete dieses Menüelement anzuzeigen. (Das Menü selbst ist nicht angezeigt, da TrackPopupMenu das Handle zu einem Menü, Untermenü oder Kontextmenü erfordert.)

VOID APIENTRY DisplayContextMenu(HWND hwnd, POINT pt) {HMENU Hmenu;            / / obersten Ebene Menü HMENU HmenuTrackPopup;  / / Kontextmenü / / Lade die Menüressource. 
 
    Wenn ((Hmenu = LoadMenu (Hinst, "ShortcutExample")) == NULL) return; 
 
    / / TrackPopupMenu kann nicht die Menüleiste also display / / Handle auf das erste Kontextmenü. 
 
    HmenuTrackPopup = GetSubMenu (Hmenu, 0); 
 
    / / Anzeigen des Kontextmenüs. Verfolgen Sie die Rechte Maustaste / / Taste. 
 
    TrackPopupMenu (HmenuTrackPopup, TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, 0, Hwnd, NULL); 
 
    / / Menü zu zerstören. 
 
    DestroyMenu(hmenu); 
} 

 

Index