GUI-Komponenten-Positionierung



  • Hi Leute!

    Ich habe da mal eine Frage. Generell habe ich die ganze Zeit über Probleme mit der Positionierung von GUI-Komponenten. Mit dem Designer ist alles kein Problem.
    Aber wenn ich zur Laufzeit Elemente erzeuge, ist die Positionierung total willkürlich.
    Gleiches gilt, wenn Elemente temporär ausblenden muss (Visible=false). In diesem Fall arbeite ich mittlerweile schon mit Height=0, um diesen Wirrwarr zu umgehen.

    Jetzt habe ich aber folgende Situation:
    Ich erzeuge zur Laufzeit Instanzen eines von TFrame geerbten Komponente. Diese möchte ich auf einem Panel und mit "Alignment = alTop" hinzufügen. Das mache ich, indem ich einfach das Attribut Parent zuweise und das Attribut Alignment setze.

    Leider habe ich keine Kontrolle über die Reihenfolge und Positionierung. Die Reihenfolge ist jedesmal anders.
    Auf diesesn TFrame-Objekten befinden sich Zahlenwerte - defakto wäre es sehr Vorteilhaft, wenn ich die Reihenfolge vorgeben könnte.

    Muss ich hier etwa mit einem GridPanel arbeiten? Oder gibt es sonstige Möglichkeiten die Reihenfolge zu beeinflussen?

    Schöne Grüße,
    Oliver



  • Ich hatte das gleiche Problem. Ich wollte in einer ScrollBox untereinander N Panels anlegen jeweils mit Align = alTop.

    Ich musste auch recht schnell feststellen dass das so einfach nicht funktioniert.
    Ich habe dann die x und y Koordinaten der Panels dann einfach direkt festgelegt.



  • Nach meiner Erfahrung ist es so, das das letzte eingefügte Element bei fsTop immer ganz oben erscheint und die anderen demzufolge nach unten "rutschen".



  • Ja das Problem kenne ich auch.
    Ich habe dann auch die Eigenschaft "Top" nachträglich nach unten verschoben.
    "Left" muss nicht geändert werden, da ja Align auf alTop eingestellt ist.


Log in to reply