[VC++] barre de progression et bouton annuler

barre de progression et bouton annuler [VC++] - C++ - Programmation

Marsh Posté le 12-07-2003 à 20:50:24    

bonjour,
 
je développe un prog dans lequel il y a à un moment un gros calcul long, alors j'ai implémenté une DialogBox avec une barre de progression et un bouton annuler. Jusque là rien de spécial.
 
mais le pb c'est que cette boîte n'a apparement jamais de temps CPU à part pour traiter les messages que je lui envoie pour incrémenter la barre. Quand je clique sur le annuler, le click est géré après la fin du calcul. Si la fenêtre perd l'avant plan, et ne se redessine aussi que lorsque que le calcul est terminé.
 
Comment faire pour redonner un peu de temps CPU à la message box et au bouton démarrer pour éviter ce pb, quitte à perdre un peu de temps pour l'algo.
 
J'ai vaguement essayé avec des PeekMessage mais ça ne donnait rien, je les ai peut-être mal implémenté.
 
Dans les boucles où sont effectués les calculs, j'ai les HWND de la dialogbox et du bouton.
 
note : je dev sous visual c++ 6.0
 
merci.


Message édité par jesus_christ le 12-07-2003 à 21:20:36

---------------
Envie de backuper un DVD en DivX mais vous y connaissez rien ? essayez dvd-ripp : le site de Maxime
Reply

Marsh Posté le 12-07-2003 à 20:50:24   

Reply

Marsh Posté le 12-07-2003 à 21:13:26    

Utilise les threads : un pour la gui, un pour le calcul.
 
http://www.codeproject.com/threads/
http://www.codeproject.com/threads [...] hreads.asp a l'air de bien correspondre à ce que tu veux faire.

Reply

Marsh Posté le 12-07-2003 à 21:18:34    

merci je vais voir ;)


---------------
Envie de backuper un DVD en DivX mais vous y connaissez rien ? essayez dvd-ripp : le site de Maxime
Reply

Marsh Posté le 15-07-2003 à 19:45:25    

un up pour dire que ça a marché, merci youdontcare ;)


---------------
Envie de backuper un DVD en DivX mais vous y connaissez rien ? essayez dvd-ripp : le site de Maxime
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed