Page 1 of 1

ZoomPanel does not repaint when using DevEx Skin

Posted: Thu Sep 07, 2017 9:57 am
by nyavorsky
The SRVDxSkinAdapteк (DrawEditorFrame = True) does not change Srv.BackgroundProperty.ColorBegin ...ColorEnd, but Srv is painted according to DevEx Skin, but the ZoomPanel does not change the background color (because Srv.BackgroundProperty.ColorBegin ...ColorEnd not changed)
To change the background of the ZoomPanel I do the following
...
if Assigned(RootLookAndFeel.SkinPainter) then
begin
AColor := RootLookAndFeel.SkinPainter.DefaultControlColor;
BackgroundProperty.ColorBegin := AColor;
BackgroundProperty.ColorMiddle := AColor;
BackgroundProperty.ColorEnd := AColor;
// but this changes the ZoomPanel background three times (TSRVZoomPanel.Paint)
end;
...
What is the best way to change ZoomPanel background color - ?

Re: ZoomPanel does not repaint when using DevEx Skin

Posted: Fri Sep 22, 2017 10:28 am
by Sergey Tkachenko
Sorry for the delay.
Yes, a zooming panel is drawn using BackgroundProperty's gradient colors (even when a gradient fill is turned off, it is drawn using ColorBegin).
So your changes are correct.

However, for some skins results are not the best, because a zooming panel uses system (or VCL theme) colors for drawing text, lines and highlighting buttons.
In the next update, SRVDxSkinAdapter will change these colors as well.

Re: ZoomPanel does not repaint when using DevEx Skin

Posted: Fri Sep 22, 2017 1:46 pm
by nyavorsky
Thank you. The code is actually somewhat different and smoothes some flaws

Re: ZoomPanel does not repaint when using DevEx Skin

Posted: Tue Sep 26, 2017 9:25 am
by Sergey Tkachenko
In ScaleRichView 7.9 (available for registered users) SrvDxSkin changes zooming panels.