Curseur de la souris...

dbiare Messages postés 45 Date d'inscription mercredi 30 novembre 2005 Statut Membre Dernière intervention 6 janvier 2006 - 4 janv. 2006 à 09:11
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 4 janv. 2006 à 12:11
Bonjour,
Je travail sous Visual C++6. Dans mon application, j'ai une boite de dialogue et parallèlement j'ai un ?Thread? qui tourne en tache de fond.
Dans le ?Thread?, (auquel je fournis un objet comme paramètre d'entrée) je dois pouvoir faire passer le curseur de la souris (qui apparaît sur la boite de dialogue) en sablier quand j'effectue un traitement qui prend quelques secondes. Ce traitement est effectué par une méthode qui appartient à l'objet passé au ?Thread?. Le début de la méthode commence par :

CWaitCursor wait; // Curseur sablier
?..
et se termine par :
?..
wait.Restore(); // Retour

Mais cela n'a aucun effet sur le curseur ! Je pense que ceci est normal puisque cette méthode ne se trouve pas dans la classe de la boite de dialogue (enfin c'est ce que j'en déduis).
Je doit certainement récupérer un pointeur (ou quelque chose comme cela) sur la boite de dialogue puis ensuite utiliser CWaitCursor wait ; ? etc

Quelqu'un pourrait-il me dire comment je devrais faire ?
Merci

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 janv. 2006 à 12:11
en multi thread j'ai toujours trouvé + simple et radical de changer le curseur par SetClassLong sur les éléments concernés et rétablir en sortie de thread.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous