Comment afficher du texte dynamique au curseur de la souris via C ++ / MFC dans une application Win32
Question
J'aimerais pouvoir afficher du texte dynamique à la souris l'emplacement du curseur dans une application win32, par exemple pour donner une coordonnée X, Y qui se déplacerait avec le curseur comme si elle était attachée. Je peux le faire pendant un événement mousemove à l'aide d'un appel TextOut () pour la fenêtre à la souris coordonne et invalide un rectangle autour d'une dernière position de curseur stockée pour effacer la sortie précédente. Cependant, cela peut souffrir de scintillement et causer des problèmes avec d’autres choses dessinées dans une fenêtre telle que le tracker des boites. Y at-il une meilleure façon de faire cela, peut-être en utilisant le curseur existant mécanisme de dessin / invalidation?
La solution
Vous pouvez envisager une petite fenêtre transparente que vous déplacez pour suivre la souris. En particulier, depuis Windows 2000, en couches Les fenêtres semblent être l'arme de choix (confession: aucune expérience personnelle n’est vécue là-bas).
Autres conseils
Vous pouvez le faire via les info-bulles - consultez CToolTipCtrl .
Si vous voulez des info-bulles de suivi sans scintillement, vous devez dériver vos propres classes à partir de CToolTipCtrl qui utilisent messages trackActivate .
Vous pouvez écraser OnSetCursor pour obtenir un curseur de souris dynamique. Je viens de trouver un tutoriel en allemand.