Mauseingabe (Tastatur- und Mauseingabe)

In diesem Abschnitt wird beschrieben, wie das System Mauseingaben für Ihre Anwendung bietet und wie die Anwendung diese Eingabe empfängt und verarbeitet.

In diesem Abschnitt

Thema BESCHREIBUNG
Informationen zur Mauseingabe
In diesem Thema wird die Mauseingabe erläutert.
Verwenden der Mauseingabe
In diesem Abschnitt werden Aufgaben behandelt, die der Mauseingabe zugeordnet sind.
Mauseingabereferenz

Functions

Name BESCHREIBUNG
_TrackMouseEvent Gibt Meldungen aus, wenn der Mauszeiger ein Fenster verlässt oder für einen angegebenen Zeitraum mit dem Mauszeiger auf ein Fenster zeigt. Diese Funktion ruft TrackMouseEvent auf, sofern vorhanden, andernfalls emuliert sie es.
DragDetect Erfasst die Maus und zeichnet ihre Bewegung auf, bis der Benutzer die linke Maustaste loslässt, die ESC-Taste drückt oder die Maus so bewegt, dass sie sich außerhalb des Ziehrechtecks um den angegebenen Punkt herum befindet. Die Breite und Höhe des Ziehrechtecks werden von den SM _ CXDRAG- und SM _ CYDRAG-Werten angegeben, die von der GetSystemMetrics-Funktion zurückgegeben werden.
EnableMouseInPointer Ermöglicht es der Maus, als zeigende Gerät zu fungieren.
GetCapture Ruft ein Handle für das Fenster ab (sofern es sich um ein Fenster gibt), das die Maus erfasst hat. Die Maus kann immer nur in einem Fenster erfasst werden. Dieses Fenster empfängt Mauseingaben, unabhängig davon, ob sich der Cursor innerhalb seiner Rahmen befindet.
GetDoubleClickTime Ruft die aktuelle Doppelklickzeit für die Maus ab. Bei einem Doppelklick handelt es sich um eine Reihe von zwei Mausklicks, bei der der zweite innerhalb eines angegebenen Zeitpunkts nach dem ersten klickt. Die Doppelklickzeit ist die maximale Anzahl von Millisekunden, die zwischen dem ersten und zweiten Klick eines Doppelklicks auftreten können.
GetMouseMovePointsEx Ruft einen Verlauf von bis zu 64 vorherigen Koordinaten der Maus oder des Stifts ab.
ReleaseCapture Gibt die Mauserfassung aus einem Fenster im aktuellen Thread frei und stellt die normale Verarbeitung der Mauseingabe wieder auf. Ein Fenster, das die Maus erfasst hat, empfängt unabhängig von der Position des Cursors alle Mauseingaben, es sei denn, es wird auf eine Maustaste geklickt, während sich der Cursor-Hotspot im Fenster eines anderen Threads befindet.
SetCapture Legt die Mauserfassung auf das angegebene Fenster fest, das zum aktuellen Thread gehört. SetCapture erfasst Mauseingaben, wenn sich der Mauszeiger über dem Erfassungsfenster befindet oder wenn die Maustaste gedrückt wurde, während sich die Maus über dem Erfassungsfenster befindet und die Schaltfläche immer noch heruntergefahren ist. Die Maus kann immer nur in einem Fenster erfasst werden.
Wenn sich der Mauszeiger über einem Fenster befindet, das von einem anderen Thread erstellt wurde, leitet das System die Mauseingabe nur dann an das angegebene Fenster weiter, wenn eine Maustaste gedrückt ist.
SetDoubleClickTime Legt die Doppelklickzeit für die Maus fest. Bei einem Doppelklick handelt es sich um eine Reihe von zwei Mausklicks, bei der der zweite innerhalb eines angegebenen Zeitpunkts nach dem ersten klickt. Die Doppelklickzeit ist die maximale Anzahl von Millisekunden, die zwischen dem ersten und zweiten Klick eines Doppelklicks auftreten können.
SwapMouseButton Kehrt die Bedeutung der linken und rechten Maustaste um oder stellt sie wieder wieder auf.
TrackMouseEvent Gibt Meldungen aus, wenn der Mauszeiger ein Fenster verlässt oder für einen angegebenen Zeitraum mit dem Mauszeiger auf ein Fenster zeigt.

Die folgende Funktion ist veraltet.

Funktion BESCHREIBUNG
_Mausereignis Synthetisiert Mausbewegungen und Schaltflächenklicks.

Benachrichtigungen

