From 7f58cbbef8e5dde4fce89e37b9a8caa550e84db4 Mon Sep 17 00:00:00 2001 From: alexs75 Date: Fri, 9 Sep 2016 09:55:03 +0000 Subject: [PATCH] RxFPC:RxDBGrid - add metod for add custom command for RxDBGrid tools menu git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5138 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../rx/trunk/Demos/RxMemDSFilter/project1.lps | 89 ++++++++++--------- .../rx/trunk/Demos/RxMemDSFilter/unit1.pas | 9 +- components/rx/trunk/rxdbgrid.pas | 46 +++++----- 3 files changed, 76 insertions(+), 68 deletions(-) diff --git a/components/rx/trunk/Demos/RxMemDSFilter/project1.lps b/components/rx/trunk/Demos/RxMemDSFilter/project1.lps index 9dde6b405..df1c4c007 100644 --- a/components/rx/trunk/Demos/RxMemDSFilter/project1.lps +++ b/components/rx/trunk/Demos/RxMemDSFilter/project1.lps @@ -11,7 +11,7 @@ - + @@ -21,18 +21,18 @@ - - - + + + - - - + + + @@ -43,7 +43,7 @@ - + @@ -51,7 +51,7 @@ - + @@ -59,127 +59,128 @@ - + - + - + - + - + - + - + + - + - + - + - + - + - + - + - + - + - + - - - + - - + + - + - + - + - + - + - - + + - + + - + + - - + + - - + + diff --git a/components/rx/trunk/Demos/RxMemDSFilter/unit1.pas b/components/rx/trunk/Demos/RxMemDSFilter/unit1.pas index ea47cff96..cdc73fdac 100644 --- a/components/rx/trunk/Demos/RxMemDSFilter/unit1.pas +++ b/components/rx/trunk/Demos/RxMemDSFilter/unit1.pas @@ -27,7 +27,7 @@ type procedure CheckBox1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private - + procedure RxDBGridInfoBox(Sender: TObject); public end; @@ -58,6 +58,13 @@ begin RxMemoryData1.Post; end; + RxDBGrid1.CreateToolMenuItem(#0, '-', nil); + RxDBGrid1.CreateToolMenuItem(#0, 'Show info box', @RxDBGridInfoBox); +end; + +procedure TForm1.RxDBGridInfoBox(Sender: TObject); +begin + ShowMessage('Hello world form RXDBGrid tools menu'); end; procedure TForm1.CheckBox1Change(Sender: TObject); diff --git a/components/rx/trunk/rxdbgrid.pas b/components/rx/trunk/rxdbgrid.pas index c47ed91b3..70e6b9a97 100644 --- a/components/rx/trunk/rxdbgrid.pas +++ b/components/rx/trunk/rxdbgrid.pas @@ -785,6 +785,7 @@ type procedure DeSelectAllRows; procedure InvertSelection; procedure CopyCellValue; + procedure CreateToolMenuItem(ShortCut: char; const ACaption: string; MenuAction: TNotifyEvent); procedure SetSort(AFields: array of String; ASortMarkers: array of TSortMarker; PreformSort: Boolean = False); @@ -2505,33 +2506,32 @@ begin FFooterOptions.DrawFullLine := Value; end; +procedure TRxDBGrid.CreateToolMenuItem(ShortCut: char; const ACaption: string; + MenuAction: TNotifyEvent); +var + R: TMenuItem; +begin + R := TMenuItem.Create(F_PopupMenu); + F_PopupMenu.Items.Add(R); + R.Caption := ACaption; + if ShortCut <> #0 then + R.ShortCut := KeyToShortCut(Ord(ShortCut), [ssCtrl]); + R.OnClick := MenuAction; +end; + procedure TRxDBGrid.DoCreateJMenu; - - procedure CreateMenuItem(ShortCut: char; const ACaption: string; - MenuAction: TNotifyEvent); - var - R: TMenuItem; - begin - R := TMenuItem.Create(F_PopupMenu); - F_PopupMenu.Items.Add(R); - R.Caption := ACaption; - if ShortCut <> #0 then - R.ShortCut := KeyToShortCut(Ord(ShortCut), [ssCtrl]); - R.OnClick := MenuAction; - end; - begin F_PopupMenu := TPopupMenu.Create(Self); F_PopupMenu.Name := 'OptionsMenu'; - CreateMenuItem('F', sRxDBGridFind, @OnFind); - CreateMenuItem('T', sRxDBGridFilter, @OnFilterBy); - CreateMenuItem('E', sRxDBGridFilterSimple, @OnFilter); - CreateMenuItem('Q', sRxDBGridFilterClear, @OnFilterClose); - CreateMenuItem(#0, '-', nil); - CreateMenuItem('C', sRxDBGridSortByColumns, @OnSortBy); - CreateMenuItem('W', sRxDBGridSelectColumns, @OnChooseVisibleFields); - CreateMenuItem('A', sRxDBGridSelectAllRows, @OnSelectAllRows); - CreateMenuItem(#0, sRxDBGridCopyCellValue, @OnCopyCellValue); + CreateToolMenuItem('F', sRxDBGridFind, @OnFind); + CreateToolMenuItem('T', sRxDBGridFilter, @OnFilterBy); + CreateToolMenuItem('E', sRxDBGridFilterSimple, @OnFilter); + CreateToolMenuItem('Q', sRxDBGridFilterClear, @OnFilterClose); + CreateToolMenuItem(#0, '-', nil); + CreateToolMenuItem('C', sRxDBGridSortByColumns, @OnSortBy); + CreateToolMenuItem('W', sRxDBGridSelectColumns, @OnChooseVisibleFields); + CreateToolMenuItem('A', sRxDBGridSelectAllRows, @OnSelectAllRows); + CreateToolMenuItem(#0, sRxDBGridCopyCellValue, @OnCopyCellValue); end; function TRxDBGrid.GetPropertyStorage: TCustomPropertyStorage;