Entrée de la souris

Cette section décrit comment le système fournit une entrée de souris à votre application et comment l’application reçoit et traite cette entrée.

Contenu de cette section

Rubrique Description
À propos de l’entrée de la souris
Cette rubrique traite de l’entrée de la souris.
Utilisation de l’entrée de la souris
Cette section décrit les tâches associées à l’entrée de la souris.
Informations de référence sur l’entrée de la souris

Fonctions

Nom Description
_TrackMouseEvent Publie des messages lorsque le pointeur de la souris quitte une fenêtre ou pointe sur une fenêtre pendant un laps de temps spécifié. Cette fonction appelle TrackMouseEvent s’il existe, sinon elle l’émule.
BlockInput Empêche les événements d’entrée du clavier et de la souris d’atteindre les applications.
DragDetect Capture la souris et suit ses déplacements jusqu'à ce que l'utilisateur relâche le bouton gauche, appuie sur la touche Échap ou déplace la souris en dehors du rectangle de glissement entourant le point spécifié. La largeur et la hauteur du rectangle de glissement sont spécifiées par les valeurs SM_CXDRAG et SM_CYDRAG retournées par la fonction GetSystemMetrics .
EnableMouseInPointer Permet à la souris de faire office d’appareil de pointage.
EnableWindow Active ou désactive l’entrée de la souris et du clavier dans la fenêtre ou le contrôle spécifié. Lorsque l’entrée est désactivée, la fenêtre ne reçoit pas d’entrée, comme les clics de souris et les appuis sur la touche. Lorsque l’entrée est activée, la fenêtre reçoit toutes les entrées.
GetCapture Récupère un handle dans la fenêtre (le cas échéant) qui a capturé la souris. Une seule fenêtre à la fois peut capturer la souris ; cette fenêtre reçoit l’entrée de la souris, que le curseur se trouve ou non à l’intérieur de ses bordures.
GetDoubleClickTime Récupère l’heure de double-clic actuelle de la souris. Un double-clic est une série de deux clics du bouton de la souris, le second se produisant dans un délai spécifié après le premier. Le temps de double-clic est le nombre maximal de millisecondes qui peuvent se produire entre le premier et le deuxième clic d’un double-clic.
GetMouseMovePointsEx Récupère un historique de jusqu’à 64 coordonnées précédentes de la souris ou du stylet.
IsWindowEnabled Détermine si la fenêtre spécifiée est activée pour l’entrée de la souris et du clavier.
ReleaseCapture Libère la capture de la souris à partir d’une fenêtre dans le thread actuel et restaure le traitement normal de l’entrée de la souris. Une fenêtre qui a capturé la souris reçoit toutes les entrées de la souris, quelle que soit la position du curseur, sauf lorsque l’utilisateur clique sur un bouton de la souris alors que le point actif du curseur se trouve dans la fenêtre d’un autre thread.
SendInput Synthétise les séquences de touches, les mouvements de la souris et les clics de bouton.
SetCapture Définit la capture de la souris sur la fenêtre spécifiée appartenant au thread actuel. SetCapture capture l’entrée de la souris lorsque la souris se trouve au-dessus de la fenêtre de capture ou lorsque le bouton de la souris a été appuyé alors que la souris se trouvait au-dessus de la fenêtre de capture et que le bouton est toujours en panne. Une seule fenêtre à la fois peut capturer la souris.
Si le curseur de la souris se trouve au-dessus d’une fenêtre créée par un autre thread, le système dirigera l’entrée de la souris vers la fenêtre spécifiée uniquement si un bouton de la souris est enfoncé.
SetDoubleClickTime Définit l’heure de double-clic de la souris. Un double-clic est une série de deux clics d’un bouton de souris, le second se produisant dans un délai spécifié après le premier. Le temps de double-clic est le nombre maximal de millisecondes qui peuvent se produire entre le premier et le deuxième clic d’un double-clic.
SwapMouseButton Inverse ou restaure la signification des boutons gauche et droit de la souris.
TrackMouseEvent Publie des messages lorsque le pointeur de la souris quitte une fenêtre ou pointe sur une fenêtre pendant un laps de temps spécifié.

La fonction suivante est obsolète.

Fonction Description
mouse_event Synthétise le mouvement de la souris et les clics de bouton.

Notifications

