RxDBGrid.Columns[].EditButtons[].Style=ebsPlusRx - show UpDown buttorn for edit current numeric field

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2894 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2014-02-02 11:14:10 +00:00
parent acb193861d
commit 4b7b914d2a
4 changed files with 203 additions and 101 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="UTF-8"?>
<CONFIG> <CONFIG>
<ProjectOptions> <ProjectOptions>
<Version Value="9"/> <Version Value="9"/>
@ -60,28 +60,26 @@
<PackageName Value="LCL"/> <PackageName Value="LCL"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="11"> <Units Count="12">
<Unit0> <Unit0>
<Filename Value="PhoneBookDemo.lpr"/> <Filename Value="PhoneBookDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="PhoneBookDemo"/> <UnitName Value="PhoneBookDemo"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="3" Y="12"/> <CursorPos X="3" Y="12"/>
<UsageCount Value="27"/> <UsageCount Value="27"/>
<Loaded Value="True"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="pbMainForm"/> <ComponentName Value="pbMainForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="pbMainUnit"/> <UnitName Value="pbMainUnit"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="59"/> <TopLine Value="23"/>
<CursorPos X="52" Y="23"/> <CursorPos X="52" Y="23"/>
<UsageCount Value="27"/> <UsageCount Value="27"/>
<Loaded Value="True"/> <Loaded Value="True"/>
@ -108,12 +106,14 @@
<Filename Value="pbeditdataunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<ComponentName Value="pbEditDataForm"/> <ComponentName Value="pbEditDataForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="pbEditDataUnit"/> <UnitName Value="pbEditDataUnit"/>
<EditorIndex Value="2"/> <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="15"/> <TopLine Value="11"/>
<CursorPos X="3" Y="15"/> <CursorPos X="3" Y="42"/>
<UsageCount Value="25"/> <UsageCount Value="25"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
@ -122,8 +122,8 @@
<Filename Value="../../rxcloseformvalidator.pas"/> <Filename Value="../../rxcloseformvalidator.pas"/>
<UnitName Value="RxCloseFormValidator"/> <UnitName Value="RxCloseFormValidator"/>
<WindowIndex Value="0"/> <WindowIndex Value="0"/>
<TopLine Value="130"/> <TopLine Value="195"/>
<CursorPos X="3" Y="159"/> <CursorPos X="1" Y="211"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit5> </Unit5>
<Unit6> <Unit6>
@ -165,116 +165,111 @@
<CursorPos X="3" Y="113"/> <CursorPos X="3" Y="113"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit10> </Unit10>
<Unit11>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="471"/>
<CursorPos X="1" Y="503"/>
<UsageCount Value="10"/>
</Unit11>
</Units> </Units>
<JumpHistory Count="27" HistoryIndex="26"> <JumpHistory Count="24" HistoryIndex="23">
<Position1> <Position1>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="81" Column="9" TopLine="49"/> <Caret Line="82" Column="5" TopLine="55"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="82" Column="9" TopLine="50"/> <Caret Line="83" Column="26" TopLine="56"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="83" Column="9" TopLine="51"/> <Caret Line="84" Column="26" TopLine="57"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="82" Column="9" TopLine="50"/> <Caret Line="91" Column="26" TopLine="58"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="81" Column="9" TopLine="49"/> <Caret Line="95" Column="23" TopLine="65"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="80" Column="9" TopLine="48"/> <Caret Line="101" Column="13" TopLine="80"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="87" Column="9" TopLine="51"/> <Caret Line="101" Column="78" TopLine="80"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="82" Column="5" TopLine="55"/> <Caret Line="91" Column="29" TopLine="79"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="83" Column="26" TopLine="56"/> <Caret Line="15" Column="3" TopLine="3"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="84" Column="26" TopLine="57"/> <Caret Line="101" Column="74" TopLine="79"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="91" Column="26" TopLine="58"/> <Caret Line="75" Column="15" TopLine="41"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="95" Column="23" TopLine="65"/> <Caret Line="74" Column="39" TopLine="40"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="13" TopLine="80"/> <Caret Line="101" Column="72" TopLine="81"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="78" TopLine="80"/> <Caret Line="106" Column="1" TopLine="81"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="91" Column="29" TopLine="79"/> <Caret Line="102" Column="1" TopLine="80"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="pbeditdataunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="15" Column="3" TopLine="3"/> <Caret Line="101" Column="1" TopLine="79"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="74" TopLine="79"/> <Caret Line="103" Column="1" TopLine="81"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="75" Column="15" TopLine="41"/> <Caret Line="15" Column="3" TopLine="3"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="74" Column="39" TopLine="40"/> <Caret Line="108" Column="13" TopLine="86"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbmainunit.pas"/>
<Caret Line="101" Column="72" TopLine="81"/> <Caret Line="36" Column="28" TopLine="18"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="106" Column="1" TopLine="81"/> <Caret Line="15" Column="3" TopLine="11"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="102" Column="1" TopLine="80"/> <Caret Line="54" Column="3" TopLine="23"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="pbmainunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="101" Column="1" TopLine="79"/> <Caret Line="52" Column="58" TopLine="1"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="pbmainunit.pas"/>
<Caret Line="103" Column="1" TopLine="81"/>
</Position24>
<Position25>
<Filename Value="pbeditdataunit.pas"/> <Filename Value="pbeditdataunit.pas"/>
<Caret Line="15" Column="3" TopLine="3"/> <Caret Line="55" Column="58" TopLine="23"/>
</Position25> </Position24>
<Position26>
<Filename Value="pbmainunit.pas"/>
<Caret Line="108" Column="13" TopLine="86"/>
</Position26>
<Position27>
<Filename Value="pbmainunit.pas"/>
<Caret Line="36" Column="28" TopLine="18"/>
</Position27>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@ -307,4 +302,5 @@
</Item1> </Item1>
</Watches> </Watches>
</Debugging> </Debugging>
<EditorMacros Count="0"/>
</CONFIG> </CONFIG>

