Freigeben über


WM_NCXBUTTONDOWN Nachricht

Veröffentlicht, wenn der Benutzer entweder XBUTTON1 oder XBUTTON2 drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht wird in das Fenster gepostet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Nachricht nicht gepostet.

Ein Fenster empfängt diese Nachricht über die WindowProc--Funktion.

#define WM_NCXBUTTONDOWN                0x00AB

Parameter

wParam-

Das Wort mit niedriger Reihenfolge gibt den Treffertestwert an, der von der DefWindowProc- Funktion aus der Verarbeitung der WM_NCHITTEST Nachricht zurückgegeben wird. Eine Liste der Treffertestwerte finden Sie unter WM_NCHITTEST. Das Wort "Hochreihenfolge" gibt an, welche Schaltfläche gedrückt wurde. Dabei kann es sich um einen der folgenden Werte handeln.

Wert Bedeutung
XBUTTON1
0x0001
Die XBUTTON1 wurde gedrückt.
XBUTTON2
0x0002
Die XBUTTON2 wurde gedrückt.

lParam-

Ein Zeiger auf eine POINTS Struktur, die die X- und Y-Koordinaten des Cursors enthält. Die Koordinaten sind relativ zur oberen linken Ecke des Bildschirms.

Rückgabewert

Wenn eine Anwendung diese Meldung verarbeitet, sollte sie TRUE-zurückgeben. Weitere Informationen zur Verarbeitung des Rückgabewerts finden Sie im Abschnitt "Hinweise".

Bemerkungen

Windows unterstützt Mäuse mit bis zu fünf Tasten: links, mittel und rechts sowie zwei zusätzliche Schaltflächen, die XBUTTON1 und XBUTTON2 genannt werden. Die schaltflächen XBUTTON1 und XBUTTON2 befinden sich häufig an den Seiten der Maus, nahe der Basis. Diese zusätzlichen Tasten sind nicht auf allen Mäusen vorhanden. Wenn vorhanden, werden die Schaltflächen XBUTTON1 und XBUTTON2 häufig einer Anwendungsfunktion zugeordnet, z. B. der Vorwärts- und Rückwärtsnavigation in einem Webbrowser.

Verwenden Sie den folgenden Code, um die Informationen im wParam--Parameter abzurufen.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

Sie können auch den folgenden Code verwenden, um die x- und y-Koordinaten aus lParam-abzurufen:

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

Wichtig

Verwenden Sie nicht die LOWORD- oder HIWORD- Makros, um die X- und Y-Koordinaten der Cursorposition zu extrahieren, da diese Makros falsche Ergebnisse auf Systemen mit mehreren Monitoren zurückgeben. Systeme mit mehreren Monitoren können negative x- und y-Koordinaten aufweisen und LOWORD- und HIWORD- die Koordinaten als nicht signierte Mengen behandeln.

Standardmäßig testet die DefWindowProc--Funktion den angegebenen Punkt, um die Position des Cursors abzurufen und die entsprechende Aktion auszuführen. Falls zutreffend, sendet sie die WM_SYSCOMMAND Nachricht an das Fenster.

Im Gegensatz zu den WM_NCLBUTTONDOWN, WM_NCMBUTTONDOWNund WM_NCRBUTTONDOWN Nachrichten sollte eine Anwendung TRUE- von dieser Nachricht zurückgeben, wenn sie verarbeitet wird. Auf diese Weise können Software, die diese Meldung auf Windows-Systemen vor Windows 2000 simuliert, ermöglichen, zu bestimmen, ob die Fensterprozedur die Nachricht verarbeitet oder DefWindowProc- verarbeitet hat.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client
Windows 2000 Professional [nur Desktop-Apps]
Mindestens unterstützter Server
Windows 2000 Server [nur Desktop-Apps]
Kopfball
Winuser.h (enthalten Windowsx.h)

Siehe auch

Referenz-

DefWindowProc-

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONUP

WM_SYSCOMMAND

Konzeptionelle

Mauseingabe-

andere Ressourcen

MAKEPOINTS-

POINTS