[Lazarus] PageControl color

Paul Ishenin ip at kmiac.ru
Wed Sep 17 02:28:10 CEST 2008


Benito van der Zander wrote:
> Hi,
> if you enable theming in Windows XP the background color of a 
> TPageControl changes from gray (clBtnFace)
> to white (is this clWhite or a system color?).
> The problem is now, that a TTrackBar or a TStringGrid always draw there 
> background as clBtnFace, which
> looks quite stranges on a white background.
> So how do you set the correct color?
> if ThemeServices.ThemesEnabled then TrackBar1.Color:=clWhite;
> seems to work on xp, but assumes of curse that the themed color is 
> always white.

TTrackBar is a windows common control. We need to correct win32 
widgetset code to let it draw transparently on parent controls if themes 
are enabled. Feel free to create a patch which solves this problem.

TStringGrid is a control which LCL draws itself. We need to use more 
themes painting to make it look more native. This can be done later.

And, btw, color is not clWhite - theme services are using bitmaps to 
draw control surfaces. If you change theme to another it can look as 
Blue or Black or as any other color.

Best regards,
Paul Ishenin.




More information about the Lazarus mailing list