Partager via


message WM_POINTERLEAVE

Envoyé à une fenêtre lorsqu’un pointeur quitte la plage de détection sur la fenêtre (pointage) ou lorsqu’un pointeur se déplace en dehors des limites de la fenêtre.

Une fenêtre reçoit ce message via sa fonction WindowProc.

! [Important]
Les applications de bureau doivent être conscientes des ppp. Si votre application n’est pas prise en charge par ppp, les coordonnées d’écran contenues dans les messages de pointeur et les structures associées peuvent sembler inexactes en raison de la virtualisation DPI. La virtualisation DPI fournit une prise en charge automatique de la mise à l’échelle pour les applications qui ne sont pas conscientes des ppp et qui sont actives par défaut (les utilisateurs peuvent le désactiver). Pour plus d’informations, consultez Écriture d’applications High-DPI Win32.

#define WM_POINTERLEAVE                 0x024A

Paramètres

wParam

Contient l’identificateur du pointeur et des informations supplémentaires. Utilisez les macros suivantes pour récupérer ces informations.

  • GET_POINTERID_WPARAM(wParam) : identificateur du pointeur.
  • IS_POINTER_INRANGE_WPARAM(wParam) : indique si ce message a été généré par un pointeur qui n’a pas quitté la plage de détection. Cet indicateur n’est pas défini lorsque le pointeur quitte la plage de détection de la fenêtre.
  • IS_POINTER_INCONTACT_WPARAM(wParam) : indicateur qui indique si ce message a été généré par un pointeur en contact. Cet indicateur n’est pas défini pour un pointeur dans la plage de détection (pointage).

lParam

Contient l’emplacement du pointeur.

Note

Étant donné que le pointeur peut contacter l’appareil sur une zone non triviale, cet emplacement de point peut être une simplification d’une zone de pointeur plus complexe. Dans la mesure du possible, une application doit utiliser les informations complètes de zone de pointeur au lieu de l’emplacement du point.

Utilisez les macros suivantes pour récupérer les coordonnées d’écran physiques du point.

Valeur de retour

Si une application traite ce message, elle doit retourner zéro.

Si l’application ne traite pas ce message, elle doit appeler DefWindowProc.

Remarques

La notification WM_POINTERLEAVE peut être utilisée par une fenêtre pour modifier le mode ou arrêter les commentaires de l’utilisateur pendant que le pointeur se trouve sur l’aire de la fenêtre.

Cette notification est envoyée uniquement à la fenêtre qui reçoit une entrée pour le pointeur. Le tableau suivant répertorie certaines des situations dans lesquelles cette notification est envoyée.

Action Indicateurs définis Notifications envoyées à
Un pointeur pointeur pointant traverse les limites de la fenêtre. IS_POINTER_INRANGE_WPARAM Fenêtre en dehors de laquelle le pointeur a été déplacé.
Un pointeur sort de la plage de détection. N/A Fenêtre pour laquelle le pointeur quitte la plage de détection.

! [Important]
Lorsqu’une fenêtre perd la capture d’un pointeur et qu’elle reçoit la notification WM_POINTERCAPTURECHANGED, elle ne reçoit généralement aucune autre notification. Pour cette raison, il est important de ne pas faire d’hypothèses basées sur des WM_POINTERDOWN/WM_POINTERUP ou des notifications WM_POINTERENTER/WM_POINTERLEAVE jumelées uniformément.

Si le contact est conservé avec le numériseur d’entrée et que le pointeur se déplace en dehors de la fenêtre, WM_POINTERLEAVE n’est pas généré. WM_POINTERLEAVE est généré uniquement lorsqu’un pointeur pointant traverse les limites de fenêtre ou qu’un contact est arrêté.

WM_POINTERLEAVE est publié dans la file d’attente de messages publiée si l’entrée provient d’un appareil de souris.

Exigences

Exigence Valeur
Client minimum pris en charge
Windows 8 [applications de bureau uniquement]
Serveur minimum pris en charge
Windows Server 2012 [applications de bureau uniquement]
En-tête
Winuser.h (include Windows.h)

Voir aussi

Messages

de référence

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM