当我将
TLabel
放在表单上时,我可以通过更改 FontColor
属性来更改其文本的颜色。然而,当我在我的程序中这样做时
Label1.FontColor := TAlphaColors.Aquamarine;
这行不通。知道出了什么问题吗?
要启用修改
TLabel
对象的字体颜色,您需要更改其 StyledSettings
属性。
它是一个定义不同设置的数组,这些设置由当前样式定义,不能通过其他方式更改。
为了能够更改字体的颜色,您必须从此数组中删除
TStyledSetting.FontColor
条目。
您可以通过编程方式完成此操作
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor];
或者从设计器中的对象检查器中,选择您的标签,进入
StyledSettings
并取消选中 FontColor
。
当前样式可以修复的其他设置有
TStyledSetting.Family
TStyledSetting.Size
TStyledSetting.Style
TStyledSetting.Other
因此,为了能够更改字体颜色和大小,您可以编写:
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor, TStyledSetting.Size];
我刚刚尝试了@NicolasDusart 的答案,发现
TLabel
似乎没有 StyledSettings
。我想这在较新版本的 Delphi 中发生了变化,我目前正在使用 Delphi Tokyo。然而,这样我就可以改变字体颜色:
Label1.StyleElements := Label1.StyleElements - [seFont];
Delphi 文档列出了
TStyleElements
作为设置:
type TStyleElements = set of (seFont, seClient, seBorder);
为 TText 控件添加 TLabel。问题解决了!
对于 FMX,我使用十六进制 (RGB) 值:
Label1.TextSetting.FontColor := $FF00FF;
我们可以通过编程方式更改 TLabel 颜色:
Label1.Font.Color := clBlue;