Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#2

AW: Verändern/Durchsetzen der Reihenfolge von Kompenten mit Alignments in Firemonkey

  Alt 10. Okt 2022, 15:33
Du meinst während Runtime ?
Das mache ich eher selten.

Normalerweise geht es mit "Nacheinander Align = MostTop und wieder Align = Top" ganz gut.
Oder mit Bottom/Top, ich baue da immer eine kleine Entkopplung ein damit es sich ordentlich aufbaut, so in der Art:
Delphi-Quellcode:
procedure MyForm:ReOrder;
begin
  Button1.Align := Bottom;
  Button1.Visible := False;
  Button2.Align := Bottom;
  Button2.Visible := False;
  Button3.Align := Bottom;
  Button3.Visible := False;

  TThread.ForceQueue(
      nil,
      procedure
      begin
          Button1.Visible := True;
          Button1.Align := Top;
          Button2.Visible := True;
          Button2.Align := Top;
          Button3.Visible := True;
          Button3.Align := Top;
      end );

end;

Es gäbe aber auch andere Möglichkeiten, z.B. die Buttons in einzelne TLayouts mit AlignLayout := Top; zu werfen, welche dann die Reihenfolge beibehalten.
Dann könnten die Buttons Visible := True/False geschaltet werden und gleichzeitig die Layouts.Height := 0 oder 80;
Bin momentan nicht ganz sicher ob Layout1.Height := 0.0; geht, oder ob es := 1; sein sollte, ich meine aber auch mit 0 sollte es gehen.
  Mit Zitat antworten Zitat