Name BESCHREIBUNG
WM _ CAPTURECHANGED Wird an das Fenster gesendet, in dem die Mausaufnahme verloren geht.
WM _ LBUTTONDBLCLK Wird veröffentlicht, wenn der Benutzer auf die linke Maustaste doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ LBUTTONDOWN Wird gepostet, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ LBUTTONUP Wird veröffentlicht, wenn der Benutzer die linke Maustaste loslässt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ MBUTTONDBLCLK Wird veröffentlicht, wenn der Benutzer auf die mittlere Maustaste doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ MBUTTONDOWN Wird gepostet, wenn der Benutzer die mittlere Maustaste drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ MBUTTONUP Wird veröffentlicht, wenn der Benutzer die mittlere Maustaste loslässt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ MOUSEACTIVATE Wird gesendet, wenn sich der Cursor in einem inaktiven Fenster befindet und der Benutzer eine Maustaste drückt. Das übergeordnete Fenster empfängt diese Meldung nur, wenn das untergeordnete Fenster sie an die DefWindowProc-Funktion übergibt.
WM _ MOUSEHOVER Wird in einem Fenster angezeigt, wenn der Cursor für den in einem vorherigen Aufruf von TrackMouseEventangegebenen Zeitraum über den Clientbereich des Fensters bewegt wird.
WM _ MOUSEHWHEEL Wird an das Fokusfenster gesendet, wenn das horizontale Scrollrad der Maus gekippt oder gedreht wird. Die DefWindowProc-Funktiongibt die Nachricht an das übergeordnete Element des Fensters weiter. Es sollte keine interne Weiterleitung der Nachricht geben, da DefWindowProc sie an die übergeordnete Kette weiterleitet, bis ein Fenster gefunden wird, das sie verarbeitet.
WM _ MOUSELEAVE Wird in einem Fenster angezeigt, wenn der Cursor den Clientbereich des Fensters verlässt, das in einem vorherigen Aufruf von TrackMouseEvent angegeben wurde.
WM _ MOUSEMOVE Wird in einem Fenster angezeigt, wenn der Cursor bewegt wird. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster gesendet, das den Cursor enthält. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ MOUSEWHEEL Wird an das Fokusfenster gesendet, wenn das Mausrad gedreht wird. Die DefWindowProc-Funktion gibt die Nachricht an das übergeordnete Element des Fensters weiter. Es sollte keine interne Weiterleitung der Nachricht erfolgen, da DefWindowProc sie in der übergeordneten Kette weiterleitet, bis sie ein Fenster findet, in dem sie verarbeitet wird.
WM _ NCHITTEST Wird an ein Fenster gesendet, um zu bestimmen, welcher Teil des Fensters einer bestimmten Bildschirmkoordinate entspricht. Dies kann z. B. auftreten, wenn der Cursor bewegt wird, wenn eine Maustaste gedrückt oder losgelassen wird oder als Reaktion auf einen Aufruf einer Funktion wie WindowFromPoint. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM _ NCLBUTTONDBLCLK Wird gesendet, wenn der Benutzer auf die linke Maustaste doppelklickt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCLBUTTONDOWN Wird gesendet, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCLBUTTONUP Wird gepostet, wenn der Benutzer die linke Maustaste freigibt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCMBUTTONDBLCLK Wird bereitgestellt, wenn der Benutzer auf die mittlere Maustaste doppelklickt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCMBUTTONDOWN Wird gesendet, wenn der Benutzer die mittlere Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCMBUTTONUP Wird gesendet, wenn der Benutzer die mittlere Maustaste freigibt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCMOUSEHOVER Wird an ein Fenster gesendet, wenn der Cursor für den Zeitraum, der in einem vorherigen Aufruf von TrackMouseEventangegeben wurde, auf den Nichtclientbereich des Fensterszeigt.
WM _ NCMOUSELEAVE Wird an ein Fenster gesendet, wenn der Cursor den Nichtclientbereich des Fensters verlässt, der in einem vorherigen Aufruf von TrackMouseEventangegeben wurde.
WM _ NCMOUSEMOVE Wird an ein Fenster gesendet, wenn der Cursor innerhalb des Nichtclientbereichs des Fensters verschoben wird. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCRBUTTONDBLCLK Wird gesendet, wenn der Benutzer mit der rechten Maustaste doppelklickt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCRBUTTONDOWN Wird gepostet, wenn der Benutzer die rechte Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCRBUTTONUP Wird gesendet, wenn der Benutzer die rechte Maustaste freigibt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCXBUTTONDBLCLK Wird gesendet, wenn der Benutzer auf die erste oder zweite X-Schaltfläche doppelklickt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCXBUTTONDOWN Wird gesendet, wenn der Benutzer die erste oder zweite X-Schaltfläche drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ NCXBUTTONUP Wird gesendet, wenn der Benutzer die erste oder zweite X-Schaltfläche freigibt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Meldung wird an das Fenster gesendet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Meldung nicht gesendet.
WM _ RBUTTONDBLCLK Wird gesendet, wenn der Benutzer mit der rechten Maustaste doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ RBUTTONDOWN Wird gepostet, wenn der Benutzer die rechte Maustaste drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ RBUTTONUP Wird gepostet, wenn der Benutzer die rechte Maustaste freigibt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ XBUTTONDBLCLK Wird gesendet, wenn der Benutzer auf die erste oder zweite X-Schaltfläche doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ XBUTTONDOWN Wird gesendet, wenn der Benutzer die erste oder zweite X-Schaltfläche drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM _ XBUTTONUP Wird gesendet, wenn der Benutzer die erste oder zweite X-Schaltfläche freigibt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung an das Fenster unterhalb des Cursors gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.

Strukturen

Name BESCHREIBUNG
MOUSEMOVEPOINT Enthält Informationen zur Position der Maus in Bildschirmkoordinaten.
TRACKMOUSEEVENT Wird von der TrackMouseEvent-Funktion verwendet, um nachzuverfolgen, wann der Mauszeiger ein Fenster verlässt oder für einen bestimmten Zeitraum auf ein Fenster zeigt.