Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delphi XE2 VCL styles not drawing TabSheets correctly

I am working on a large delphi application with a tonne of legacy code that is being converted to xe2. I am implementing the vcl styles and for the most part there is no problem.

However on some forms, specifically where I have a tpanel, with a page control and tab sheets on them, the tabsheets are sometimes not drawing correctly. They display whatever image was previously in the area where the tabsheet is. So when the form first shows it will be the background screen on my computer, but if I change tabs, the tab backgrounds / labels/components appear to overlap.

This only occurs when I am using the vcl styles, if I do not apply the style, everything appears to display normally.

It only occurs on some tabs. I have tried to isolate a specific property or method call (or lack thereof) that may be causing this problem, but I am really struggling, especially given the pure size of the methods called in this code (in some forms, the method that fires on the tab change is over a 1000 lines of code).

I went to take some screen shots to demonstrate this happening, but the forms on the screen shots are all rendered correctly. This suggests to me that there is some sort of disconnect between what I am seeing, and what is actually 'there'.

Any advice would be most appreciated.

like image 978
Elissa Avatar asked Nov 03 '22 21:11

Elissa


1 Answers

Maybe you should use the Vcl Styles Utils what corrects lot of style bug in delphi. If I remember correctly painting of the TTabSheets are incorrect by default - except you put it into a TPanel/etc.

like image 166
CsZsombor Avatar answered Nov 15 '22 06:11

CsZsombor