Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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, da DefWindowProc sie entlang der übergeordneten Fensterkette weiterleitet, 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. |