Einzelnen Beitrag anzeigen

Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Dynamisch erzeugtes Frame auf TabSheet erst nach Aktualisierung sichtbar

  Alt 10. Jan 2014, 10:58
Delphi-Version: XE5
Hallo,

ich stehe gerade vor einem Problem und weiß nicht so recht weiter:
Ich habe ein PageControl auf welchem dynamisch mehrere TabSheets erzeugt werden
Delphi-Quellcode:
for i := 0 to 6 do
begin
  FTabSheetList[i] := TTabSheet.Create(PageControl1);
  FTabSheetList[i].PageControl := PageControl1;
end;
Danach möchte ich auf jedem TabSheet ein Frame erzeugen:
Delphi-Quellcode:
if PageControl1.Pages[0].Visible then
begin
  Fxyz := TFrame.Create(self);
  Fxyz.Name := 'xyz';
  Fxyz.Parent := FTabSheetList[0];
  Fxyz.Align := alClient;
end;
Wenn ich nun das Projekt starte und das Formular mit dem PageControl öffne sehe ich das dynamisch erzeugte Frame innerhalb des TabSheets nicht. Klicke ich dann auf ein anderes Tab und wieder zurück ist es auf einmal da.

Was ich schon probiert habe:
Fxyz.Show;
Fxyz.visible;
PageControl1.ActivePage := PageControl1.Pages[0];

Es spielt auch keine Rolle, wo ich die Frames dynamisch erzeuge (ob Konstructor des Formulars oder später).
Hat hier vllt jemand eine Idee?

Ich habe dann testweise z.B. versucht nacheinander "PageControl1.ActivePage" verschiedene Seiten zuzuweisen. Hier hat er dann z.B. die "visible"-Eigenschaft der ersten Seite auf "false" gesetzt, wenn ich "PageControl1.ActivePage := PageControl1.Pages[3];" gesetzt habe. Das versteht ich auch irgendwie nicht :S

Ich hoffe mir kann jemand helfen.

Grüße
Headbucket
  Mit Zitat antworten Zitat