WM_CONTEXTMENU Nachricht

Benachrichtigt ein Fenster, dass der Benutzer ein Kontextmenü anzeigt. 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 zum 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ü mithilfe der Funktionen TrackPopupMenu oder TrackPopupMenuEx angezeigt wird. Um die horizontalen und vertikalen Positionen abzurufen, verwenden Sie den folgenden Code.

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 Element. Andernfalls zeigt DefWindowProc ein Standardverknüpfungsmenü an, wenn sich die angegebene Position in der Beschriftung des Fensters befindet.

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

Wenn das Kontextmenü beispielsweise von der 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 anstelle von (xPos, yPos) anzeigen.

Requirements (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ßen Windows.h)

Weitere Informationen

Referenz

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

Trackpopupmenu

TrackPopupMenuEx

WM_NCRBUTTONUP

WM_RBUTTONUP

Konzept

Menüs