Anchors ändern bei dynamisch erzeugter Komponente



  • Hallo Leute,

    Ich habe eine dynamisch erzeugte ProgressBar, die auf einem dynamisch erzeugten Panel sitzt. Ich habe nun versucht in meinem Code die Anchors der ProgressBar so einzustellen, dass sie sich entsprechend der Panel- Größe ändern, sobald die Panel- Größe geändert wird, also kurz es soll alles auf true stehen. Wenn ich dies nun gemacht habe und in einem Testlauf das Panel in seiner Größe ändere, verändert sich jedoch die ProgressBar nicht mit. Es könnte daran liegen, dass ich die Anchors irgendwie falsch zuweise.

    Daher meine Frage: Kann mir jemand sagen, wie ich die Anchors der ProgressBar alle auf true setze? Oder liegt es daran, dass beide Komponenten dynamisch erzeugt wurden?

    Vielen Dank,
    Euer Entertainer



  • Entertainer schrieb:

    Es könnte daran liegen, dass ich die Anchors irgendwie falsch zuweise.

    Das könnte es, und wir könnten dass ggf. auch überprüfen, wenn du uns denn zeigen würdest wie deine Zuweisung aussieht ... 😉

    Alternativ bzw. überhaupt solltest du anhand der Hilfe ermitteln, um was für einen Typ es sich bei TScrollBar::Anchors eigentlich handelt und dich anschliessend mal in der FAQ umsehen.



  • Ich habe es so versucht:

    ProgressBar->Anchors<<akLeft;
    ProgressBar->Anchors<<akRight;
    ProgressBar->Anchors<<akTop;
    ProgressBar->Anchors<<akBottom;
    

    Ich hoffe ihr findet meinen Fehler.
    Vielen Dank,
    Euer Entertainer



  • Offensichtlich hast du den 2. Teil von Jansens Posting übersehen:

    Jansen schrieb:

    [...]
    Alternativ bzw. überhaupt solltest du anhand der Hilfe ermitteln, um was für einen Typ es sich bei TScrollBar::Anchors eigentlich handelt und dich anschliessend mal in der FAQ umsehen.

    -junix



  • Das liegt bestimmt daran, dass ich TScrollBar statt TProgressbar geschrieben hatte ... 😉



  • Hallo Leute,

    Ich habe nun nach elend langem herumprobieren den Fehler gefunden.

    Meine Code sah so aus:

    ProgressBar->Left = 5;
    ProgressBar->Top = 5;
    ProgressBar->Anchors<<akLeft; 
    ProgressBar->Anchors<<akRight; 
    ProgressBar->Anchors<<akTop; 
    ProgressBar->Anchors<<akBottom;
    

    Der Fehler liegt darin, dass ich zuerst Top und Left vergeben habe und danach die Anchors. Nun sieht mein Code so aus:

    ProgressBar->Anchors<<akLeft; 
    ProgressBar->Anchors<<akRight; 
    ProgressBar->Anchors<<akTop; 
    ProgressBar->Anchors<<akBottom;
    ProgressBar->Left = 5;
    ProgressBar->Top = 5;
    

    Es funktioniert jetzt alles einwandfrei. Kann mir einer erklären, warum diese Reihenfolge derart große Auswirkungen hat???

    Vielen Dank an alle, die mir versucht haben zu helfen,
    Euer Entertainer


Anmelden zum Antworten