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

时间:2014-02-02 20:08:19

标签: delphi colors label delphi-xe5 firemonkey-fm3

当我在表单上放置TLabel时,我可以通过更改FontColor属性来更改其文本的颜色。但是,当我在我的程序中执行此操作时

Label1.FontColor := TAlphaColors.Aquamarine;

这不起作用。知道什么是错的吗?

4 个答案:

答案 0 :(得分:3)

要启用修改TLabel对象的字体颜色,您需要更改其StyledSettings属性。

它是一个数组,用于定义当前样式定义的不同设置,不能通过其他方式更改。

为了能够更改字体的颜色,您必须从此数组中删除TStyledSetting.FontColor条目。

您可以使用

以编程方式执行此操作
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor];

或从设计器中的Object Inspector中选择您的标签,进入StyledSettings并取消选中FontColor

当前样式可以修复的其他设置是

  • TStyledSetting.Family
  • TStyledSetting.Size
  • TStyledSetting.Style
  • TStyledSetting.Other

因此,为了能够更改字体颜色和大小,您可以写:

Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor, TStyledSetting.Size];

答案 1 :(得分:1)

为文本控件提供一个标签。问题解决了!

答案 2 :(得分:0)

我刚试过@NicolasDusart的回答,发现TLabel似乎没有StyledSettings。我想这在Delphi的新版本中有所改变,我目前正在使用Delphi Tokyo。但是通过这个我能够改变字体颜色:

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

Delphi文档列出了TStyleElements,如下所示:

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

Vcl.Controls.TStyleElements

答案 3 :(得分:0)

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

Label1.Font.Color := clBlue;