Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ProgressBar zur Laufzeit in zur Laufzeit erstellte StatusBar (https://www.delphipraxis.net/44935-progressbar-zur-laufzeit-zur-laufzeit-erstellte-statusbar.html)

schuetze09 27. Apr 2005 06:29


ProgressBar zur Laufzeit in zur Laufzeit erstellte StatusBar
 
Hallo,

ich erstelle zur Laufzeit eine StatusBar, außerdem will ich in die Statusbar eine zur Laufzeit erstelle Progressbar rein haben.
Wenn ich die Progressbar nicht in die Statusbar erstelle, dann funktioniert es, nur nicht, wenn die Progressbar in die Statusbar rein soll....

irgendwie will es nicht:
Delphi-Quellcode:
  // Statusbar erstellen
  STB_Edit[anzSQL]:=TStatusBar.Create(Sheet[anzSQL]);
  STB_Edit[anzSQL].Parent:=Sheet[anzSQL];
  with STB_Edit[anzSQL] do
  begin
    Align:=alBottom;
    Panels.Add;
    Panels[0].Text:='';
    Panels[0].Width:=200;
    Panels[0].Alignment:=taCenter;
    Panels.Add;
    Panels[1].Text:='';
    Panels[1].Width:=200;
    Panels.Add;
    Panels[2].Text:='';
  end;
  //ProgressBar in StatusBar erstellen
  STB_Edit[anzSQL].Perform(SB_GETRECT, 1, integer(@R));
  PROG_BAR[anzSQL]:=TProgressBar.Create(nil);
  PROG_BAR[anzSQL].Parent:=STB_Edit[anzSQL];
  PROG_BAR[anzSQL].BoundsRect:=r;
  with PROG_BAR[anzSQL] do
  begin
//    backgroundColor:=clYellow;
    position:=0;
    Visible:=True;
  end;
Jemand ne Idee???

MfG
schuetze09

Harry M. 27. Apr 2005 08:06

Re: ProgressBar zur Laufzeit in zur Laufzeit erstellte Statu
 
morgen,

im normalfall gehts so:
Delphi-Quellcode:
procedure TStringcode1.FormCreate(Sender: TObject);
begin
  Progressbar1.Parent := StatusBar1;
  Progressbar1.Top := 3;
  Progressbar1.Left := 1;
  Progressbar1.Height := StatusBar1.Height-4;
  Progressbar1.Width := 400;
end;
bei dir dürfte das dann so ausehen, bin mir aber grad nicht ganz sicher, wegen dem tiefen verständis deines codes:
Delphi-Quellcode:
 //ProgressBar in StatusBar erstellen
  PROG_BAR[anzSQL].Parent:=STB_Edit[anzSQL];
  PROG_BAR[anzSQL].Top := // deine brechnungs var
  PROG_BAR[anzSQL].Left := // deine brechnungs var
  PROG_BAR[anzSQL].Height := // deine brechnungs var
  PROG_BAR[anzSQL].Width := // deine brechnungs var
  with PROG_BAR[anzSQL] do
  begin
    { .... }
  end;

schuetze09 27. Apr 2005 08:54

Re: ProgressBar zur Laufzeit in zur Laufzeit erstellte Statu
 
@Harry M.: Hallo, ja ok, dass geht. (-:

MfG
schuetze09

schuetze09 27. Apr 2005 09:41

Re: ProgressBar zur Laufzeit in zur Laufzeit erstellte Statu
 
geht das auch etwas besser?
mir ist aufgefallen, das die größe, ect. nicht 100%-ig ist.

aus dem Grund dachte ich eigentlich, das meine Variante funktionieren müsste. Tut sie zumindest, wenn ich die Komponenten nicht zur Laufzeit erstelle.

mfg
schuetze09

Harry M. 27. Apr 2005 09:47

Re: ProgressBar zur Laufzeit in zur Laufzeit erstellte Statu
 
Zitat:

Zitat von schuetze09
mir ist aufgefallen, das die größe, ect. nicht 100%-ig ist.

Dann liegt es wohl an Deine Berechnungen für TOP, LEFT, HEIGHT, WIDTH. Versuch es mal mit Haltepunkten und Debuggen und schau ob die richtigen Werte in den Variablen stehen.

schuetze09 27. Apr 2005 10:16

Re: ProgressBar zur Laufzeit in zur Laufzeit erstellte Statu
 
OK, jetzt geht es. Ich hatte noch im OnActivate eine Scalierung drin, die hatte die ganze Sache verzehrt...

MfG
schuetze09


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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