View File

@ -7,14 +7,14 @@ object pbEditDataForm: TpbEditDataForm
ClientHeight = 401 ClientHeight = 401
ClientWidth = 530 ClientWidth = 530
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '0.9.31' LCLVersion = '1.3'
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
Left = 6 Left = 6
Height = 18 Height = 19
Top = 6 Top = 6
Width = 72 Width = 66
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Patronymic' Caption = 'Patronymic'
FocusControl = DBEdit1 FocusControl = DBEdit1
@ -25,9 +25,9 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Control = DBEdit1 AnchorSideTop.Control = DBEdit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 18 Height = 19
Top = 63 Top = 68
Width = 40 Width = 34
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Name' Caption = 'Name'
FocusControl = DBEdit2 FocusControl = DBEdit2
@ -38,10 +38,10 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = DBEdit1 AnchorSideTop.Control = DBEdit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 235 Left = 240
Height = 18 Height = 19
Top = 63 Top = 68
Width = 60 Width = 51
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Surname' Caption = 'Surname'
FocusControl = DBEdit3 FocusControl = DBEdit3
@ -52,9 +52,9 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Control = DBEdit2 AnchorSideTop.Control = DBEdit2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 18 Height = 19
Top = 120 Top = 130
Width = 41 Width = 37
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Phone' Caption = 'Phone'
FocusControl = DBEdit4 FocusControl = DBEdit4
@ -64,10 +64,10 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideLeft.Control = Label3 AnchorSideLeft.Control = Label3
AnchorSideTop.Control = DBEdit3 AnchorSideTop.Control = DBEdit3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 235 Left = 240
Height = 18 Height = 19
Top = 120 Top = 130
Width = 23 Width = 22
BorderSpacing.Top = 6 BorderSpacing.Top = 6
BorderSpacing.Bottom = 6 BorderSpacing.Bottom = 6
Caption = 'ICQ' Caption = 'ICQ'
@ -79,9 +79,9 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Control = DBEdit4 AnchorSideTop.Control = DBEdit4
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 18 Height = 19
Top = 177 Top = 192
Width = 41 Width = 36
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Memo' Caption = 'Memo'
ParentColor = False ParentColor = False
@ -93,8 +93,8 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 12 Left = 12
Height = 27 Height = 31
Top = 30 Top = 31
Width = 512 Width = 512
DataField = 'PATRONYMIC' DataField = 'PATRONYMIC'
DataSource = pbMainForm.Datasource1 DataSource = pbMainForm.Datasource1
@ -110,9 +110,9 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label3 AnchorSideRight.Control = Label3
Left = 12 Left = 12
Height = 27 Height = 31
Top = 87 Top = 93
Width = 217 Width = 222
DataField = 'NAME' DataField = 'NAME'
DataSource = pbMainForm.Datasource1 DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -127,10 +127,10 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 241 Left = 246
Height = 27 Height = 31
Top = 87 Top = 93
Width = 283 Width = 278
DataField = 'SURNAME' DataField = 'SURNAME'
DataSource = pbMainForm.Datasource1 DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -145,9 +145,9 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label3 AnchorSideRight.Control = Label3
Left = 12 Left = 12
Height = 27 Height = 31
Top = 144 Top = 155
Width = 217 Width = 222
DataField = 'PHONE' DataField = 'PHONE'
DataSource = pbMainForm.Datasource1 DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -162,10 +162,10 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 241 Left = 246
Height = 27 Height = 31
Top = 144 Top = 155
Width = 283 Width = 278
DataField = 'ICQ' DataField = 'ICQ'
DataSource = pbMainForm.Datasource1 DataSource = pbMainForm.Datasource1
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -198,8 +198,8 @@ object pbEditDataForm: TpbEditDataForm
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = ButtonPanel1 AnchorSideBottom.Control = ButtonPanel1
Left = 12 Left = 12
Height = 146 Height = 130
Top = 201 Top = 217
Width = 512 Width = 512
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -217,10 +217,12 @@ object pbEditDataForm: TpbEditDataForm
item item
Control = DBEdit2 Control = DBEdit2
FieldCaption = 'Name' FieldCaption = 'Name'
OnValidate = RxCloseFormValidator1Items1Validate
end end
item item
Control = DBEdit4 Control = DBEdit4
FieldCaption = 'Phone' FieldCaption = 'Phone'
OnValidate = RxCloseFormValidator1Items2Validate
end> end>
left = 376 left = 376
top = 8 top = 8

