Why does TAdvPanelStyler change height of Caption and StatusBar? He should not.
TAdvPanelStyler, when connected controls the appearance of the panel. The caption height is configurable under TAdvPanelStyler.Caption and thus controls the caption height.
I don't know if I understand correctly.
At design time, I have a height of 30. After assigning Styler (programmatically), the height is 20.
Let me put it this way
procedure TAppearance.CarejstAdvPanel(const AComp: TjstAdvPanel);
var
iCaptionHeight, iStatusBarHeight: Integer;
bCanSize: Boolean;
begin
AComp.ParentDoubleBuffered := True;
bCanSize := AComp.CanSize;
iCaptionHeight := AComp.Caption.Height;
iStatusBarHeight := AComp.StatusBar.Height;
AComp.ParentColor := False;
AComp.ParentBackground := False;
AComp.ParentFont := True;
SupObjJson.ReadjstPanel(AComp);
AComp.CanSize := bCanSize;
if not AComp.StaticColor then
AComp.Styler := FTSMCentre.AdvPanelStyler;
AComp.Caption.Height := iCaptionHeight;
AComp.StatusBar.Height := iStatusBarHeight;
end;
Again, if you use the TAdvPanelStyler, use TAdvPanelStyler.Settings.Caption.Height
Now I understand.
It won't leave me alone. If I set something in design time (Caption, StatusBar height, etc.), each styler should honor it and keep the value I entered. Otherwise I have to do extra work.
Especially it will surprise a man and he does not know what he has ruined again.
It is my opinion and you do not have to identify/cannot with it.
The specification is that when you use a styler, the styler controls the look (consistently for all panels for which it is used). If you do not want the styler to control the look, don't use a styler and set everything directly at the level of the panel.
Please accept this as my final answer.