Bil*_*ill 6 delphi vcl-styles delphi-xe4
即使使用vcl样式,某些组件也会使用Color属性设置绘制其颜色.因此,当使用Metro深色样式(接近黑色)并将组件颜色设置为clWindow时,组件颜色与样式不匹配.有没有办法在使用vcl.style时获取表单背景颜色,以便可以将组件的颜色属性设置为匹配表单样式的背景颜色?
可以通过在样式设计器中加载样式来获取颜色,但我想在运行时获取颜色值.
RRU*_*RUZ 14
您可以使用GetSystemColor
传递正确系统颜色常量的函数来获取
例如,获取TEdit组件使用的背景颜色
TStyleManager.ActiveStyle.GetSystemColor(clWindow)
Run Code Online (Sandbox Code Playgroud)
并获取表单的默认背景颜色尝试
TStyleManager.ActiveStyle.GetSystemColor(clBtnFace)
Run Code Online (Sandbox Code Playgroud)