View File

@ -38,7 +38,7 @@ interface
uses uses
Classes, SysUtils, LResources, LCLVersion, LCLType, LCLIntf, Forms, Controls, Buttons, Classes, SysUtils, LResources, LCLVersion, LCLType, LCLIntf, Forms, Controls, Buttons,
Graphics, Dialogs, Grids, dbutils, DBGrids, DB, PropertyStorage, vclutils, Graphics, Dialogs, Grids, dbutils, DBGrids, DB, PropertyStorage, vclutils,
LMessages, types, StdCtrls, Menus; LMessages, types, StdCtrls, Menus, rxspin;
{//$if ((lcl_major = 1) and (lcl_minor = 1))} {//$if ((lcl_major = 1) and (lcl_minor = 1))}
@ -354,6 +354,8 @@ type
FStyle: TRxColumnEditButtonStyle; FStyle: TRxColumnEditButtonStyle;
FButton:TSpeedButton; FButton:TSpeedButton;
FVisible: Boolean; FVisible: Boolean;
//
FSpinBtn:TRxSpinButton;
function GetGlyph: TBitmap; function GetGlyph: TBitmap;
function GetHint: String; function GetHint: String;
function GetNumGlyphs: Integer; function GetNumGlyphs: Integer;
@ -366,6 +368,9 @@ type
procedure SetStyle(AValue: TRxColumnEditButtonStyle); procedure SetStyle(AValue: TRxColumnEditButtonStyle);
procedure SetVisible(AValue: Boolean); procedure SetVisible(AValue: Boolean);
procedure SetWidth(AValue: Integer); procedure SetWidth(AValue: Integer);
procedure DoBottomClick(Sender: TObject);
procedure DoTopClick(Sender: TObject);
protected protected
function GetDisplayName: string; override; function GetDisplayName: string; override;
public public
@ -678,6 +683,7 @@ type
procedure DoEditorShow; override; procedure DoEditorShow; override;
procedure EraseBackground(DC: HDC); override; procedure EraseBackground(DC: HDC); override;
property Editor;
public public
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
destructor Destroy; override; destructor Destroy; override;
@ -1048,6 +1054,7 @@ end;
procedure TRxColumnEditButton.SetHint(AValue: String); procedure TRxColumnEditButton.SetHint(AValue: String);
begin begin
FButton.Hint:=AValue; FButton.Hint:=AValue;
FSpinBtn.Hint:=AValue;
end; end;
procedure TRxColumnEditButton.SetNumGlyphs(AValue: Integer); procedure TRxColumnEditButton.SetNumGlyphs(AValue: Integer);
@ -1068,14 +1075,85 @@ end;
procedure TRxColumnEditButton.SetVisible(AValue: Boolean); procedure TRxColumnEditButton.SetVisible(AValue: Boolean);
begin begin
if FVisible=AValue then Exit; // if FVisible=AValue then Exit;
FVisible:=AValue; FVisible:=AValue;
FButton.Visible:=AValue;
if AValue then
begin
if Style = ebsUpDownRx then
begin
FSpinBtn.Visible:=AValue;
FButton.Visible:=false;
end
else
begin
FButton.Visible:=AValue;
FSpinBtn.Visible:=false;
end;
end
else
begin
FButton.Visible:=AValue;
FSpinBtn.Visible:=AValue;
end;
end; end;
procedure TRxColumnEditButton.SetWidth(AValue: Integer); procedure TRxColumnEditButton.SetWidth(AValue: Integer);
begin begin
FButton.Width:=AValue; FButton.Width:=AValue;
FSpinBtn.Width:=AValue;
end;
procedure TRxColumnEditButton.DoBottomClick(Sender: TObject);
var
F:TField;
Col:TRxColumn;
msg: TGridMessage;
begin
Col:=TRxColumnEditButtons(Collection).FOwner as TRxColumn;
F:=Col.Field;
if Assigned(F) and (F.DataType in NumericDataTypes) then
begin
if not (F.DataSet.State in dsEditModes) then
F.DataSet.Edit;
F.Value:=F.Value + 1;
Msg.LclMsg.msg:=GM_SETVALUE;
Msg.Grid:=Col.Grid;
{ Msg.Col:=FCol;
Msg.Row:=FRow;}
Msg.Value:=F.DisplayText;
TRxDBGrid(Col.Grid).Editor.Dispatch(Msg);
end;
end;
procedure TRxColumnEditButton.DoTopClick(Sender: TObject);
var
F:TField;
Col:TRxColumn;
msg: TGridMessage;
begin
Col:=TRxColumnEditButtons(Collection).FOwner as TRxColumn;
F:=Col.Field;
if Assigned(F) and (F.DataType in NumericDataTypes) then
begin
if not (F.DataSet.State in dsEditModes) then
F.DataSet.Edit;
F.Value:=F.Value - 1;
Msg.LclMsg.msg:=GM_SETVALUE;
Msg.Grid:=Col.Grid;
{ Msg.Col:=FCol;
Msg.Row:=FRow;}
Msg.Value:=F.DisplayText;
TRxDBGrid(Col.Grid).Editor.Dispatch(Msg);
end;
end; end;
function TRxColumnEditButton.GetDisplayName: string; function TRxColumnEditButton.GetDisplayName: string;
@ -1091,6 +1169,10 @@ begin
inherited Create(ACollection); inherited Create(ACollection);
FButton:=TSpeedButton.Create(nil); FButton:=TSpeedButton.Create(nil);
FButton.Glyph:=LoadLazResBitmapImage('rx_markerdown'); FButton.Glyph:=LoadLazResBitmapImage('rx_markerdown');
FSpinBtn:=TRxSpinButton.Create(nil);
FSpinBtn.OnBottomClick:=@DoBottomClick;
FSpinBtn.OnTopClick:=@DoTopClick;
FVisible:=true; FVisible:=true;
Width:=15; Width:=15;
end; end;
@ -1098,6 +1180,7 @@ end;
destructor TRxColumnEditButton.Destroy; destructor TRxColumnEditButton.Destroy;
begin begin
FreeAndNil(FButton); FreeAndNil(FButton);
FreeAndNil(FSpinBtn);
inherited Destroy; inherited Destroy;
end; end;
@ -2606,6 +2689,7 @@ procedure TRxDBGrid.DoSetColEdtBtn;
var var
R:TRxColumn; R:TRxColumn;
i, w:integer; i, w:integer;
SB:TGraphicControl;
begin begin
R:=SelectedColumn as TRxColumn; R:=SelectedColumn as TRxColumn;
@ -2634,13 +2718,27 @@ begin
for i:=0 to R.EditButtons.Count-1 do for i:=0 to R.EditButtons.Count-1 do
if R.EditButtons[i].Visible then if R.EditButtons[i].Visible then
begin begin
if R.EditButtons[i].Style = ebsUpDownRx then
begin
SB:=R.EditButtons[i].FSpinBtn;
TRxSpinButton(SB).FocusControl:=Editor;
end
else
SB:=R.EditButtons[i].FButton;
SB.Parent:=Self;
SB.Left:=W;
SB.Top:=Editor.Top;
SB.Height:=Editor.Height;
SB.Visible:=true;
{
R.EditButtons[i].FButton.Parent:=Self; R.EditButtons[i].FButton.Parent:=Self;
R.EditButtons[i].FButton.Left:=W; R.EditButtons[i].FButton.Left:=W;
R.EditButtons[i].FButton.Top:=Editor.Top; R.EditButtons[i].FButton.Top:=Editor.Top;
R.EditButtons[i].FButton.Height:=Editor.Height; R.EditButtons[i].FButton.Height:=Editor.Height;
R.EditButtons[i].FButton.Visible:=true; R.EditButtons[i].Visible:=true;
}
W:=W+R.EditButtons[i].FButton.Width; W:=W+R.EditButtons[i].Width;
end; end;
end; end;
end; end;
@ -4412,7 +4510,13 @@ begin
if Assigned(Editor) and Assigned(R) then if Assigned(Editor) and Assigned(R) then
for i:=0 to R.EditButtons.Count-1 do for i:=0 to R.EditButtons.Count-1 do
R.EditButtons[i].FButton.Visible:=false; begin
// R.EditButtons[i].Visible:=false;
if R.EditButtons[i].Style = ebsUpDownRx then
R.EditButtons[i].FSpinBtn.Visible:=false
else
R.EditButtons[i].FButton.Visible:=false;
end;
end; end;
procedure TRxDBGrid.DoEditorShow; procedure TRxDBGrid.DoEditorShow;

View File

@ -26,7 +26,7 @@ Copyright (c) 1998 Master-Bank
translate to Lazarus by alexs in 2005 - 2014 translate to Lazarus by alexs in 2005 - 2014
"/> "/>
<License Value="LGPL"/> <License Value="LGPL"/>
<Version Major="2" Minor="6" Release="2" Build="136"/> <Version Major="2" Minor="6" Release="3" Build="139"/>
<Files Count="68"> <Files Count="68">
<Item1> <Item1>
<Filename Value="autopanel.pas"/> <Filename Value="autopanel.pas"/>