Quote Originally Posted by Jonax View Post
I think that is punishment for me being lazy and selecting the predefinded color clBitBtn instead of figuring out the hex code for the desired light gray I wanted.
There is nothing wrong about using predefined colors. You just need to use Delphi or in your case Free Pascal predefined static colors and not system defined colors. How do you know which ones are static and which defined by system?
You can find out this simply by typecasting the color value to an integer. If it is positive then it represents Delphi/Free Pascal defined static color. But if it is negative then it corresponds to a specific system defined color that can be changed on system side through UI settings or UI themes being used.

Here is a few examples:
Code:
clBlack = 0
clBtnText = -16777198
clGray = 8421504
clGrayText = -16777199
Quote Originally Posted by Jonax View Post
I have no plan for the white text right now. Got to see if there is some solution.


Not sure if this is same in FPC/Lazarus but in Delphi you change text color through Font property. Default font color is set to clBitBtnText which is a system defined color (as shown above it has negative value).