Как программно изменить FontColor Tlabel

Когда я ставлю TLabel в форме, я могу изменить цвет ее текста, изменив FontColor имущество. Тем не менее, когда я делаю это в моей программе

Label1.FontColor := TAlphaColors.Aquamarine;

это не работает Есть идеи, что случилось?

4 ответа

Чтобы включить изменение цвета шрифта 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);

Vcl.Controls.TStyleElements

Sub TLabel для управления TText. задача решена!

Мы можем программно изменить цвет TLabel следующим образом:

      Label1.Font.Color := clBlue;
Другие вопросы по тегам