Some components paint their color with the Color property setting even when vcl,styles are used. So when using a Metro dark style (nearly black) and a components color is set to clWindow the components color does not match the style. Is there a way to get the forms background color when using a vcl.style so that the color property of a component can be set to match the forms styled background color?
The color can be obtained by loading the style in the style designer, but I'd like to get the color value at runtime.
You can use the GetSystemColor
function passing the proper system color constant to get
for example to get the background color of a TEdit component use
TStyleManager.ActiveStyle.GetSystemColor(clWindow)
And to get the default background color of a form try
TStyleManager.ActiveStyle.GetSystemColor(clBtnFace)
Also you can use :
StyleServices.GetStyleColor(scWindow)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With