【问题标题】:How to allow Label Font text colors in Delphi? ( Custom Styles issue )如何在 Delphi 中允许标签字体文本颜色? (自定义样式问题)
【发布时间】:2026-01-20 03:55:02
【问题描述】:

我正在尝试设置标签字体颜色,如下所示:

  • TLabel1.Font.Color := clGreen;
  • TLabel2.Font.Color := clBlue;
  • TLabel3.Font.Color := clRed;

但是当我选择自定义样式时:

  • 项目 -> 选项 -> 应用程序 -> 外观 -> 自定义样式
  • 启用“TableDark”并将其设置为“默认样式”:

然后运行程序,我得到的是这样的:

标签字体颜色变回白色(仅当我使用自定义样式之一时才会发生这种情况),但我确实需要在我的程序中打开自定义样式,并且我还希望标签的字体颜色保持彩色而不是白色的。

有没有办法解决这个问题?

【问题讨论】:

  • 这是VCL还是FMX?如果是 VCL,您是否尝试过从 TLabel.StyleElements 属性中删除 seFont 位?如果是 FMX,您是否尝试过使用 TLabel.FontColor 而不是 TLabel.Font.Color,或者从 TLabel.StyledSettings 属性中删除 FontColor 位?

标签: delphi delphi-10.3-rio vcl-styles


【解决方案1】:

Vcl 样式确定标签文本的属性(例如颜色)。然而,这可以被否决

  • 从标签StyleElements中删除seFont

  • 根据需要更改 Font 属性

在代码中,您可以例如写

  Label4.StyleElements := Label4.StyleElements - [seFont];
  Label4.Font.Color := clRed;

【讨论】: