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;