如何以编程方式更改 Tlabel 的字体颜色

问题描述 投票:0回答:5

当我将

TLabel
放在表单上时,我可以通过更改
FontColor
属性来更改其文本的颜色。然而,当我在我的程序中这样做时

Label1.FontColor := TAlphaColors.Aquamarine;

这行不通。知道出了什么问题吗?

delphi colors label delphi-xe5 firemonkey-fm3
5个回答
9
投票

要启用修改

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];

2
投票

我刚刚尝试了@NicolasDusart 的答案,发现

TLabel
似乎没有
StyledSettings
。我想这在较新版本的 Delphi 中发生了变化,我目前正在使用 Delphi Tokyo。然而,这样我就可以改变字体颜色:

Label1.StyleElements := Label1.StyleElements - [seFont];

Delphi 文档列出了

TStyleElements
作为设置:

type TStyleElements = set of (seFont, seClient, seBorder);

Vcl.Controls.TStyleElements


1
投票

为 TText 控件添加 TLabel。问题解决了!


0
投票

对于 FMX,我使用十六进制 (RGB) 值:

Label1.TextSetting.FontColor := $FF00FF;

-1
投票

我们可以通过编程方式更改 TLabel 颜色:

Label1.Font.Color := clBlue;
© www.soinside.com 2019 - 2024. All rights reserved.