Bonjour,
J'ai des problèmes avec les barres de progression (parce que je suis encore au niveau débutant :p). J'ai cherché à afficher une barre de progression dans une boite de dialogue, cette barre progresse toute seule une fois qu'on clicker sur le bouton OK. Et on arrete tous si on clicke sur Cancel
Je m'expique : je suis en train d'ajouter des fonctionnalités dans un logiciel qui est developpé avec MFC visual c++ 6.0, une fonctionnalité parmi d'autre est de traiter un fichier texte (tres gros), transformer les informations récupérées depuis ce fichier et les enregistrer dans les fichiers de petit taille avec un format spécifique et ainsi ranger ces nouveaux fichiers dans différents répertoires. Etant donné la durée (tres longue) du traitement (10 minutes, meme plus des fois), j'aimerais ajouter une boite de dialogue contenant une barre de progression pour connaitre l'avancement du traitement. A partir du gros fichier texte, je lis ligne par ligne et je fais la transformation et le rangement. (Une petite détaille: le traitement va créer environ 80 répertoires et chaque répertoire contient environ 150 fichiers de taille variable de 10 à 50 ko).
J'ai pas mal cherché sur le net, et j'ai étudié aussi pas mal d'exemple mais j'arrive toujours pas faire fonctionner cette boite dialogue (et cette barre de progression).
J'ai ajouté une belle boite de dialogue avec MFC avec une barre de progression, j'ai ajouté aussi des variables membres propement. Ensuite, j'ai ajouté une classe dérivé de CProgressCrtl comme dans l'exemple GradientProgress.
Dans la fonction qui permet d'effectuer le traitement, j'ai instancié une boite de dialogue contenant la barre de progression (de nouvelle class), et dans le boucle qui permet de lire ligne par ligne, apres chaque traitement de chaque ligne, je fais un STEPIT et un SETPOS comme dans l'exemple. Hélas, rien qui marche
la boite de dialogue n'apparait meme pas !!!
J'ai lu quelque part : il faut ajouter un thread ou encore utiliser Timer, mais je comprends rien de tout ça
Si qq peut m'aider, ce sera un grand secours.
Merci d'avance.
Voici un bout de code.
Partager