![]() |
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Guten Morgen,
ich wusste gar nicht dass man das auch mit den Delphi Komponenten machen kann. Sehr erfreulich für mich. Nun ist mir aber unter Delphi 7 aufgefallen, dass die Progressbar ein wenig flackert. Kann man das umgehen? |
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Zitat:
Delphi-Quellcode:
ProgressBar.DoubleBuffered := True;
|
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Ja, funktioniert, danke. Ich habe es vorher mit Form1.DoubleBuffered := True ausprobiert, aber das hat nicht geklappt. Müsste das aber nicht auch funktionieren?
|
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Hi,
TProgressBar wrappt das Windows CommonControl ProgressBar, somit ist es von TWinControl abgeleitet, besitzt ein eigenes Handle und ist für sich selbst verantwortlich, was das zeichnen betrifft. - Also IMHO nein. Kann aber auch sein dass ich ganz deneben liege :roll: Grüße, Lk |
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Hallo,
gleich mal zuerst, ich schäme mich zutiefst :oops: :oops: :oops: Aber ich muss es fragen, da ich momentan vor lauter Bäume keine Bäume mehr seh :oops: :oops: :oops: Mit:
Delphi-Quellcode:
schalt ich das Marquee für die Progressbar ein.
var
cs:LongInt; begin cs := GetWindowLong(ProgressBar1.Handle, GWL_STYLE); SetWindowLong(ProgressBar1.Handle, GWL_STYLE, cs Or PBS_MARQUEE); Nun dacht ich mir, mit
Delphi-Quellcode:
schalt ich es wieder aus.
var
cs:LongInt; begin cs := GetWindowLong(ProgressBar1.Handle, GWL_STYLE); SetWindowLong(ProgressBar1.Handle, GWL_STYLE, cs XOR PBS_MARQUEE); //Änderung: XOR Stimmt das - ist das so richtig? Mit so was hab ich immer mal wieder Probleme - sorry *schäm* :oops: :oops: :oops: |
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Mit xor switchst Du um (ein in aus und umgekehrt). Um zuverlässig auszuschalten, kannst Du and not nehmen.
|
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
wunderbar!
Danke für die Hilfe! |
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Wenn ich in TurboDelphi2006 Explorer Progressbar1.DoubleBuffered := True; schreib, funktioniert der Marquee-Effekt nicht mehr, ohne das DoubleBuffered flackert die Progressbar allerdings, was kann ich tun?
|
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
Zitat:
|
Re: Progresbar zur Laufzeit zur Marquee ProgressBar machen?
nix. nur den code der oben steht. sonst ist das formular leer und im sonstigen programm befindet sich auch nicht mehr
aber hier mein code:
Delphi-Quellcode:
ohne progressbar1.DoubleBuffered := True; läuft alles bestens
uses
..., xpman; procedure TForm2.FormCreate(Sender: TObject); const PBS_MARQUEE = $08; PBM_SETMARQUEE = WM_USER + 10; var cs:LongInt; begin cs := GetWindowLong(ProgressBar1.Handle, GWL_STYLE); SetWindowLong(ProgressBar1.Handle, GWL_STYLE, cs Or PBS_MARQUEE); SendMessage(ProgressBar1.Handle, PBM_SETMARQUEE, 1, 40); progressbar1.DoubleBuffered := True; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz