ProgressBar in StatusBar



  • Hallo,

    wie kann ich ein ProgressBar in ein StatusBar setzen?
    Bei meinem Versuch rutchte the ProgressBar immer nach unten.



  • FAQ you! (o;

    -junix



  • Thank You,

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    	StatusBar1->Parent = ProgressBar1;
    }
    

    läuft irgendwie nicht, bei dem ProgressBar wird der Fortschritt nicht mehr
    angezeigt und das StatusPanel ist verschwunden.



  • Das läuft,

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
         TProgressBar* p = new TProgressBar(StatusBar1);  //1
         p->Parent = StatusBar1; //2
         p->Height = 15;
         p->Top = 3;
         p->Position = 70;
    
    }
    

    1// Hier wird zunächst eine neue Komponente ProgessBar "p" als untergeordnete Komponente von StatusBar1 während der Laufzeit erstellt
    2// und anschliessend p in StatusBar1 sichtbar gemacht

    Was ist dann falsch bei
    ProgressBar1->Parent = StatusBar1;
    Hier habe ich zunächst ein ProgressBar1 auf meinem Formular plaziert
    (nicht zur laufzeit erstellt).
    Das funktioniert aber nicht.

    Allerdings ist das zur Laufzeit erstellte ProgressBar nur local in der Funktion
    CreateForm vorhanden, ich möchte es aber global haben.
    Versuche ich folgendes:
    #pragma resource ".dfm"
    TProgressBar
    p = new TProgressBar(StatusBar1);
    TForm1 *Form1;
    ist StatusBar1 nicht bekannt.



  • Wie in der FAQ beschrieben musst du u.U. die Koordinaten der ProgressBar (PB) an die StatusBar (SB) anpassen. Wenn die PB auf der Form Top = 50 hat dann ist es doch logisch, dass sie beim "Verschieben" auf die SB nicht mehr sichtbar ist. Schliesslich ist die SB nur 18 Pixel oder so hoch, Top = 50 ist also ausserhalb des sichtbaren Bereiches.


Anmelden zum Antworten