1{ 2 /*************************************************************************** 3 DbExtCtrls.pp 4 ------------- 5 6 ***************************************************************************/ 7 8 ***************************************************************************** 9 This file is part of the Lazarus Component Library (LCL) 10 11 See the file COPYING.modifiedLGPL.txt, included in this distribution, 12 for details about the license. 13 ***************************************************************************** 14} 15unit DBExtCtrls; 16 17{$mode objfpc} 18{$H+} 19 20interface 21 22uses 23 Classes, SysUtils, LCLType, LMessages, 24 DB, DBCtrls, EditBtn; 25 26type 27 28 { TDBDateEdit } 29 30 TDBDateEdit = class(TDateEdit) 31 private 32 FDataLink: TFieldDataLink; 33 34 procedure DataChange(Sender: TObject); 35 procedure UpdateData(Sender: TObject); 36 37 function GetDataField: string; 38 function GetDataSource: TDataSource; 39 procedure SetDataField(const Value: string); 40 procedure SetDataSource(Value: TDataSource); 41 procedure CMGetDataLink(var Message: TLMessage); message CM_GETDATALINK; 42 function GetField: TField; 43 44 protected 45 procedure Notification(AComponent: TComponent; Operation: TOperation); override; 46 function EditCanModify: Boolean; override; 47 procedure EditEnter; override; 48 procedure EditKeyDown(var Key: Word; Shift: TShiftState); override; 49 procedure EditKeyPress(var Key: Char); override; 50 procedure ButtonClick; override; 51 procedure EditChange; override; 52 procedure EditExit; override; 53 procedure Reset; override; 54 55 public 56 constructor Create(AOwner: TComponent); override; 57 destructor Destroy; override; 58 function ExecuteAction(AAction: TBasicAction): Boolean; override; 59 function UpdateAction(AAction: TBasicAction): Boolean; override; 60 property Field: TField read GetField; 61 62 published 63 property DataField: string read GetDataField write SetDataField; 64 property DataSource: TDataSource read GetDataSource write SetDataSource; 65 end; 66 67 68procedure Register; 69 70implementation 71 72procedure Register; 73begin 74 RegisterComponents('Data Controls',[TDBDateEdit]); 75end; 76 77{$Include dbdateedit.inc} 78 79end. 80