From 3d6ae4ccb42919820472a3bef60a9f78856b83f5 Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 27 Feb 2018 16:56:39 +0000 Subject: [PATCH] * Enable scrollbars when paper size is bigger than available space. (Bug ID #32482) git-svn-id: trunk@57397 - --- components/fpreport/design/fpreportdesignctrl.pp | 8 ++++++++ components/fpreport/design/frmfpreportdesignermain.pp | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/components/fpreport/design/fpreportdesignctrl.pp b/components/fpreport/design/fpreportdesignctrl.pp index e40b63b0b7..d86730c3f0 100644 --- a/components/fpreport/design/fpreportdesignctrl.pp +++ b/components/fpreport/design/fpreportdesignctrl.pp @@ -80,6 +80,7 @@ Type procedure DoneMoveSelection; procedure DoneResizeSelection; procedure DoneSelectRectangle(Extend: Boolean); + procedure DoPagesizeChange(Sender: TObject); procedure DoReportChanged(Sender: TObject); procedure ExtendAddRectangle; procedure ExtendSelectRectangle; @@ -319,6 +320,7 @@ procedure TFPReportDesignerControl.SetPage(AValue: TFPReportCustomPage); begin If AValue=FPage then exit; FPage:=AValue; + FPage.OnPageSizeChange:=@DoPagesizeChange; UpdatePageParams; FObjects.LoadFromPage(AValue); FObjects.OrderBands(Canvas,CurrentDPI); @@ -1019,6 +1021,12 @@ begin SetDesignerState(dsNeutral); end; +procedure TFPReportDesignerControl.DoPagesizeChange(Sender: TObject); +begin + UpdatePageParams; + Invalidate; +end; + procedure TFPReportDesignerControl.DoReportChanged(Sender: TObject); begin Invalidate; diff --git a/components/fpreport/design/frmfpreportdesignermain.pp b/components/fpreport/design/frmfpreportdesignermain.pp index 07ec60393a..f5f38c7c11 100644 --- a/components/fpreport/design/frmfpreportdesignermain.pp +++ b/components/fpreport/design/frmfpreportdesignermain.pp @@ -598,17 +598,21 @@ function TFPReportDesignerForm.AddPageDesign(aPageNo: Integer; Var TS : TPageTabSheet; + SB : TScrollBox; D : TFPReportDesignerControl; begin TS:=TPageTabSheet.Create(Self); TS.FPage:=APage; TS.Parent:=PCReport; - // TS.AutoScroll:=True; TS.Caption:=Format('Page %d',[aPageNo]); + D:=TFPReportDesignerControl.Create(Self); + SB:=TScrollBox.Create(TS); + SB.Parent:=TS; + SB.Align:=alClient; TS.FDesigner:=D; - D.Parent:=TS; + D.Parent:=SB; // FDesign.Align:=alClient; // fdesign.SetBounds(0,0,ClientWidth,ClientHeight); D.Top:=0;