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 |
|
Siehe auch
-
Referenz-
-
Konzeptionelle
-
andere Ressourcen