1. Rework wordwrap procedure

2. RxDBGrid - in tools menu hide not used items

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2570 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2012-10-18 14:11:00 +00:00
parent 38e19b287d
commit 9a87777833
3 changed files with 75 additions and 235 deletions

View File

@ -71,9 +71,10 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/> <UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="240"/> <TopLine Value="233"/>
<CursorPos X="24" Y="262"/> <CursorPos X="24" Y="262"/>
<UsageCount Value="88"/> <UsageCount Value="88"/>
<Loaded Value="True"/> <Loaded Value="True"/>
@ -497,8 +498,6 @@
<Unit58> <Unit58>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/> <UnitName Value="rxdbgrid"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="836"/> <TopLine Value="836"/>
<CursorPos X="7" Y="858"/> <CursorPos X="7" Y="858"/>
@ -508,27 +507,22 @@
<Item1 X="1" Y="1838" ID="4"/> <Item1 X="1" Y="1838" ID="4"/>
<Item2 X="1" Y="2672" ID="1"/> <Item2 X="1" Y="2672" ID="1"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/>
</Unit58> </Unit58>
<Unit59> <Unit59>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="443"/> <TopLine Value="443"/>
<CursorPos X="14" Y="463"/> <CursorPos X="14" Y="463"/>
<UsageCount Value="18"/> <UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit59> </Unit59>
<Unit60> <Unit60>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="2558"/> <TopLine Value="2558"/>
<CursorPos X="1" Y="2580"/> <CursorPos X="1" Y="2580"/>
<UsageCount Value="21"/> <UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit60> </Unit60>
<Unit61> <Unit61>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
@ -780,127 +774,39 @@
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit92> </Unit92>
</Units> </Units>
<JumpHistory Count="30" HistoryIndex="29"> <JumpHistory Count="8" HistoryIndex="7">
<Position1> <Position1>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="2574" Column="1" TopLine="2565"/>
</Position1>
<Position2>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2366" Column="1" TopLine="2339"/>
</Position2>
<Position3>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2359" Column="1" TopLine="2312"/>
</Position3>
<Position4>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3853" Column="3" TopLine="3834"/>
</Position4>
<Position5>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="3849" Column="25" TopLine="3824"/>
</Position5>
<Position6>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2361" Column="19" TopLine="2321"/>
</Position6>
<Position7>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2367" Column="1" TopLine="2346"/>
</Position7>
<Position8>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="2574" Column="1" TopLine="2553"/>
</Position8>
<Position9>
<Filename Value="/usr/local/share/lazarus/lcl/grids.pas"/>
<Caret Line="5471" Column="49" TopLine="5448"/>
</Position9>
<Position10>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2305" Column="17" TopLine="2288"/>
</Position10>
<Position11>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2355" Column="1" TopLine="2331"/>
</Position11>
<Position12>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="396" Column="77" TopLine="406"/>
</Position12>
<Position13>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2671" Column="1" TopLine="2617"/>
</Position13>
<Position14>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="73" Column="1" TopLine="53"/> <Caret Line="73" Column="1" TopLine="53"/>
</Position14> </Position1>
<Position15> <Position2>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="75" Column="1" TopLine="54"/> <Caret Line="75" Column="1" TopLine="54"/>
</Position15> </Position2>
<Position16> <Position3>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="260" Column="38" TopLine="241"/> <Caret Line="260" Column="38" TopLine="241"/>
</Position16> </Position3>
<Position17> <Position4>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="262" Column="43" TopLine="239"/> <Caret Line="262" Column="43" TopLine="239"/>
</Position17> </Position4>
<Position18> <Position5>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="260" Column="43" TopLine="240"/> <Caret Line="260" Column="43" TopLine="240"/>
</Position18> </Position5>
<Position19> <Position6>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="718" Column="14" TopLine="699"/>
</Position19>
<Position20>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="260" Column="43" TopLine="240"/> <Caret Line="260" Column="43" TopLine="240"/>
</Position20> </Position6>
<Position21> <Position7>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="262" Column="24" TopLine="240"/> <Caret Line="262" Column="24" TopLine="240"/>
</Position21> </Position7>
<Position22> <Position8>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="674" Column="14" TopLine="653"/>
</Position22>
<Position23>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="549" Column="31" TopLine="530"/>
</Position23>
<Position24>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2304" Column="37" TopLine="2269"/>
</Position24>
<Position25>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="262" Column="24" TopLine="240"/> <Caret Line="262" Column="24" TopLine="240"/>
</Position25> </Position8>
<Position26>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="674" Column="14" TopLine="654"/>
</Position26>
<Position27>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="550" Column="15" TopLine="534"/>
</Position27>
<Position28>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2371" Column="10" TopLine="2342"/>
</Position28>
<Position29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2332" Column="1" TopLine="2312"/>
</Position29>
<Position30>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="1210" Column="17" TopLine="1200"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -5,7 +5,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Width = 1187 Width = 1187
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
ClientHeight = 698 ClientHeight = 702
ClientWidth = 1187 ClientWidth = 1187
Menu = MainMenu1 Menu = MainMenu1
OnCreate = FormCreate OnCreate = FormCreate
@ -13,8 +13,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
LCLVersion = '1.1' LCLVersion = '1.1'
object RxDBGrid1: TRxDBGrid object RxDBGrid1: TRxDBGrid
Left = 0 Left = 0
Height = 634 Height = 648
Top = 64 Top = 54
Width = 1187 Width = 1187
TitleButtons = True TitleButtons = True
AutoSort = True AutoSort = True
@ -81,7 +81,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Title.Orientation = toHorizontal Title.Orientation = toHorizontal
Title.Hint = 'Product name' Title.Hint = 'Product name'
Title.ShowHint = True Title.ShowHint = True
Width = 136 Width = 110
FieldName = 'NAME' FieldName = 'NAME'
Filter.Font.Style = [fsItalic] Filter.Font.Style = [fsItalic]
Filter.DropDownRows = 0 Filter.DropDownRows = 0
@ -268,22 +268,22 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 64 Height = 54
Top = 0 Top = 0
Width = 1187 Width = 1187
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 64 ClientHeight = 54
ClientWidth = 1187 ClientWidth = 1187
TabOrder = 1 TabOrder = 1
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Button2 AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 245 Left = 240
Height = 15 Height = 13
Top = 7 Top = 7
Width = 34 Width = 26
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Mode' Caption = 'Mode'
ParentColor = False ParentColor = False
@ -292,9 +292,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Panel1 AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 7 Left = 7
Height = 27 Height = 23
Top = 7 Top = 7
Width = 77 Width = 83
Action = actCalcTotal Action = actCalcTotal
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -304,10 +304,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1 AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 90 Left = 96
Height = 27 Height = 23
Top = 7 Top = 7
Width = 149 Width = 138
Action = actOptimizeColumnsWidthAll Action = actOptimizeColumnsWidthAll
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -318,11 +318,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 474 Left = 469
Height = 22 Height = 17
Hint = 'Use filter line' Hint = 'Use filter line'
Top = 35 Top = 30
Width = 78 Width = 63
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'Use filter' Caption = 'Use filter'
OnChange = CheckBox1Change OnChange = CheckBox1Change
@ -332,12 +332,12 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1 AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1 AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 251 Left = 246
Height = 25 Height = 21
Top = 28 Top = 26
Width = 217 Width = 217
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 13
ItemIndex = 0 ItemIndex = 0
Items.Strings = ( Items.Strings = (
'Edit mode' 'Edit mode'
@ -352,11 +352,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1 AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 474 Left = 469
Height = 22 Height = 17
Hint = 'Auto fill column width' Hint = 'Auto fill column width'
Top = 7 Top = 7
Width = 122 Width = 97
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Auto fill columns' Caption = 'Auto fill columns'
OnChange = CheckBox2Change OnChange = CheckBox2Change
@ -366,10 +366,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 602 Left = 572
Height = 22 Height = 17
Top = 7 Top = 7
Width = 113 Width = 90
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show indicator' Caption = 'Show indicator'
Checked = True Checked = True
@ -382,10 +382,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 602 Left = 572
Height = 22 Height = 17
Top = 35 Top = 30
Width = 111 Width = 88
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show headers' Caption = 'Show headers'
Checked = True Checked = True
@ -397,10 +397,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox3 AnchorSideLeft.Control = CheckBox3
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 721 Left = 668
Height = 22 Height = 17
Top = 7 Top = 7
Width = 90 Width = 73
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Word wrap' Caption = 'Word wrap'
OnChange = CheckBox5Change OnChange = CheckBox5Change

View File

@ -2086,13 +2086,14 @@ end;
procedure TRxDBGrid.UpdateJMenuStates; procedure TRxDBGrid.UpdateJMenuStates;
begin begin
F_PopupMenu.Items[0].Enabled := rdgAllowDialogFind in FOptionsRx; F_PopupMenu.Items[0].Visible := rdgAllowDialogFind in FOptionsRx;
F_PopupMenu.Items[1].Enabled := rdgAllowFilterForm in FOptionsRx; F_PopupMenu.Items[1].Visible := rdgAllowFilterForm in FOptionsRx;
F_PopupMenu.Items[2].Enabled := rdgAllowQuickFilter in FOptionsRx; F_PopupMenu.Items[2].Visible := rdgAllowQuickFilter in FOptionsRx;
F_PopupMenu.Items[3].Enabled := F_PopupMenu.Items[3].Visible :=
(rdgFilter in FOptionsRx) or (rdgAllowFilterForm in FOptionsRx); (rdgFilter in FOptionsRx) or (rdgAllowFilterForm in FOptionsRx);
F_PopupMenu.Items[5].Enabled := rdgAllowSortForm in FOptionsRx; F_PopupMenu.Items[5].Visible := rdgAllowSortForm in FOptionsRx;
F_PopupMenu.Items[6].Enabled := rdgAllowColumnsForm in FOptionsRx; F_PopupMenu.Items[6].Visible := rdgAllowColumnsForm in FOptionsRx;
F_PopupMenu.Items[7].Visible := dgMultiselect in Options;
end; end;
procedure TRxDBGrid.UpdateJMenuKeys; procedure TRxDBGrid.UpdateJMenuKeys;
@ -3139,7 +3140,7 @@ begin
else else
MPT.Y := Rct.Bottom; MPT.Y := Rct.Bottom;
MPT := ClientToScreen(MPT); MPT := ClientToScreen(MPT);
// DrawCell(0,0,F_TopRect,[gdFixed]);
UpdateJMenuStates; UpdateJMenuStates;
F_PopupMenu.Popup(MPT.X, MPT.Y); F_PopupMenu.Popup(MPT.X, MPT.Y);
end; end;
@ -3260,14 +3261,18 @@ begin
exit; exit;
end; end;
VK_DOWN: if not (aoAppend in FAllowedOperations) then VK_DOWN:
if not (aoAppend in FAllowedOperations) then
begin begin
FTmpReadOnly := ReadOnly; FTmpReadOnly := ReadOnly;
ReadOnly := True; ReadOnly := True;
inherited KeyDown(Key, Shift); inherited KeyDown(Key, Shift);
ReadOnly := FTmpReadOnly; ReadOnly := FTmpReadOnly;
exit; exit;
end; end
{ else
UpdateRowsHeight;
VK_UP:UpdateRowsHeight};
end; end;
inherited KeyDown(Key, Shift); inherited KeyDown(Key, Shift);
if Key <> 0 then if Key <> 0 then
@ -3356,6 +3361,9 @@ end;
procedure TRxDBGrid.Paint; procedure TRxDBGrid.Paint;
begin begin
if rdgWordWrap in FOptionsRx then
UpdateRowsHeight;
inherited Paint; inherited Paint;
if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
DrawFooterRows; DrawFooterRows;
@ -3374,7 +3382,8 @@ begin
else else
if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then if FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
UpdateFooterRowOnUpdateActive; UpdateFooterRowOnUpdateActive;
// CalcStatTotals;
// UpdateRowsHeight;
end; end;
procedure TRxDBGrid.UpdateData; procedure TRxDBGrid.UpdateData;
@ -3387,84 +3396,9 @@ begin
inherited MoveSelection; inherited MoveSelection;
if Assigned(FFooterOptions) and FFooterOptions.Active and (FFooterOptions.RowCount > 0) then if Assigned(FFooterOptions) and FFooterOptions.Active and (FFooterOptions.RowCount > 0) then
DrawFooterRows; DrawFooterRows;
// UpdateRowsHeight;
end; end;
(*
function TRxDBGrid.GetBufferCount: integer;
var
i, J, W, H, H1, HW, k:integer;
B:boolean;
F:TField;
S:string;
CurActiveRecord: Integer;
begin
b:=false;
for i:=0 to Columns.Count-1 do
begin
if TRxColumn(Columns[i]).WordWrap then
begin
B:=true;
Break;
end;
end;
if not B then
Result:=inherited GetBufferCount
else
begin
CurActiveRecord:=DataLink.ActiveRecord;
Result:=0;
HW:=0;
K:=1;
for i:=GCache.VisibleGrid.Top to GCache.VisibleGrid.Bottom do
begin
DataLink.ActiveRecord:=i - FixedRows;
H:=1; //DefaultRowHeight;
for j:=0 to Columns.Count-1 do
begin
W:=Columns[i].Width;
if TRxColumn(Columns[i]).WordWrap then
begin
F:=Columns[i].Field;
if Assigned(F) then
S:=F.DisplayText
else
S:='';
H1 := Max((Canvas.TextWidth(S) + 2) div W + 1, H);
if H1 > WordCount(S, [' ']) then
H1 := WordCount(S, [' ']);
end;
H:=Max(H, H1);
end;
HW:=HW + H * DefaultRowHeight;
if HW>Height then
break;
RowHeights[K] := DefaultRowHeight * H;
inc(K);
inc(Result);
end;
DataLink.ActiveRecord:=CurActiveRecord;
{
if (ARow>=FixedRows) and FDataLink.Active then
begin
FDataLink.ActiveRecord:=ARow-FixedRows;
FDrawingActiveRecord := ARow = Row;
FDrawingMultiSelRecord := (dgMultiSelect in Options) and
SelectedRows.CurrentRowSelected
end else begin
FDrawingActiveRecord := False;
FDrawingMultiSelRecord := False;
end;
}
end;
end;
*)
procedure TRxDBGrid.CMHintShow(var Message: TLMessage); procedure TRxDBGrid.CMHintShow(var Message: TLMessage);
var var
Cell: TGridCoord; Cell: TGridCoord;
@ -3580,8 +3514,8 @@ begin
inherited VisualChange; inherited VisualChange;
CalcTitle; CalcTitle;
if rdgWordWrap in FOptionsRx then { if rdgWordWrap in FOptionsRx then
UpdateRowsHeight; UpdateRowsHeight;}
end; end;
function TRxDBGrid.EditorByStyle(Style: TColumnButtonStyle): TWinControl; function TRxDBGrid.EditorByStyle(Style: TColumnButtonStyle): TWinControl;