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 compatibles ppp. Si votre application ne prend pas en charge la résolution des problèmes, les coordonnées d’écran contenues dans les messages de pointeur et les structures associées peuvent sembler inexactes en raison de la virtualisation PPP. La virtualisation PPP fournit une prise en charge automatique de la mise à l’échelle pour les applications qui ne prennent pas en charge la résolution des problèmes de résolution et qui sont actives par défaut (les utilisateurs peuvent la désactiver). Pour plus d’informations, consultez Écriture d’applications Win32 haute résolution.

#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 qui est 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.

Notes

Étant donné que le pointeur peut entrer en contact avec 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 sur la 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 retournée

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 changer de mode ou arrêter tout commentaire à l’utilisateur lorsque le pointeur se trouve sur la surface 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 Jeu d’indicateurs Notifications envoyées à
Un pointeur pointant franchit les limites de la fenêtre. IS_POINTER_INRANGE_WPARAM Fenêtre à l’extérieur 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/uniformément jumelées WM_POINTERUP ou WM_POINTERENTER/notifications WM_POINTERLEAVE .

Si le contact est maintenu avec le numériseur d’entrée et que le pointeur se déplace à l’extérieur de la fenêtre, WM_POINTERLEAVE n’est pas généré. WM_POINTERLEAVE est généré uniquement lorsqu’un pointeur pointeur franchit les limites de la fenêtre ou qu’un contact est arrêté.

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

Configuration requise

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

Voir aussi

Messages

Référence

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM