Mauseingabe

In diesem Abschnitt wird beschrieben, wie das System Mauseingaben für Ihre Anwendung bereitstellt 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 Sendet Nachrichten, wenn der Mauszeiger ein Fenster verlässt oder für einen bestimmten Zeitraum über ein Fenster bewegt wird. Diese Funktion ruft TrackMouseEvent auf, sofern vorhanden, andernfalls emuliert sie es.
BlockInput Verhindert, dass Tastatur- und Mauseingabeereignisse Anwendungen erreichen.
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 durch die SM_CXDRAG und SM_CYDRAG Werte angegeben, die von der GetSystemMetrics-Funktion zurückgegeben werden.
EnableMouseInPointer Ermöglicht es der Maus, als zeigendes Gerät zu fungieren.
EnableWindow Aktiviert oder deaktiviert Maus- und Tastatureingaben für das angegebene Fenster oder Steuerelement. Wenn die Eingabe deaktiviert ist, empfängt das Fenster keine Eingaben, z. B. Mausklicks und Tastendrücke. Wenn die Eingabe aktiviert ist, empfängt das Fenster alle Eingaben.
GetCapture Ruft ein Handle für das Fenster (falls vorhanden) ab, das die Maus erfasst hat. Nur jeweils ein Fenster kann die Maus erfassen. Dieses Fenster empfängt Mauseingaben, unabhängig davon, ob sich der Cursor innerhalb seiner Rahmen befindet oder nicht.
GetDoubleClickTime Ruft die aktuelle Doppelklickzeit für die Maus ab. Ein Doppelklick ist eine Reihe von zwei Klicks der Maustaste, der zweite innerhalb einer angegebenen Zeit nach dem ersten. Die Doppelklickzeit ist die maximale Anzahl von Millisekunden, die zwischen dem ersten und dem zweiten Klick eines Doppelklicks auftreten können.
GetMouseMovePointsEx Ruft einen Verlauf von bis zu 64 vorherigen Koordinaten der Maus oder des Stifts ab.
IsWindowEnabled Bestimmt, ob das angegebene Fenster für Maus- und Tastatureingaben aktiviert ist.
ReleaseCapture Gibt die Mausaufnahme aus einem Fenster im aktuellen Thread frei und stellt die normale Verarbeitung der Mauseingabe wieder her. Ein Fenster, das die Maus erfasst hat, empfängt alle Mauseingaben, unabhängig von der Position des Cursors, außer wenn auf eine Maustaste geklickt wird, während sich der Cursor hot spot im Fenster eines anderen Threads befindet.
SendInput Synthetisiert Tastenanschläge, Mausbewegungen und Schaltflächenklicks.
SetCapture Legt die Mausaufnahme auf das angegebene Fenster fest, das zum aktuellen Thread gehört. SetCapture erfasst mauseingaben, wenn sich die Maus über dem Aufnahmefenster befindet oder wenn die Maustaste gedrückt wurde, während sich die Maus über dem Aufnahmefenster befand und die Schaltfläche immer noch ausgefallen ist. Nur jeweils ein Fenster kann die Maus erfassen.
Wenn sich der Mauscursor ü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 ausgefallen ist.
SetDoubleClickTime Legt die Doppelklickzeit für die Maus fest. Bei einem Doppelklick handelt es sich um eine Reihe von zwei Klicks einer Maustaste, der zweite klickt innerhalb einer angegebenen Zeit nach dem ersten. Die Doppelklickzeit ist die maximale Anzahl von Millisekunden, die zwischen dem ersten und dem zweiten Klick eines Doppelklicks auftreten kann.
SwapMouseButton Kehrt die Bedeutung der linken und rechten Maustasten um oder stellt sie wieder her.
TrackMouseEvent Sendet Nachrichten, wenn der Mauszeiger ein Fenster verlässt oder für einen bestimmten Zeitraum über ein Fenster bewegt wird.

Die folgende Funktion ist veraltet.

Funktion Beschreibung
mouse_event Synthetisiert Mausbewegungen und Schaltflächenklicks.

Benachrichtigungen

Name Beschreibung
WM_APPCOMMAND Benachrichtigt ein Fenster, dass der Benutzer ein Anwendungsbefehlsereignis generiert hat, z. B. indem er mit der Maus auf eine Anwendungsbefehlsschaltfläche klickt oder eine Anwendungsbefehlstaste auf der Tastatur eingibt.
WM_CAPTURECHANGED Wird an das Fenster gesendet, in dem die Mausaufnahme verloren geht.
WM_LBUTTONDBLCLK Wird bereitgestellt, wenn der Benutzer auf die linke Maustaste doppelklicken, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM_LBUTTONDOWN Wird bereitgestellt, 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 Meldung im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM_LBUTTONUP Wird bereitgestellt, 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 Meldung im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM_MBUTTONDBLCLK Wird bereitgestellt, wenn der Benutzer auf die mittlere Maustaste doppelklicken, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Meldung im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM_MBUTTONDOWN Wird bereitgestellt, 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 Meldung im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.
WM_MBUTTONUP Wird bereitgestellt, 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 Meldung im 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 ein Fenster gesendet, wenn der Cursor für den in einem vorherigen Aufruf von TrackMouseEvent angegebenen Zeitraum über den Clientbereich des Fensters bewegt wird.
WM_MOUSEHWHEEL Wird an das Fokusfenster gesendet, wenn das horizontale Scrollrad der Maus gekippt oder gedreht ist. DieDefWindowProc-Funktiongibt die Nachricht an das übergeordnete Fenster weiter. Es sollte keine interne Weiterleitung der Nachricht geben, da DefWindowProc sie in der übergeordneten Kette weitergibt, bis ein Fenster gefunden wird, das sie verarbeitet.
WM_MOUSELEAVE Wird in ein Fenster gesendet, 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 sich der Cursor bewegt. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster mit dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_MOUSEWHEEL Wird an das Fokusfenster gesendet, wenn das Mausrad gedreht wird. Die DefWindowProc-Funktion gibt die Nachricht an das übergeordnete Fenster weiter. Es sollte keine interne Weiterleitung der Nachricht geben, da DefWindowProc sie in der übergeordneten Kette weitergibt, bis ein Fenster gefunden wird, das sie verarbeitet.
WM_NCHITTEST Wird an ein Fenster gesendet, um zu bestimmen, welcher Teil des Fensters einer bestimmten Bildschirmkoordinate entspricht. Dies kann beispielsweise passieren, wenn sich der Cursor bewegt, 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 unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_NCLBUTTONDBLCLK Wird veröffentlicht, wenn der Benutzer auf die linke Maustaste doppelklicken, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die linke Maustaste loslässt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer auf die mittlere Maustaste doppelklicken, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die mittlere Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die mittlere Maustaste loslässt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 in ein Fenster gesendet, wenn der Cursor über den Nichtclientbereich des Fensters für den Zeitraum bewegt wird, der in einem vorherigen Aufruf vonTrackMouseEvent angegeben wurde.
WM_NCMOUSELEAVE Wird in ein Fenster gesendet, wenn der Cursor den Nichtclientbereich des Fensters verlässt, das in einem vorherigen Aufruf vonTrackMouseEvent angegeben wurde.
WM_NCMOUSEMOVE Wird in ein Fenster gesendet, wenn der Cursor innerhalb des Nichtclientbereichs des Fensters verschoben wird. Diese Nachricht 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 veröffentlicht, wenn der Benutzer mit der rechten Maustaste doppeltlickt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die rechte Maustaste drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die rechte Maustaste loslässt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer auf die erste oder zweite Schaltfläche "X" doppelklicken, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die erste oder zweite X-Schaltfläche drückt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer die erste oder zweite X-Schaltfläche freigibt, während sich der Cursor im Nichtclientbereich eines Fensters befindet. Diese Nachricht 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 veröffentlicht, wenn der Benutzer auf die rechte Maustaste doppelklicken, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_RBUTTONDOWN Wird veröffentlicht, 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 Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_RBUTTONUP Wird veröffentlicht, wenn der Benutzer die rechte Maustaste loslässt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_XBUTTONDBLCLK Wird veröffentlicht, wenn der Benutzer auf die erste oder zweite Schaltfläche "X" doppelklicken, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_XBUTTONDOWN Wird veröffentlicht, 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 Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
WM_XBUTTONUP Wird veröffentlicht, 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 Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.

Strukturen

Name Beschreibung
HARDWAREINPUT Enthält Informationen zu einer simulierten Nachricht, die von einem anderen Eingabegerät als einer Tastatur oder Maus generiert wird.
EINGABE Enthält Informationen zum Synthetisieren von Eingabeereignissen wie Tastenanschlägen, Mausbewegungen und Mausklicks.
LASTINPUTINFO Enthält den Zeitpunkt der letzten Eingabe.
MOUSEINPUT Enthält Informationen zu einem simulierten Mausereignis.
MOUSEMOVEPOINT Enthält Informationen zur Position der Maus in Bildschirmkoordinaten.
TRACKMOUSEEVENT Wird von der TrackMouseEvent-Funktion verwendet, um zu verfolgen, wann der Mauszeiger ein Fenster verlässt oder für eine bestimmte Zeit über ein Fenster bewegt.