How to programmatically change the FontColor of a Tlabel
colors, delphi, delphi-xe5, firemonkey-fm3, label
Solution
To enable modifying font color of a `TLabel` object, you need to change its `StyledSettings` property.
It's an array defining the different settings that are defined by the current style and cannot be changed by other means.
To be able to change the color of the font, you have to remove the `TStyledSetting.FontColor` entry from this array.
You can do it programmatically with
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor];
or from the Object Inspector in the designer, select your label, go in `StyledSettings` and untick `FontColor`.
Other settings that can be fixed by the current style are
- `TStyledSetting.Family`
- `TStyledSetting.Size`
- `TStyledSetting.Style`
- `TStyledSetting.Other`
So, for being able to change the font color and the size, you would write:
Label1.StyledSettings := Label1.StyledSettings - [TStyledSetting.FontColor, TStyledSetting.Size];
Problem
When I put a `TLabel` on a form, I can change the color of its text by changing the `FontColor` property. However, when I do this in my program by ``` Label1.FontColor := TAlphaColors.Aquamarine; ``` this doesn't work. Any idea what's wrong?