Hallo,
Ich bin ein absoluter FMX Anfänger und ich wollte hier eine Reihe von Panels mit Labels in einer Scrollbox erstellen.
Der Code dafür sieht so aus:
Delphi-Quellcode:
var plEntry: TPanel;
lbName: TLabel;
Scrollbox.BeginUpdate;
try
// Erst mal alle Controls in der Scrollbox freigeben
for i := Scrollbox.Content.ControlsCount-1 downto 0 do
Scrollbox.Content.Controls.Delete(i);
for i := 0 to AList.Count-1 do
begin
item := AList[i];
plEntry := TPanel.Create(Self);
plEntry.Parent := Scrollbox.Content;
plEntry.Align := TAlignLayout.Top;
plEntry.Height := 30;
plEntry.Padding.Rect := RectF(5,2,5,2);
plEntry.StyleLookup := 'plItemInnerStyle1'; // Funktioniert übrigens auch nicht
plEntry.Tag := NativeInt(item);
plEntry.OnClick := ClickItemEntry;
lbName := TLabel.Create(Self);
lbName.Parent := plEntry;
lbName.Align := TAlignLayout.Client;
lbName.TextSettings.Font.Family := 'Pristina';
lbName.TextSettings.FontColor := rgbName; // Eigene Farbkonstante (die auch erfolgreich an anderen stellen genutzt wird)
lbName.TextSettings.HorzAlign := TTextAlign.Leading;
lbName.TextSettings.VertAlign := TTextAlign.Center;
lbName.Tag := NativeInt(item);
lbName.Text := item.Name;
lbName.OnClick := ClickItemEntry;
end;
finally
Scrollbox.EndUpdate;
end;
Ich kann machen was ich will: Weder FontColor noch FontFamily des Labels wird berücksichtigt.
Und ich weiß nicht wo das Problem sein soll. Sowas würde in der
VCL ohne Probleme funktionieren.
Das Zuweisen des Styles (existiert schon und wird für ein anderes Item genutzt)
plEntry.StyleLookup := 'plItemInnerStyle1';
hat übrigens auch keine Auswirkung.
Ansonsten klappt der Code. Die Panels mit den Labels wird erstellt und generell klappt auch alles. Bis auf die Font vom Label und den Style des Panels.
Weiß jemand was hier los ist?
Ich teste das auf meinem Android Handy.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."