[Lazarus] Progressbar never reaches the end
frans
fjf.vanleeuwen at quicknet.nl
Fri Jan 26 11:31:05 CET 2018
Thx Bart for the reply.
But where stands Value for?
I tried a recordcounter, but that was even worse.
mvg
Frans van Leeuwen
M 06-51695390
Op 25-1-2018 om 19:36 schreef Bart via Lazarus:
> On Thu, Jan 25, 2018 at 7:27 PM, frans via Lazarus
> <lazarus at lists.lazarus-ide.org> wrote:
>> The
>> progressbar functions fine but when position=max, the progressbar visualy
>> never reaches the end.
> Thank Uncle Bill for that.
> The progressbar animates to the position you set it to.
> This takes time.
>
> If you do ProgressBar1.Position := ProgressBar1.Max and the
> (physically) wait a while, it will get to full 100%.
>
> The trick to get an immediate update is to decrement the position: no
> animation, no waiting time.
> Unfortunately this cannot be done for the 100% value.
>
> I have some code in one of my apps like this to get rid of the animation:
>
> {$ifdef windows}
> if Value > 0 then
> begin
> //trick modern Windows to draw the position at once, otherwise you
> never see the 100%
> ProgressBar.Position := Value - 1;
> ProgressBar.Repaint;
> ProgressBar.Position := Value;
> ProgressBar.Repaint;
> end;
> {$endif}
>
>
> If it bothers you, there are plenty of customdrawn progressbars out
> there (or switch of themes, to get the old behaviour back).
>
> Bart
---
Deze e-mail is gecontroleerd op virussen door AVG.
http://www.avg.com
More information about the Lazarus
mailing list