Question

J'écris une application d'enregistrement d'écran pour Windows en Delphi 7 et que vous souhaitez savoir quand le pointeur de la souris dans mon application (comme d'un pointeur normal à un pointeur de redimensionnement, etc).

À l'heure actuelle ce que je fais est de peindre le pointeur de la souris sur un bitmap en mémoire chaque fois que la souris se déplace (et sur une minuterie) et de faire un comparaison pixel par pixel de celui-ci avec le dernier bitmap que je peignais.

Bien que la comparaison est assez rapide (environ 2-5ms) parce qu'il se passe si souvent (tous les mouvements de la souris) il ajoute. Je me dis que il doit y avoir un moyen plus rapide et moins compliqué!

Était-ce utile?

La solution

Vous avez une poignée du curseur, à droite? Si elle est la même valeur de la poignée que vous aviez avant, alors je pense qu'il est raisonnable de supposer qu'il semble le même, aussi. Si le curseur est différent, il aura une valeur de poignée différente.

Cela devrait certainement être vrai pour les curseurs du système standard. Si l'application que vous enregistrez est la création de nouveaux curseurs pendant qu'il est en cours d'exécution, puis peut-être il serait en mesure de mettre à jour l'apparence du curseur sans faire réellement un nouvel objet curseur dans le système d'exploitation (et donc garder la même valeur de la poignée), mais je ne pense pas que ce soit probable, d'autant plus que quitte immédiatement lorsque SetCursor le curseur n'a pas changé, et je me attends la fonction API ne fait pas la comparaison graphique que vous essayez d'éviter, Soit. Il compare la juste valeur HCursor.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top