Nom Description
WM_APPCOMMAND Avertit une fenêtre que l’utilisateur a généré un événement de commande d’application, par exemple en cliquant sur un bouton de commande d’application à l’aide de la souris ou en tapant une touche de commande d’application sur le clavier.
WM_CAPTURECHANGED Envoyé à la fenêtre qui perd la capture de la souris.
WM_LBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton gauche de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_LBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton gauche de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_LBUTTONUP Publié lorsque l’utilisateur relâche le bouton gauche de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_MBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton central de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_MBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton central de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_MBUTTONUP Publié lorsque l’utilisateur relâche le bouton central de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_MOUSEACTIVATE Envoyé lorsque le curseur se trouve dans une fenêtre inactive et que l’utilisateur appuie sur un bouton de la souris. La fenêtre parente reçoit ce message uniquement si la fenêtre enfant le transmet à la fonction DefWindowProc .
WM_MOUSEHOVER Publié dans une fenêtre lorsque le curseur pointe sur la zone cliente de la fenêtre pendant la période spécifiée dans un appel précédent à TrackMouseEvent.
WM_MOUSEHWHEEL Envoyé à la fenêtre de focus lorsque la roulette de défilement horizontale de la souris est inclinée ou pivotée. La fonctionDefWindowProcpropage le message sur le parent de la fenêtre. Il ne doit pas y avoir de transfert interne du message, car DefWindowProc le propage dans la chaîne parente jusqu’à ce qu’il trouve une fenêtre qui le traite.
WM_MOUSELEAVE Publié dans une fenêtre lorsque le curseur quitte la zone cliente de la fenêtre spécifiée dans un appel précédent à TrackMouseEvent.
WM_MOUSEMOVE Publié dans une fenêtre lorsque le curseur se déplace. Si la souris n’est pas capturée, le message est publié dans la fenêtre qui contient le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_MOUSEWHEEL Envoyé à la fenêtre de focus lorsque la roulette de la souris est pivotée. La fonction DefWindowProc propage le message sur le parent de la fenêtre. Il ne doit pas y avoir de transfert interne du message, car DefWindowProc le propage dans la chaîne parente jusqu’à ce qu’il trouve une fenêtre qui le traite.
WM_NCHITTEST Envoyé à une fenêtre afin de déterminer quelle partie de la fenêtre correspond à une coordonnée d’écran particulière. Cela peut se produire, par exemple, lorsque le curseur se déplace, lorsqu’un bouton de souris est enfoncé ou relâché, ou en réponse à un appel à une fonction telle que WindowFromPoint. Si la souris n’est pas capturée, le message est envoyé à la fenêtre située sous le curseur. Sinon, le message est envoyé à la fenêtre qui a capturé la souris.
WM_NCLBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton gauche de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCLBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton gauche de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCLBUTTONUP Publié lorsque l’utilisateur relâche le bouton gauche de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCMBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton central de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCMBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton central de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCMBUTTONUP Publié lorsque l’utilisateur relâche le bouton central de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCMOUSEHOVER Publié dans une fenêtre lorsque le curseur pointe sur la zone non cliente de la fenêtre pendant la période spécifiée dans un appel précédent àTrackMouseEvent.
WM_NCMOUSELEAVE Publié dans une fenêtre lorsque le curseur quitte la zone non cliente de la fenêtre spécifiée dans un appel précédent àTrackMouseEvent.
WM_NCMOUSEMOVE Publié dans une fenêtre lorsque le curseur est déplacé dans la zone non cliente de la fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCRBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton droit de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCRBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton droit de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCRBUTTONUP Publié lorsque l’utilisateur relâche le bouton droit de la souris alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCXBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCXBUTTONDOWN Publié lorsque l’utilisateur appuie sur le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_NCXBUTTONUP Publié lorsque l’utilisateur libère le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone non client d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.
WM_RBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le bouton droit de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_RBUTTONDOWN Publié lorsque l’utilisateur appuie sur le bouton droit de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_RBUTTONUP Publié lorsque l’utilisateur relâche le bouton droit de la souris alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_XBUTTONDBLCLK Publié lorsque l’utilisateur double-clique sur le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_XBUTTONDOWN Publié lorsque l’utilisateur appuie sur le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
WM_XBUTTONUP Publié lorsque l’utilisateur libère le premier ou le deuxième bouton X alors que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.

Structures

Nom Description
HARDWAREINPUT Contient des informations sur un message simulé généré par un périphérique d’entrée autre qu’un clavier ou une souris.
ENTRÉE Contient des informations utilisées pour synthétiser des événements d’entrée tels que les séquences de touches, le mouvement de la souris et les clics de souris.
LASTINPUTINFO Contient l’heure de la dernière entrée.
MOUSEINPUT Contient des informations sur un événement de souris simulé.
MOUSEMOVEPOINT Contient des informations sur l’emplacement de la souris dans les coordonnées de l’écran.
TRACKMOUSEEVENT Utilisé par la fonction TrackMouseEvent pour suivre quand le pointeur de la souris quitte une fenêtre ou pointe sur une fenêtre pendant un laps de temps spécifié.