1

我从 Delphi VCL 样式开始,我发现使用 'Project | 应用预定义样式非常容易。选项”,然后是“应用程序 | 外貌'。

这些样式自然会影响应用程序的整体外观和感觉。我想保留默认的 Windows 样式(我正在使用“启用运行时主题”),但我想更改 TPageControl 显示的默认白色背景。我遇到了这篇关于创建彩色页面控制选项卡的优秀文章,它展示了如何覆盖选项卡的颜色,但它似乎仅在加载样式时适用。

我的问题是如何(是否?)我可以在不加载样式文件的情况下使用 TStyleServices 来仅获取 TTabSheet 组件并设置颜色?

(是的,我知道还有许多其他可用的 TPageControl 替代品,我想坚持使用标准控件)。

4

1 回答 1

2

即使 Windows 原生样式处于活动状态,您也可以随时访问已加载的 VCL 样式的元素(颜色、图像)。

var
  LStyleServices : TCustomStyleServices;
begin
  LStyleServices:=TStyleManager.Style['AnyLoadedVclStyle'];
  //draw with the LStyleServices 
  ....       
end;

但是,只有选择自定义样式时,只有您才能使用VCL样式钩绘制控件。

于 2015-09-10T13:54:23.870 回答