2011-03-02 3 views
0

Utilisation de VB6Barre de progression continue

Je souhaite afficher la barre de progression continue pendant l'exécution du code.

La barre de progression devrait fonctionner en continu. Une fois le processus de codage terminé, les progrès devraient être invisibles.

Comment faire un code pour la barre de progression continue

Besoin d'un code VB6 Aide

+2

Le style "chapiteau" n'a pas été introduit dans la barre de progression des contrôles communs jusqu'à la version 6 (avec Windows XP). Il est relativement simple d'utiliser ce style à partir de VB 6, tant que vous n'avez pas besoin de prendre en charge les systèmes d'exploitation plus anciens. Sinon, vous devrez probablement écrire une logique personnalisée pour gérer cela. –

Répondre

1

Ceci est difficile à faire si vous avez le code en cours d'exécution en continu, depuis VB6 est un seul thread.

J'ai essayé de le faire moi-même (en réglant la largeur d'un contrôle d'étiquette avec un arrière-plan coloré), mais l'interface graphique a tendance à ne pas dessiner. J'ai fini par diviser le travail en sections et en appelant DoEvents à la fin de chaque section. La mise à jour de l'interface graphique était plutôt grossière.

Il existe des moyens d'exécuter plusieurs threads dans VB6 - mais ils nécessitent une manipulation très soigneuse - et à partir de là, vous pourrez peut-être exécuter du code dans un thread et mettre à jour une interface graphique dans un autre.

+0

En tête, je dirais que la bonne chose à faire serait d'utiliser un contrôle 'Timer'. Sur chaque événement Tick, vous mettez à jour l'interface graphique. Beaucoup plus facile que d'essayer d'utiliser plusieurs threads dans VB 6. C'est un cauchemar; vous feriez mieux de porter l'ensemble du projet si vous avez vraiment besoin de filetage. –

+0

L'utilisation d'un contrôle 'Timer' est un jeu d'enfant si vous avez un programme entièrement piloté par un événement. Les événements de temporisation s'intercalent avec tous les autres événements. Toutefois, si vous exécutez du code en continu, TOUS les événements sont en attente jusqu'à la fin du code. – quamrana

0

Traditionnellement, nous avons utilisé le contrôle d'animation, n'est-ce pas? Je ne suis pas sûr mais je pense qu'il fonctionne sur son propre fil. Ensuite, il y a le contrôle WebBrowser qui peut être utilisé "sans chrome" affichant un GIF animé.

Même Windows Movie Maker peut être utilisé pour convertir un fichier GIF animé en AVI bien qu'il puisse avoir des limitations à cet égard. On dirait que vous pourriez facilement faire un poteau de coiffeur, "Cylon's Eye", une colonne de poussière de pixie qui tombe, ou tout autre indicateur "Je suis occupé" que vous voulez si le curseur de sablier n'est pas assez bon.

Le style de chapiteau ProgressBar de Cody Gray était une excellente suggestion.