Freigeben über


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
Mauseingabe
In diesem Thema wird die Mauseingabe erläutert.
Verwenden von Mauseingabe
In diesem Abschnitt werden Aufgaben behandelt, die mit der Mauseingabe verbunden sind.
Mauseingabereferenz

Funktionen

Name Beschreibung
_TrackMouseEvent Postet Nachrichten, wenn der Mauszeiger ein Fenster verlässt oder über ein Fenster für einen bestimmten Zeitraum bewegt wird. Diese Funktion ruft, falls vorhanden, TrackMouseEvent auf, ansonsten emuliert sie diese.
BlockInput Verhindert, dass Tastatur- und Mauseingabeereignisse Anwendungen erreichen.
DragDetect Erfasst die Maus und verfolgt die Bewegung, bis der Benutzer die linke Taste loslässt, die ESC-TASTE drückt oder die Maus außerhalb des Ziehrechtecks um den angegebenen Punkt bewegt. 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 Zeigegerä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 Drücken von Tasten. 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 des Rahmens befindet.
GetDoubleClickTime Ruft die aktuelle Doppelklickzeit für die Maus ab. Bei einem Doppelklick handelt es sich um eine Reihe von zwei Klicks der Maustaste, die zweite, die innerhalb eines bestimmten Zeitraums nach dem ersten erfolgt. 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.
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 Mauseingabeverarbeitung wieder her. Ein Fenster, das die Maus erfasst hat, empfängt unabhängig von der Position des Cursors alle Mauseingaben, außer wenn auf eine Maustaste geklickt wird, während sich der Cursor-Hotspot im Fenster eines anderen Threads befindet.
SendInput Synthetisiert Tastenanschläge, Mausbewegungen und Tastenklicks.
SetCapture Legt die Mausaufnahme auf das angegebene Fenster fest, das zum aktuellen Thread gehört. SetCapture- erfasst mauseingaben entweder, wenn die Maus über dem Aufnahmefenster liegt, oder wenn die Maustaste gedrückt wurde, während die Maus über dem Aufnahmefenster war und die Schaltfläche noch gedrückt ist. Nur jeweils ein Fenster kann die Maus erfassen.
Wenn sich der Mauscursor über einem Fenster befindet, das von einem anderen Thread erstellt wird, 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. Ein Doppelklick ist eine Reihe von zwei Klicks einer Maustaste, die zweite, die innerhalb einer bestimmten Zeit nach der ersten erfolgt. 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 zurück oder stellt sie wieder her.
TrackMouseEvent Postet Nachrichten, wenn der Mauszeiger ein Fenster verlässt oder über ein Fenster für einen bestimmten Zeitraum bewegt wird.

Die folgende Funktion ist veraltet.

Funktion Beschreibung
mouse_event Synthetisiert Mausbewegungen und Tastenklicks.

Benachrichtigungen

Name Beschreibung
WM_APPCOMMAND Benachrichtigt ein Fenster, dass der Benutzer ein Anwendungsbefehlsereignis generiert hat, z. B. durch Klicken auf eine Anwendungsbefehlsschaltfläche mithilfe der Maus oder Eingeben einer Anwendungsbefehlstaste auf der Tastatur.
WM_CAPTURECHANGED Wird an das Fenster gesendet, das die Mauserfassung verliert.
WM_LBUTTONDBLCLK 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_LBUTTONDOWN 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_LBUTTONUP 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_MBUTTONDBLCLK 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_MBUTTONDOWN Veröffentlicht, 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_MBUTTONUP 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 im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, 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 Nachricht nur, wenn das untergeordnete Fenster sie an die DefWindowProc-Funktion übergibt.
WM_MOUSEHOVER Wird an ein Fenster gesendet, wenn der Cursor für eine gewisse in einem vorherigen Aufruf für TrackMouseEvent angegebene Zeit auf den Clientbereich eines Fensters zeigt.
WM_MOUSEHWHEEL Wird an das Fokusfenster gesendet, wenn das horizontale Mausrad gekippt oder gedreht wird Die Funktion DefWindowProc gibt die Meldung an das übergeordnete Fenster weiter. Es sollte keine interne Weiterleitung der Nachricht geben, da DefWindowProc sie entlang der übergeordneten Fensterkette weiterleitet, bis ein Fenster gefunden wird, das sie verarbeitet.
WM_MOUSELEAVE Wird in ein Fenster gepostet, wenn der Cursor den Clientbereich des Fensters verlässt, das in einem vorherigen Aufruf von TrackMouseEvent angegeben ist.
WM_MOUSEMOVE Wird in ein Fenster gepostet, wenn der Cursor verschoben wird. Wenn die Maus nicht erfasst wird, wird die Nachricht in das Fenster gepostet, das den Cursor enthält. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_MOUSEWHEEL Wird an das Fokusfenster gesendet, wenn das Mausrad gedreht wird. Die Funktion DefWindowProc gibt die Meldung an das übergeordnete Fenster weiter. Es sollte keine interne Weiterleitung der Nachricht geben, weil DefWindowProc die Nachricht die übergeordnete Fensterhierarchie hinauf propagiert, 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 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, in dem die Maus erfasst wurde.
WM_NCLBUTTONDBLCLK Veröffentlicht, wenn der Benutzer auf die linke Maustaste doppelklickt, 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.
WM_NCLBUTTONDOWN Gepostet, wenn der Benutzer die linke Maustaste drückt, während sich der Cursor innerhalb des Nichtclientbereichs 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.
WM_NCLBUTTONUP Veröffentlicht, wenn der Benutzer die linke Maustaste loslässt, 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.
WM_NCMBUTTONDBLCLK Veröffentlicht, wenn der Benutzer auf die mittlere Maustaste doppelklickt, 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.
WM_NCMBUTTONDOWN Gepostet, wenn der Benutzer die mittlere Maustaste 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.
WM_NCMBUTTONUP Veröffentlicht, wenn der Benutzer die mittlere Maustaste loslässt, 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.
WM_NCMOUSEHOVER Wird an ein Fenster gesendet, wenn der Cursor für eine gewisse in einem vorherigen Aufruf von TrackMouseEvent angegebene Zeit auf den Nicht-Clientbereich eines Fensters zeigt.
WM_NCMOUSELEAVE Wird in ein Fenster gepostet, wenn der Cursor den Nicht-Clientbereich des Fensters verlässt, das in einem vorherigen Aufruf von TrackMouseEvent angegeben ist.
WM_NCMOUSEMOVE Wird in einem Fenster bereitgestellt, wenn der Cursor innerhalb des Nicht-Clientbereichs des Fensters verschoben wird. Diese Nachricht wird in das Fenster gepostet, das den Cursor enthält. Wenn ein Fenster die Maus erfasst hat, wird diese Nachricht nicht gepostet.
WM_NCRBUTTONDBLCLK Veröffentlicht, wenn der Benutzer auf die rechte Maustaste doppelklickt, 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.
WM_NCRBUTTONDOWN Gepostet, wenn der Benutzer die rechte Maustaste 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.
WM_NCRBUTTONUP Veröffentlicht, wenn der Benutzer die rechte Maustaste loslässt, 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.
WM_NCXBUTTONDBLCLK Ausgelöst, wenn der Benutzer entweder auf XBUTTON1 oder XBUTTON2 doppelklickt, während sich der Cursor im nicht clientseitigen Bereich 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.
WM_NCXBUTTONDOWN 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.
WM_NCXBUTTONUP Veröffentlicht, wenn der Benutzer entweder XBUTTON1 oder XBUTTON2 loslässt, 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.
WM_RBUTTONDBLCLK Veröffentlicht, wenn der Benutzer auf die rechte Maustaste doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_RBUTTONDOWN 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 Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_RBUTTONUP 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 unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_XBUTTONDBLCLK Wird ausgelöst, wenn der Benutzer entweder XBUTTON1 oder XBUTTON2 doppelklickt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_XBUTTONDOWN Veröffentlicht, wenn der Benutzer entweder XBUTTON1 oder XBUTTON2 drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.
WM_XBUTTONUP Veröffentlicht, wenn der Benutzer entweder XBUTTON1 oder XBUTTON2 freigibt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht in das Fenster gepostet, in dem die Maus erfasst wurde.

Strukturen

Name Beschreibung
HARDWAREINPUT Enthält Informationen zu einer simulierten Nachricht, die von einem anderen Eingabegerät als einer Tastatur oder Maus generiert wird.
INPUT Enthält Informationen zum Synthesisieren von Eingabeereignissen wie Tastaturanschlägen, Mausbewegungen und Mausklicks.
LASTINPUTINFO Enthält die Uhrzeit 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 nachzuverfolgen, wenn der Mauszeiger ein Fenster verlässt oder über ein Fenster für einen bestimmten Zeitraum bewegt wird.