-
Actuellement je n'arrive pas à savoir quelle IDC le système choisit d'afficher (voir mon post ici). En utilisant Spy++ je n'observe aucune arrivée de message autre qu'un timer que j'ai définit pour demander un redessinement.
J'aimerai d'ailleurs limité ce redessinement au curseur de l'IDC sélectionné (contre les 14 que je me fais actuellement ... et qui plombent les perfs), d'où l'importance de savoir ce que le système affiche ou veut afficher.
Si quelqu'un à un élément de réponse, merci d'avance.
PS : si je n'ai pas été très clair n'hésitez pas à le dire, je dois pouvoir détailler un poil plus :oops:.
-
Enlevez le filtrage sur les messages dans Spy++, vous verrez énormément de MOUSEMOVE at quelque GETCURSOR/SETCURSOR dans les traces de l'espion.
-
J'ai réalisé un hook qui récupère les WM_SETCURSOR reçus par ma fenêtre (à terme il faut que je sois indépendant de la fenêtre (que je n'afficherai plus) et que je récupère tous ceux du system (est-ce seulement possible sans tout faire planter ?).
Je ne vois pas que faire de ces infos ... sachant que le hittest ne semble pas conditionner (au moins à lui seul) le choix que le system fait pour le curseur. Et même s'il le conditionne je ne vois pas comment faire la correspondance avec les IDC de façon systématique.:calim2:
-
Pour ceux que ça intéresserait (sait-on jamais :aie:), j'ai finalement réalisé un hook d'événements Windows afin de récupérer les EVENT_OBJECT_NAMECHANGE.
Ainsi en cas de changement de curseur je fais un GetCursorInfo puis je compare le HCURSOR de mon résultat (dans une boucle) avec les différents curseurs standards (renvoyés par la fonction LoadStandardCursor). J'obtiens ainsi le fameux IDC de mon curseur. :ccool: