RxFPC:RxTimeEdit - add new property ShowSecond. Rework display time. Move Text property to public section.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6283 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75 2018-03-30 18:22:47 +00:00
parent 4a326db8b2
commit ebf7b97ec3
4 changed files with 268 additions and 121 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<Version Value="11"/>
<General>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
@ -22,10 +22,14 @@
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
</Modes>
</RunParams>
<RequiredPackages Count="4">
<Item1>
@ -43,7 +47,7 @@
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="24">
<Units Count="28">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
@ -57,9 +61,8 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<TopLine Value="55"/>
<CursorPos Y="83"/>
<TopLine Value="78"/>
<CursorPos X="5" Y="94"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -173,7 +176,7 @@
<UsageCount Value="10"/>
</Unit18>
<Unit19>
<Filename Value="/home/alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/>
<Filename Value="../../../../../../../alexs/install/fpcsrc/rtl/objpas/sysutils/sysinth.inc"/>
<TopLine Value="77"/>
<CursorPos X="37" Y="93"/>
<UsageCount Value="10"/>
@ -204,133 +207,168 @@
<Unit23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<UnitName Value="rxDateRangeEditUnit"/>
<EditorIndex Value="-1"/>
<TopLine Value="66"/>
<CursorPos X="15" Y="82"/>
<UsageCount Value="10"/>
</Unit23>
<Unit24>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<UnitName Value="RxTimeEdit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="337"/>
<CursorPos Y="359"/>
<TopLine Value="225"/>
<CursorPos X="22" Y="243"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit23>
</Unit24>
<Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<EditorIndex Value="2"/>
<TopLine Value="819"/>
<CursorPos X="14" Y="831"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="3"/>
<TopLine Value="1410"/>
<CursorPos X="15" Y="1422"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit26>
<Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<EditorIndex Value="4"/>
<TopLine Value="5039"/>
<CursorPos X="3" Y="5044"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit27>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="5" TopLine="42"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="188" Column="44" TopLine="181"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="63" Column="5" TopLine="43"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="48"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="64" Column="5" TopLine="44"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="314" Column="24" TopLine="290"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="65" Column="5" TopLine="45"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="60" Column="15" TopLine="58"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="66" Column="5" TopLine="46"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="253" Column="22" TopLine="235"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="68" Column="51" TopLine="47"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="254" TopLine="235"/>
</Position6>
<Position7>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="420" Column="66" TopLine="401"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="48"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="64" Column="24" TopLine="47"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="289" TopLine="275"/>
</Position8>
<Position9>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="384" Column="25" TopLine="364"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="60" Column="15" TopLine="55"/>
</Position9>
<Position10>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="71" Column="15" TopLine="68"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="254" Column="35" TopLine="236"/>
</Position10>
<Position11>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="297" Column="5" TopLine="281"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="290" Column="61" TopLine="273"/>
</Position11>
<Position12>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="296" Column="22" TopLine="279"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="287" Column="36" TopLine="273"/>
</Position12>
<Position13>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="290" Column="25" TopLine="274"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="75" Column="15" TopLine="66"/>
</Position13>
<Position14>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="286" Column="5" TopLine="261"/>
<Filename Value="unit1.pas"/>
<Caret Line="94" Column="5" TopLine="78"/>
</Position14>
<Position15>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="283" TopLine="261"/>
<Filename Value="unit1.pas"/>
<Caret Line="93" Column="5" TopLine="77"/>
</Position15>
<Position16>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="285" TopLine="261"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="348" Column="17" TopLine="334"/>
</Position16>
<Position17>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="286" TopLine="261"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="65" Column="15" TopLine="54"/>
</Position17>
<Position18>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="289" TopLine="284"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="281" Column="3" TopLine="271"/>
</Position18>
<Position19>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="266" Column="18" TopLine="264"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="55" Column="16" TopLine="46"/>
</Position19>
<Position20>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="283" TopLine="264"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="156" Column="3" TopLine="154"/>
</Position20>
<Position21>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="289" TopLine="264"/>
<Filename Value="/usr/local/share/lazarus/lcl/stdctrls.pp"/>
<Caret Line="831" Column="14" TopLine="819"/>
</Position21>
<Position22>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="294" TopLine="264"/>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1486" Column="14" TopLine="1477"/>
</Position22>
<Position23>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="307" TopLine="288"/>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1254" Column="15" TopLine="1243"/>
</Position23>
<Position24>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="312" TopLine="288"/>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<Caret Line="5064" Column="3" TopLine="5059"/>
</Position24>
<Position25>
<Filename Value="unit1.pas"/>
<Caret Line="62" Column="32" TopLine="55"/>
<Filename Value="/usr/local/share/lazarus/lcl/controls.pp"/>
<Caret Line="1422" Column="15" TopLine="1410"/>
</Position25>
<Position26>
<Filename Value="unit1.pas"/>
<Caret Line="88" TopLine="55"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="156" Column="3" TopLine="154"/>
</Position26>
<Position27>
<Filename Value="../../rxcontrols/rxdaterangeeditunit.pas"/>
<Caret Line="356" TopLine="337"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="84" TopLine="80"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="86" Column="15" TopLine="55"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="352" Column="12" TopLine="336"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="88" TopLine="55"/>
<Caret Line="94" Column="5" TopLine="78"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="82" Column="9" TopLine="55"/>
<Filename Value="../../rxcontrols/rxtimeedit.pas"/>
<Caret Line="238" Column="34" TopLine="225"/>
</Position30>
</JumpHistory>
</ProjectOptions>
@ -357,7 +395,16 @@
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<BreakPoints Count="1">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxcontrols/rxtimeedit.pas"/>
<Line Value="244"/>
</Item1>
</BreakPoints>
<Exceptions Count="4">
<Item1>
<Name Value="EAbort"/>
</Item1>
@ -367,6 +414,9 @@
<Item3>
<Name Value="EFOpenError"/>
</Item3>
<Item4>
<Name Value="EDBEditError"/>
</Item4>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -13,21 +13,21 @@ object Form1: TForm1
Height = 397
Top = 0
Width = 590
ActivePage = TabSheet2
ActivePage = TabSheet3
Align = alClient
TabIndex = 1
TabIndex = 2
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'RxDBDateEdit demo'
ClientHeight = 363
ClientHeight = 366
ClientWidth = 580
object Label1: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
Left = 6
Height = 20
Height = 17
Top = 6
Width = 42
Width = 38
Caption = 'Label1'
ParentColor = False
end
@ -36,14 +36,13 @@ object Form1: TForm1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 12
Height = 37
Height = 34
Top = 32
Width = 151
BorderSpacing.Around = 6
ButtonWidth = 23
Enabled = False
MaxLength = 10
NumGlyphs = 2
PasswordChar = #0
PopupColor = clWindow
TabOrder = 0
@ -56,9 +55,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDBDateEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Height = 17
Top = 75
Width = 85
Width = 77
BorderSpacing.Around = 6
Caption = 'Currency edit'
ParentColor = False
@ -68,24 +67,20 @@ object Form1: TForm1
AnchorSideTop.Control = Label2
AnchorSideTop.Side = asrBottom
Left = 12
Height = 37
Height = 34
Top = 101
Width = 148
Alignment = taCenter
BorderSpacing.Around = 6
MaxValue = 0
MinValue = 0
TabOrder = 1
Value = 0
end
object RxDateEdit1: TRxDateEdit
Left = 12
Height = 37
Height = 34
Top = 160
Width = 80
ButtonWidth = 23
MaxLength = 10
NumGlyphs = 2
PasswordChar = #0
PopupColor = clWindow
TabOrder = 2
@ -93,9 +88,9 @@ object Form1: TForm1
end
object Button1: TButton
Left = 248
Height = 36
Height = 33
Top = 80
Width = 77
Width = 69
AutoSize = True
Caption = 'Invalidate'
OnClick = Button1Click
@ -104,15 +99,15 @@ object Form1: TForm1
end
object TabSheet2: TTabSheet
Caption = 'RxDateRangeEdit demo'
ClientHeight = 363
ClientHeight = 366
ClientWidth = 580
object CheckBox1: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = TabSheet2
Left = 6
Height = 24
Height = 23
Top = 6
Width = 88
Width = 84
BorderSpacing.Around = 6
Caption = 'reoMonth'
Checked = True
@ -126,8 +121,8 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 159
Height = 37
Top = 96
Height = 34
Top = 93
Width = 262
BorderSpacing.Around = 6
Month = 5
@ -140,9 +135,9 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 36
Width = 96
Height = 23
Top = 35
Width = 91
BorderSpacing.Around = 6
Caption = 'reoQuarter'
Checked = True
@ -155,9 +150,9 @@ object Form1: TForm1
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 6
Height = 24
Top = 66
Width = 102
Height = 23
Top = 64
Width = 95
BorderSpacing.Around = 6
Caption = 'reoHalfYear'
Checked = True
@ -170,9 +165,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 6
Height = 20
Top = 139
Width = 92
Height = 17
Top = 133
Width = 87
BorderSpacing.Around = 6
Caption = 'Start of period'
ParentColor = False
@ -183,8 +178,8 @@ object Form1: TForm1
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Label5
Left = 12
Height = 37
Top = 165
Height = 34
Top = 156
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
@ -197,9 +192,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDateRangeEdit1
AnchorSideTop.Side = asrBottom
Left = 296
Height = 20
Top = 139
Width = 85
Height = 17
Top = 133
Width = 79
BorderSpacing.Around = 6
Caption = 'End of period'
ParentColor = False
@ -211,8 +206,8 @@ object Form1: TForm1
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 302
Height = 37
Top = 165
Height = 34
Top = 156
Width = 272
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6
@ -231,6 +226,53 @@ object Form1: TForm1
ParentColor = False
end
end
object TabSheet3: TTabSheet
Caption = 'RxTimeEdit demo'
ClientHeight = 366
ClientWidth = 580
object Label6: TLabel
AnchorSideLeft.Control = TabSheet3
AnchorSideTop.Control = TabSheet3
Left = 6
Height = 17
Top = 6
Width = 65
BorderSpacing.Around = 6
Caption = 'RxTimeEdit'
ParentColor = False
end
object CheckBox4: TCheckBox
AnchorSideLeft.Control = RxTimeEdit1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RxTimeEdit1
Left = 154
Height = 23
Top = 35
Width = 104
BorderSpacing.Left = 32
BorderSpacing.Around = 6
Caption = 'Show second'
Checked = True
OnChange = CheckBox4Change
State = cbChecked
TabOrder = 0
end
object RxTimeEdit1: TRxTimeEdit
AnchorSideLeft.Control = Label6
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
Left = 12
Height = 34
Top = 29
Width = 104
ShowSecond = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
CharCase = ecNormal
MaxLength = 8
TabOrder = 1
end
end
end
object dsData: TDataSource
DataSet = rxData

View File

@ -7,7 +7,7 @@ interface
uses
Classes, SysUtils, db, FileUtil, DividerBevel, LResources, Forms, Controls,
Graphics, Dialogs, StdCtrls, ComCtrls, rxmemds, rxdbdateedit, rxcurredit,
rxtooledit, rxDateRangeEditUnit;
rxtooledit, rxDateRangeEditUnit, RxTimeEdit;
type
@ -18,6 +18,7 @@ type
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CurrencyEdit1: TCurrencyEdit;
dsData: TDatasource;
Edit1: TEdit;
@ -27,16 +28,20 @@ type
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
PageControl1: TPageControl;
rxData: TRxMemoryData;
rxDataDOC_DATE: TDateField;
RxDateEdit1: TRxDateEdit;
RxDateRangeEdit1: TRxDateRangeEdit;
RxDBDateEdit1: TRxDBDateEdit;
RxTimeEdit1: TRxTimeEdit;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure CheckBox4Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RxDateRangeEdit1Change(Sender: TObject);
private
@ -89,5 +94,10 @@ begin
RxDateRangeEdit1.Options:=R;
end;
procedure TForm1.CheckBox4Change(Sender: TObject);
begin
RxTimeEdit1.ShowSecond:=CheckBox4.Checked;
end;
end.

View File

@ -48,17 +48,21 @@ type
FButton: TRxSpinButton;
FButtonNeedsFocus: Boolean;
FOnButtonClick : TNotifyEvent;
FShowSecond: boolean;
FDisplayFormat:string;
procedure CheckButtonVisible;
function GetButtonHint: TTranslateString;
function GetTime: TTime;
procedure SetButtonHint(const AValue: TTranslateString);
procedure SetButtonNeedsFocus(const AValue: Boolean);
procedure SetShowSecond(AValue: boolean);
procedure SetTime(const AValue: TTime);
procedure DoChangeValue(AValue:integer);
procedure WMSetFocus(var Message: TLMSetFocus); message LM_SETFOCUS;
procedure WMKillFocus(var Message: TLMKillFocus); message LM_KILLFOCUS;
procedure SetEnabled(Value: Boolean); override;
protected
procedure UpdateEditFormat;
procedure SetParent(AParent: TWinControl); override;
procedure DoPositionButton; virtual;
procedure UpClick(Sender: TObject); virtual;
@ -66,6 +70,7 @@ type
property ButtonOnlyWhenFocused: Boolean read FButtonNeedsFocus write SetButtonNeedsFocus default False;
property OnButtonClick : TNotifyEvent read FOnButtonClick write FOnButtonClick;
property ButtonHint: TTranslateString read GetButtonHint write SetButtonHint;
property ShowSecond:boolean read FShowSecond write SetShowSecond;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
@ -74,7 +79,10 @@ type
type
TRxTimeEdit = class(TCustomRxTimeEdit)
public
property Text;
published
property ShowSecond;
property AutoSize;
property AutoSelect;
property Align;
@ -124,7 +132,6 @@ type
property ShowHint;
property TabOrder;
property TabStop;
property Text;
property Visible;
end;
@ -167,9 +174,20 @@ begin
end;
end;
procedure TCustomRxTimeEdit.SetTime(const AValue: TTime);
procedure TCustomRxTimeEdit.SetShowSecond(AValue: boolean);
begin
Text:=TimeToStr(AValue);
if FShowSecond=AValue then Exit;
FShowSecond:=AValue;
UpdateEditFormat;
end;
procedure TCustomRxTimeEdit.SetTime(const AValue: TTime);
var
H, M, S, MS: word;
begin
DecodeTime(AValue, H, M, S, MS);
Text:=Format(FDisplayFormat, [H, M, S, MS]);
//Text:=TimeToStr(AValue);
end;
procedure TCustomRxTimeEdit.DoChangeValue(AValue: integer);
@ -222,13 +240,19 @@ begin
H1:=StrToInt(S[1]+S[2]);
M2:=StrToInt(S[4]+S[5]);
S3:=StrToInt(S[7]+S[8]);
if FShowSecond then
S3:=StrToInt(S[7]+S[8]);
P:=GetSelStart;
if P < 3 then IncHour
if P < 3 then
IncHour
else
if P < 6 then IncMin
else IncSec;
Text:=Format('%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d', [H1, M2, S3]);
if P < 6 then
IncMin
else
if FShowSecond then
IncSec;
//Text:=Format('%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d', [H1, M2, S3]);
SetTime(EncodeTime(H1, M2, S3, 0));
SetSelStart(P);
end;
@ -251,6 +275,24 @@ begin
FButton.Enabled:=Value;
end;
procedure TCustomRxTimeEdit.UpdateEditFormat;
var
FOldTime: TTime;
begin
FOldTime:=GetTime;
if FShowSecond then
begin
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00'+DefaultFormatSettings.TimeSeparator + '00;1;_';
FDisplayFormat:='%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d';
end
else
begin
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00;1;_';
FDisplayFormat:='%2.2d'+ DefaultFormatSettings.TimeSeparator +'%2.2d';
end;
SetTime(FOldTime);
end;
procedure TCustomRxTimeEdit.SetParent(AParent: TWinControl);
begin
inherited SetParent(AParent);
@ -294,6 +336,7 @@ end;
constructor TCustomRxTimeEdit.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FShowSecond:=true;
FButton := TRxSpinButton.Create(Self);
FButton.FocusControl := Self;
FButton.Width := Self.Height;
@ -303,7 +346,7 @@ begin
FButton.OnTopClick := @UpClick;
FButton.OnBottomClick := @DownClick;
EditMask:='!#0'+DefaultFormatSettings.TimeSeparator + '00'+DefaultFormatSettings.TimeSeparator + '00;1;_';
UpdateEditFormat;
end;
destructor TCustomRxTimeEdit.Destroy;
@ -313,4 +356,6 @@ begin
inherited Destroy;
end;
initialization
RegisterPropertyToSkip(TRxTimeEdit, 'Text', '', '');
end.