From dcdd530d16ea42ca59c9b4961c029d55d5a45198 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 11 Sep 2014 13:53:45 +0000 Subject: [PATCH] fpspreadsheet: Improved painting of merged cells by TsWorksheetGrid (but: scrolling paints over the fixed rows). git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3549 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/examples/spready/mainform.lfm | 2 +- components/fpspreadsheet/examples/spready/mainform.pas | 2 ++ components/fpspreadsheet/examples/spready/spready.lpi | 2 +- components/fpspreadsheet/fpspreadsheetgrid.pas | 5 ++++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/components/fpspreadsheet/examples/spready/mainform.lfm b/components/fpspreadsheet/examples/spready/mainform.lfm index 5c349b291..6ea173ec7 100644 --- a/components/fpspreadsheet/examples/spready/mainform.lfm +++ b/components/fpspreadsheet/examples/spready/mainform.lfm @@ -393,7 +393,7 @@ object MainFrm: TMainFrm ActivePage = PgCellValue Align = alRight TabIndex = 0 - TabOrder = 5 + TabOrder = 4 OnChange = InspectorPageControlChange object PgCellValue: TTabSheet Caption = 'Cell value' diff --git a/components/fpspreadsheet/examples/spready/mainform.pas b/components/fpspreadsheet/examples/spready/mainform.pas index d0e2c567d..d16442f26 100644 --- a/components/fpspreadsheet/examples/spready/mainform.pas +++ b/components/fpspreadsheet/examples/spready/mainform.pas @@ -824,6 +824,8 @@ begin // Initialize Inspector UpdateCellInfo(nil); + + ActiveControl := WorksheetGrid; end; procedure TMainFrm.InspectorPageControlChange(Sender: TObject); diff --git a/components/fpspreadsheet/examples/spready/spready.lpi b/components/fpspreadsheet/examples/spready/spready.lpi index 3da1379a0..9436ce717 100644 --- a/components/fpspreadsheet/examples/spready/spready.lpi +++ b/components/fpspreadsheet/examples/spready/spready.lpi @@ -87,7 +87,7 @@ - + diff --git a/components/fpspreadsheet/fpspreadsheetgrid.pas b/components/fpspreadsheet/fpspreadsheetgrid.pas index b7b64e972..11ef687a5 100644 --- a/components/fpspreadsheet/fpspreadsheetgrid.pas +++ b/components/fpspreadsheet/fpspreadsheetgrid.pas @@ -1341,7 +1341,7 @@ var begin // Upper and Lower bounds for this row - rct := BoundsRect; + rct := Rect(0,0,0,0); ColRowToOffSet(False, True, ARow, rct.Top, rct.Bottom); saved_rct := rct; @@ -1378,6 +1378,7 @@ begin r := GetGridRow(r1); ColRowToOffSet(False, True, r, rct.Top, tmp); ColRowToOffSet(False, True, r + r2 - r1, tmp, rct.Bottom); + c := GetGridCol(c1); cNext := c + (c2-c1) + 1; end; end; @@ -1387,6 +1388,8 @@ begin if (rct.Left < rct.Right) and HorizontalIntersect(rct, clipArea) then begin + // IntersectRect(rct, rct, clipArea); +// if rct.Left < clipArea.Left then rct.Left := clipArea.Left; Rs := (goRowSelect in Options); gds := GetGridDrawState(c, r); DoDrawCell(c, r);