Freigeben über


WM_CONTEXTMENU Nachricht

Benachrichtigt ein Fenster, dass der Benutzer ein Kontextmenü anzeigen möchte. Der Benutzer hat möglicherweise auf die rechte Maustaste (mit der rechten Maustaste geklickt) im Fenster geklickt, UMSCHALT+F10 gedrückt oder die Anwendungstaste (Kontextmenütaste) gedrückt, die auf einigen Tastaturen verfügbar ist.

#define WM_CONTEXTMENU                  0x007B

Parameter

wParam

Ein Handle für das Fenster, in dem der Benutzer mit der rechten Maustaste auf die Maus geklickt hat. Dies kann ein untergeordnetes Fenster des Fensters sein, das die Nachricht empfängt. Weitere Informationen zur Verarbeitung dieser Nachricht finden Sie im Abschnitt Hinweise.

lParam

Das Wort mit niedriger Reihenfolge gibt die horizontale Position des Cursors in Bildschirmkoordinaten zum Zeitpunkt des Mausklicks an.

Das Wort mit hoher Reihenfolge gibt die vertikale Position des Cursors in Bildschirmkoordinaten zum Zeitpunkt des Mausklicks an.

Rückgabewert

Kein Rückgabewert.

Bemerkungen

Ein Fenster kann diese Nachricht verarbeiten, indem ein Kontextmenü mit den Funktionen TrackPopupMenu oder TrackPopupMenuEx angezeigt wird. Verwenden Sie den folgenden Code, um die horizontalen und vertikalen Positionen abzurufen.

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Wenn ein Fenster kein Kontextmenü anzeigt, sollte diese Nachricht an die Funktion DefWindowProc übergeben werden. Wenn ein Fenster ein untergeordnetes Fenster ist, sendet DefWindowProc die Nachricht an das übergeordnete Fenster. Andernfalls zeigt DefWindowProc ein Standard-Kontextmenü an, wenn sich die angegebene Position im Untertitel des Fensters befindet.

DefWindowProc generiert die WM_CONTEXTMENU Nachricht, wenn die WM_RBUTTONUP oder WM_NCRBUTTONUP Nachricht verarbeitet wird oder wenn der Benutzer UMSCHALT+F10 eingibt. Die WM_CONTEXTMENU Nachricht wird auch generiert, wenn der Benutzer die VK_APPS-Taste drückt und loslässt.

Wenn das Kontextmenü z. B. über die Tastatur generiert wird, wenn der Benutzer UMSCHALT+F10 eingibt, sind die x- und y-Koordinaten -1, und die Anwendung sollte das Kontextmenü an der Position der aktuellen Auswahl und nicht an (xPos, yPos) anzeigen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winuser.h (einschließlich Windows.h)

Weitere Informationen

Referenz

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

Trackpopupmenu

TrackPopupMenuEx

WM_NCRBUTTONUP

WM_RBUTTONUP

Konzept

Menüs