z.Zt. arbeite ich an einer Anwendung, die sehr langwierige Berechnungen
durchführen muß. Während dieser Berechnungen darf das Programm keine
Befehle annehmen. Dazu habe ich die Sanduhr eingeschaltet.
Wenn nun so eine Berechnung läuft (max. ca. 3 Minuten), kann es dem
Benutzer so vorkommen, als sei das Programm abgestürzt.
Um das zu vermeiden habe ich meine StatusBar mit zwei Panels versehen,
im Ersten erscheint eine Statusmeldung bzw. ein Hilfetext und im Zweiten
soll ein Balken laufen (Gauge?). Allerdings bekomme ich weder eine Gauge
noch eine ProgressBar in das Panel.
Vielen Dank für Eure Hilfe im Voraus,
Roy
Application.ProcessMessages aufrufen nach Änderung der Panels
http://sr-soft.wtal.de/compon.htm
--
MfG
Simon
Hast du eine Statusbar aus zwei einfachen Panels gebildet, oder
verwendest du TStatusBar?
Bei TStatusBar musst du die ProgressBar zur Laufzeit erzeugen:
var
pb : TProgressBar;
begin
pb := TProgressBar.Create(Form1);
pb.Parent := Form1; //es geht auch StatusBar1
pb.Top := StatusBar1.Top+3;
pb.Left := StatusBar1.Panels[0].Width+1; //Anzeige "im" zweiten Panel
pb.Width := ...
weiter mit Min, Max, Position, ...
Bei einfachen Panels sollte sich die ProgressBar ohne Probleme im Panel
unterbringen lassen.
Felix
Magnus
> Bei TStatusBar musst du die ProgressBar zur Laufzeit erzeugen:
... wenn alle Probleme so schnell zu lösen wären ...
Vielen Dank nochmals!
Roy