Могу ли я использовать новые стили Delphi VCL, чтобы просто покрасить определенный объект (TPageControl) в одиночку?
Я начинаю со стилей Delphi VCL и вижу, что очень легко применить предопределенный стиль, используя "Project | Параметры "и затем" Приложение | Внешность'.
Естественно, эти стили влияют на весь внешний вид приложения. Я хотел бы сохранить стиль Windows по умолчанию (я использую "Темы выполнения включены"), но я хочу изменить белый фон по умолчанию, показанный TPageControl. Я наткнулся на эту прекрасную статью о создании красочных вкладок управления страницами, в которой показано, как переопределить цвет вкладок, но, похоже, он применяется только при загрузке стиля.
Мой вопрос заключается в том, как (можно ли?) Использовать TStyleServices без загрузки файла стиля, чтобы получить только компоненты TTabSheet и установить цвет?
(И да, я знаю, что есть ряд других замен TPageControl, я хочу придерживаться стандартных элементов управления).
1 ответ
Вы можете получить доступ к элементам (цветам, изображениям) загруженных стилей VCL в любое время, даже если активен собственный стиль Windows.
var
LStyleServices : TCustomStyleServices;
begin
LStyleServices:=TStyleManager.Style['AnyLoadedVclStyle'];
//draw with the LStyleServices
....
end;
Но только вы можете использовать крючки Vcl Style для рисования элементов управления, когда выбран собственный стиль.