Как получить цвет фона форм с помощью VCL.Styles
Некоторые компоненты закрашивают свой цвет с помощью свойства Color, даже если используются стили vcl. Таким образом, при использовании темного стиля Metro (почти черного) и цвета компонентов установлено значение clWindow, цвет компонентов не соответствует стилю. Есть ли способ получить цвет фона форм при использовании vcl.style, чтобы можно было установить свойство цвета компонента в соответствии с цветом фона в стиле форм?
Цвет можно получить, загрузив стиль в дизайнер стилей, но я бы хотел получить значение цвета во время выполнения.
2 ответа
Вы можете использовать GetSystemColor
Функция, передающая правильную системную цветовую константу, чтобы получить
например, чтобы получить цвет фона использования компонента TEdit
TStyleManager.ActiveStyle.GetSystemColor(clWindow)
А чтобы получить цвет фона по умолчанию, попробуйте
TStyleManager.ActiveStyle.GetSystemColor(clBtnFace)
Также вы можете использовать:
StyleServices.GetStyleColor(scWindow)