Einzelnen Beitrag anzeigen

sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

FMX "Unterkomponente"

  Alt 27. Feb 2018, 14:16
Hallo,

ich erzeuge einen Button mit darauf liegendem Label, welches oben links in der Ecke anzeigen soll:
Delphi-Quellcode:
  
  Result := TButton.Create(GridPanelLayout1);
  Result.Align := TAlignLayout.Client;
  Result.StyledSettings := [];
  lbl:=TLabel.Create(Result);
  lbl.Parent:=Result;
  lbl.Align := TAlignLayout.Client;
  lbl.TextSettings.VertAlign:=TTextalign.Leading;
  lbl.StyledSettings := [];
  lbl.TextSettings.Font.Size:=9;
  lbl.Margins.Left:=3;
  lbl.Margins.top:=3;
das funktioniert auch, aber wenn ich dann auf das Label zugreifen möchte:

Delphi-Quellcode:
    
  lbl := TLabel(btn.Children[0]);
  lbl.Text:='x';
knallt es, bei btn.Children[1] funktioniert es wie erwartet.
btn.Childrencount ist im Debugger = 2!
Wieso, ich möchte verstehen warum das eine eingebettete Control nicht über Index = 0 zu erreichen ist!

Ciao
Stefan
  Mit Zitat antworten Zitat