即使使用vcl样式,某些组件也会使用Color属性设置绘制其颜色。因此,当使用Metro深色样式(接近黑色)并将组件颜色设置为clWindow时,组件颜色与样式不匹配。有没有办法在使用vcl.style时获取表单背景颜色,以便可以将组件的颜色属性设置为匹配表单样式的背景颜色?
可以通过在样式设计器中加载样式来获取颜色,但我想在运行时获取颜色值。
答案 0 :(得分:12)
您可以使用GetSystemColor
函数传递正确的系统颜色常量来获取
例如,使用
获取TEdit组件的背景颜色TStyleManager.ActiveStyle.GetSystemColor(clWindow)
要获取表单的默认背景颜色,请尝试
TStyleManager.ActiveStyle.GetSystemColor(clBtnFace)
答案 1 :(得分:0)
您也可以使用:
StyleServices.GetStyleColor(scWindow)