diff --git a/examples/dockmanager/elasticsite/MakeSite.lpi b/examples/dockmanager/elasticsite/MakeSite.lpi index 6b77e5ba2b..872c21ee0a 100644 --- a/examples/dockmanager/elasticsite/MakeSite.lpi +++ b/examples/dockmanager/elasticsite/MakeSite.lpi @@ -62,11 +62,7 @@ - - - - diff --git a/examples/dockmanager/package/easydocksite.pas b/examples/dockmanager/package/easydocksite.pas index b11e743442..a3384a3f68 100644 --- a/examples/dockmanager/package/easydocksite.pas +++ b/examples/dockmanager/package/easydocksite.pas @@ -1067,11 +1067,13 @@ procedure TEasyTree.ResetBounds(Force: Boolean); var rNew: TRect; begin + DebugLn(['TEasyTree.ResetBounds ']); //drop site resized - never called in Lazarus??? if (csLoading in FDockSite.ComponentState) then exit; //not the right time to do anything //how to determine old bounds? rNew := FDockSite.ClientRect; + DebugLn(['TEasyTree.ResetBounds ',dbgs(rNew)]); //try catch bad calls (Win32)????? if (rNew.Right <= 0) or (rNew.Bottom <= 0) then exit; diff --git a/examples/dockmanager/package/umakesite.pas b/examples/dockmanager/package/umakesite.pas index 295a7e02f7..c4ccfb4060 100644 --- a/examples/dockmanager/package/umakesite.pas +++ b/examples/dockmanager/package/umakesite.pas @@ -232,7 +232,7 @@ begin AForm.EnableAlign; end; -//function TDockMaster.CreateDockable(const AName: string; site: TWinControl; +//function TDockMaster.CreateDockable(const AName: string; site: TWinControl); function TDockMaster.CreateDockable(const AName: string; fMultiInst, DisableUpdate: boolean; fWrap: boolean): TWinControl; var diff --git a/lcl/controls.pp b/lcl/controls.pp index fad64e8ad0..b81865fdb5 100644 --- a/lcl/controls.pp +++ b/lcl/controls.pp @@ -1732,6 +1732,7 @@ type function DoAlignChildControls(TheAlign: TAlign; AControl: TControl; AControlList: TFPList; var ARect: TRect): Boolean; virtual; procedure DoChildSizingChange(Sender: TObject); virtual; + procedure DoOnChangeBounds; override; {$IFDEF OldAutoSize} procedure ResizeDelayedAutoSizeChildren; virtual; {$ENDIF} diff --git a/lcl/include/wincontrol.inc b/lcl/include/wincontrol.inc index be11450e46..52bdabc4c2 100644 --- a/lcl/include/wincontrol.inc +++ b/lcl/include/wincontrol.inc @@ -3172,6 +3172,13 @@ begin ReAlign; end; +procedure TWinControl.DoOnChangeBounds; +begin + inherited DoOnChangeBounds; + if FUseDockManager and (DockManager<>nil) then + DockManager.ResetBounds(false); +end; + {$IFDEF OldAutoSize} procedure TWinControl.ResizeDelayedAutoSizeChildren; var @@ -7777,8 +7784,7 @@ begin ' -> New=',Dbgs(Bounds(ALeft,ATop,AWidth,AHeight))]); {$ENDIF} inherited SetBounds(ALeft, ATop, AWidth, AHeight); - if FUseDockManager and (DockManager <> nil) then - DockManager.ResetBounds(False); + //DebugLn(['TWinControl.SetBounds ',DbgSName(Self),' FUseDockManager=',FUseDockManager,' ',DbgSName(DockManager)]); finally {$IFDEF OldAutoSize} UnlockRealizeBounds;