Bonjour,
Comment forcer l'affichage de la position d'un progressbar ?
Merci pour unr réponse rapide
Bonjour,
Comment forcer l'affichage de la position d'un progressbar ?
Merci pour unr réponse rapide
Salut
Je ne saisi pas bien ta question.
Tu souhaites rafraichir le composant après avoir modifié la valeur de la propriété Position. C'est ça ?
Dans ce cas un simple Refresh, ou Update du composant doit suffire.
Sinon les méthodes StepIt ou StepBy forcent, il me semble, le rafraichissement du composant.
@+ Claudius
Bonjour,
En fait je dispose d'un progressbar sur une Form qui appele une fonction pour laquelle je voudrai qu'elle mette à jour le progressBar du typeNota :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function CaluleQuelquechose( Machin : Integer; Bar : TProgressbar): integer; var Truc : Integer; begin for k:= 0 to Truc-1 do begin Bar.Position:= k; Bar.Refrech; // algo de la fonction end; end;
La fonction ne se trouve pas dans l'unité de la Form
Avec refresh la progressbar clignote mais ne se met pas à jour
Je titille peut être un peu mais "Truc" est bien initialisé je suppose ?
As-tu essayé Invalidate ?
Peut-être aussi que ton calcul est bloquant... met un Application.ProcessMessage, car en théorie (je ne sais pas quelle ProgressBar tu utilises...) lorsque la position d'une ProgressBar change, celle-ci se redessine automatiquement.
a+
Hi,
Après ta commande Bar.Refresh, introduit la commande Application.ProcessMessages, pour voir ce que cela donne.
JJE
D'abord je déclare dans l'unité Form
ensuite dans la fonction externe à l'unité form
Code : Sélectionner tout - Visualiser dans une fenêtre à part ProgressBar.DoubleBuffered:= true;
Avec cela j'y suis arrivé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function CaluleQuelquechose( Machin : Integer; Bar : TProgressbar): integer; var P,Size : Integer; begin Size:= 3000000;// par exemple Bar.Position:= 0; Bar.Min:= 0; Bar.Max:= Size; P:= 0; for k:= 0 to Size-1 do begin if (P mod 1000) = 0 then begin Bar.Position:= P; Bar.update; end; inc(P) // algo de la fonction end; end;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager