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/)
-   -   TGridPanel - Colums und Rows zur Laufzeit erzeugen (https://www.delphipraxis.net/155060-tgridpanel-colums-und-rows-zur-laufzeit-erzeugen.html)

bwolf 6. Okt 2010 17:40

TGridPanel - Colums und Rows zur Laufzeit erzeugen
 
Hi Leute,
ich will zur Laufzeit die Columns und Rows eines TGridPanels dynamisch erzeugen, aber das klappt nicht so ganz.
Ich möchte einfach ein GridPanel mit 2 Spalten und 2 Zeilen haben - also 4 Felder.
Diese sollen alle die gleiche Größe haben - also als SizeStyle ssPercent und als Value = 50.

Ich versuche das wie folgt:

Code:
// Erstellen der Spalten und Zeilen
procedure TForm1.Button1Click(Sender: TObject);
begin
 GridPanel1.ColumnCollection.Add;
 GridPanel1.ColumnCollection.Add;
  GridPanel1.ColumnCollection.BeginUpdate;
    GridPanel1.ColumnCollection[0].SizeStyle := ssPercent;
    GridPanel1.ColumnCollection[0].Value := 50;
    GridPanel1.ColumnCollection[1].SizeStyle := ssPercent;
    GridPanel1.ColumnCollection[1].Value := 50;
  GridPanel1.ColumnCollection.EndUpdate;


  GridPanel1.RowCollection.Add;
  GridPanel1.RowCollection.Add;
  GridPanel1.RowCollection.BeginUpdate;
    GridPanel1.RowCollection[0].SizeStyle := ssPercent;
    GridPanel1.RowCollection[0].Value := 50;
    GridPanel1.RowCollection[1].SizeStyle := ssPercent;
    GridPanel1.RowCollection[1].Value := 50;
  GridPanel1.RowCollection.EndUpdate;
end;


// Hinzufügen der Panels, 1 pro Buttonklick
procedure TForm1.Button2Click(Sender: TObject);
var
  p : TPanel;
begin
  p := TPanel.Create(self);
  p.Parent := GridPanel1;
  p.Align := alClient;
  GridPanel1.ControlCollection.AddControl(p);
end;
Kann mir einer sagen was ich falsch mache?
Danke!

bwolf 6. Okt 2010 18:01

AW: TGridPanel - Colums und Rows zur Laufzeit erzeugen
 
Argh, ich habs jetzt.
Obwohl ich die ColumnCollection und die RowCollection zur Designzeit geleert habe, hatte diese zur Laufzeit immer noch die 2 Rows und Colums die es enthält, wenn man das Control zum ersten mal auf die Form zieht.
Seltsames...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz