lcl: use Field EditMask in TDBEdit (delphi compatible). Add CustomEditMask property to switch to old behavior

git-svn-id: trunk@36296 -
This commit is contained in:
blikblum 2012-03-24 20:43:03 +00:00
parent 85b8beb59c
commit 260c7a9537
2 changed files with 7 additions and 6 deletions

View File

@ -171,7 +171,7 @@ Type
TDBEdit = class(TCustomMaskEdit) TDBEdit = class(TCustomMaskEdit)
private private
FDataLink: TFieldDataLink; FDataLink: TFieldDataLink;
FCustomEditMask: Boolean;
procedure DataChange(Sender: TObject); procedure DataChange(Sender: TObject);
procedure UpdateData(Sender: TObject); procedure UpdateData(Sender: TObject);
function GetDataField: string; function GetDataField: string;
@ -202,9 +202,9 @@ Type
destructor Destroy; override; destructor Destroy; override;
property Field: TField read GetField; property Field: TField read GetField;
published published
property CustomEditMask: Boolean read FCustomEditMask write FCustomEditMask default False;
property DataField: string read GetDataField write SetDataField; property DataField: string read GetDataField write SetDataField;
property DataSource: TDataSource read GetDataSource write SetDataSource; property DataSource: TDataSource read GetDataSource write SetDataSource;
property ReadOnly: Boolean read GetReadOnly write SetReadOnly default False; property ReadOnly: Boolean read GetReadOnly write SetReadOnly default False;
property Anchors; property Anchors;

View File

@ -30,8 +30,9 @@ var
begin begin
DataLinkField := FDataLink.Field; DataLinkField := FDataLink.Field;
if DataLinkField <> nil then begin if DataLinkField <> nil then begin
//use the right EditMask if any //use Field EditMask by default
//EditMask := FDataLink.Field.EditMask; doesn't exist yet if not FCustomEditMask then
EditMask := DataLinkField.EditMask;
Alignment := DataLinkField.Alignment; Alignment := DataLinkField.Alignment;
//if we are focused its possible to edit, //if we are focused its possible to edit,
@ -47,8 +48,8 @@ begin
MaxLength := DatalinkField.Size; MaxLength := DatalinkField.Size;
end end
else begin else begin
//todo: uncomment this when TField implements EditMask if not FCustomEditMask then
//EditMask := '' EditMask := '';
Text := ''; Text := '';
MaxLength := 0; MaxLength := 0;
end; end;