Letztendlich habe ich es dann noch manuell mit Panels gemacht. Ich habe ein paar andere Forenbeiträge gefunden, die auch ohne Antwort blieben, aber insgesamt. Die Komponente scheint nicht so bliebt zu ein. Ich habe mir dann ein eigenes Grid aus Panels gebaut. Habe es in einer vom Frame abgleiteten Komponente gemacht, der ich noch zwei Felder mitgeben und initialisiert habe; NumberPanels und Skalefaktor;
Hier der Code, falls es jemanden interessiert
Delphi-Quellcode:
function TFrame2.AddPannel: TPanel;
var
LRow : Integer;
LColumn : Integer;
MyNewPanel : TPanel;
begin
self.NumberPanels := self.NumberPanels+1;
LColumn := (Self.NumberPanels-1) mod 4;
LRow := (Trunc(((self.NumberPanels-1)/4)));
Panel1.Height := (self.Skalefaktor*LRow)+self.Skalefaktor+2;
MyNewPanel := TPanel.Create(Panel1);
MyNewPanel.Parent := Panel1;
MyNewPanel.left := self.Skalefaktor*LColumn+2;
MyNewPanel.top := self.Skalefaktor*LRow+2;
MyNewPanel.Height := self.Skalefaktor;
MyNewPanel.Width := self.Skalefaktor;
MyNewPanel.Visible := true;
MyNewPanel.Caption := IntToStr(self.NumberPanels);
Result := MyNewPanel;
end;
procedure TFrame2.DeleteAllPanels;
var
i: Integer;
panelname : string;
begin
while Panel1.ControlCount > 0 do
Panel1.Controls[0].Free;
self.NumberPanels := 0;
end;