Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to programmatically change the FontColor of a Tlabel

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?

like image 574
Arnold Avatar asked Feb 02 '14 20:02

Arnold


2 Answers

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];
like image 129
Nicolas Dusart Avatar answered Sep 18 '22 23:09

Nicolas Dusart


Sub a TLabel for TText Control. problem solved !

like image 22
ThisGuy Avatar answered Sep 19 '22 23:09

ThisGuy