dbiare
Messages postés45Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention 6 janvier 2006
-
4 janv. 2006 à 09:11
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 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.