From dfd64df4b61271ccae4725370c01b0d87da0b355 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Fri, 26 Dec 2008 14:23:59 +0000 Subject: [PATCH] Apply grid changes by click in grid whitespace, rfe #839 --- source/childwin.dfm | 1 + source/childwin.pas | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/source/childwin.dfm b/source/childwin.dfm index 60285449..4d5a7abe 100644 --- a/source/childwin.dfm +++ b/source/childwin.dfm @@ -975,6 +975,7 @@ object MDIChild: TMDIChild OnHeaderClick = DataGridHeaderClick OnKeyDown = GridKeyDown OnKeyUp = controlsKeyUp + OnMouseUp = DataGridMouseUp OnNewText = DataGridNewText Columns = <> end diff --git a/source/childwin.pas b/source/childwin.pas index 70ba8886..604af4ee 100644 --- a/source/childwin.pas +++ b/source/childwin.pas @@ -457,6 +457,8 @@ type NewHeight: Integer; var Resize: Boolean); procedure pnlQueryMemoCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean); + procedure DataGridMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); private uptime : Integer; @@ -6679,4 +6681,18 @@ begin end; +procedure TMDIChild.DataGridMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); +var + Grid: TVirtualStringTree; + Hit: THitInfo; +begin + // Detect mouse hit in grid whitespace and apply changes. + Grid := Sender as TVirtualStringTree; + Grid.GetHitTestInfoAt(X, Y, False, Hit); + if (Hit.HitNode = nil) or (Hit.HitColumn = NoColumn) or (Hit.HitColumn = InvalidColumn) then + DataGridPostUpdateOrInsert(Grid.FocusedNode); +end; + + end.