Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gauge (Fortschrittsanzeige) in der StatusBar

37 views
Skip to first unread message

Roy Hascher

unread,
Sep 11, 1998, 3:00:00 AM9/11/98
to
Hallo,

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

Christian Kaufmann

unread,
Sep 11, 1998, 3:00:00 AM9/11/98
to
> 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.

Application.ProcessMessages aufrufen nach Änderung der Panels


Simon Reinhardt

unread,
Sep 11, 1998, 3:00:00 AM9/11/98
to
In der Delphi-Statusbar-Komponente ist nicht vorgesehen, daß man andere
Komponenten auf ihr plazieren kann. Enweder Du suchst Dir eine abgeleitete
Komponente, oder bastelst Dir selber eine Statusbar aus TPanels. Eine für
Dich wohl genau passende Statusbar mit zwei Panles und einer
Fortschrittanzeige findest Du auf meiner Homepage:

http://sr-soft.wtal.de/compon.htm

--

MfG
Simon

Gunar Scholz

unread,
Sep 11, 1998, 3:00:00 AM9/11/98
to
Roy Hascher wrote:
>
> 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.

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 Jungsbluth

unread,
Sep 11, 1998, 3:00:00 AM9/11/98
to
Du könntest auch mit dem Tgauge.Parent := StatusBar herumspielen, dann
bräuchtest Du keine Fremdkomponenten..


Magnus

Roy Hascher

unread,
Sep 15, 1998, 3:00:00 AM9/15/98
to
Gunar Scholz wrote:

> Bei TStatusBar musst du die ProgressBar zur Laufzeit erzeugen:

... wenn alle Probleme so schnell zu lösen wären ...

Vielen Dank nochmals!
Roy

0 new messages