Delphi XE2 VCL样式无法正确绘制TabSheets

Eli*_*ssa 5 delphi delphi-xe2 vcl-styles

我正在开发一个大型delphi应用程序,其中包含一大堆遗留代码,正在转换为xe2.我正在实现vcl样式,并且大多数情况下没有问题.

但是在某些形式上,特别是在我有tpanel的地方,页面控件和标签页上,标签页有时无法正确绘制.它们显示以前在标签页所在区域中的任何图像.因此,当表单首次显示它将是我的计算机上的背景屏幕,但如果我更改选项卡,选项卡背景/标签/组件似乎重叠.

这只发生在我使用vcl样式时,如果我不应用样式,一切似乎都正常显示.

它只出现在某些选项卡上.我试图隔离可能导致此问题的特定属性或方法调用(或缺少),但我真的很挣扎,特别是考虑到此代码中调用的方法的纯大小(在某些形式中,触发的方法)选项卡更改超过1000行代码).

我去拍了一些屏幕截图来演示这种情况,但屏幕截图上的表格都是正确呈现的.这告诉我,我所看到的和实际上"存在"之间存在某种脱节.

任何建议都将非常感激.

小智 2

也许你应该使用Vcl Styles Utils来纠正 delphi 中的许多样式错误。如果我没记错的话,默认情况下 TTabSheets 的绘制是不正确的 - 除非你将它放入 TPanel/etc 中。