![]() |
[FMX] Font eines dynamisch erzeugten Labels
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:
Ich kann machen was ich will: Weder FontColor noch FontFamily des Labels wird berücksichtigt.
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; 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)
Delphi-Quellcode:
hat übrigens auch keine Auswirkung.
plEntry.StyleLookup := 'plItemInnerStyle1';
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. |
AW: [FMX] Font eines dynamisch erzeugtes Label
Wenn diese Attribute vom Standard-Stil abweichen sollen, musst Du diese in den Style-Settings deaktivieren...
|
AW: [FMX] Font eines dynamisch erzeugtes Label
Danke, das hat geklappt!
Hast du eine Idee für das Panel?
Delphi-Quellcode:
plEntry.StyleLookup := 'plItemInnerStyle1';
Dieser Style ist ein Style eines anderen Panels was schon zur Designzeit existiert mit einer abweichenden Hintergrundfarbe. Das dynamisch erstellte Panel übernimmt diesen Style (bzw. die Hintergrundfarbe?) allerdings nicht. |
AW: [FMX] Font eines dynamisch erzeugten Labels
Sollte aber eigentlich so funktionieren (jedenfalls hier unter Windows funktioniert Dein Beispiel). Stimmt der Name wirklich überein (die 1 und l kann man je nach Schriftart schon mal schnell verwechseln)...
Kleiner Hinweis: Statt TPanel zu verwenden, bietet es sich oft an, TRectangle zu nehmen, da man dort per Eigenschaft ".Fill" ganz einfach die Hintergrundfarbe verändern kann... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz