Как программно изменить 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);
Мы можем программно изменить цвет TLabel следующим образом:
Label1.Font.Color := clBlue;