Class TDBNum (unit Dbnum)

Inherits from

TCustomMaskEdit

TDBNum

Constructors


constructor Create(AOwner: TComponent);

TDBNum


Functions

function AsMoneyStr:String;


destructor Destroy;


procedure Change;


function EditCanModify: Boolean;

Check max characters after decimal

procedure FormatText;


procedure KeyDown(var Key: Word; Shift: TShiftState);


procedure KeyPress(var Key: Char);


procedure Notification(AComponent: TComponent; Operation: TOperation);


procedure Reset;


function CalcTextMargin : TPoint;

Since edit controls do not handle justification unless multi-line (and then only poorly) we will draw right and center justify manually unless the edit has the focus.

procedure CMEnter(var Message: TCMEnter);


procedure CMExit(var Message: TCMExit);


procedure DataChange(Sender: TObject);


procedure EditingChange(Sender: TObject);

If integer type set Decimals to 0

function GetDataField: string;


function GetDataSource: TDataSource;


function GetField: TField;


function GetReadOnly: Boolean;


procedure SetDataField(const Value: string);


procedure SetDataSource(Value: TDataSource);


procedure SetDecimals(Value : byte);


procedure SetDispCalendar(Value : Boolean);


procedure SetDisplayType(Value : TdisplayType);


procedure SetFocused(Value: Boolean);


procedure SetNegCol(Value:TColor);


procedure SetReadOnly(Value: Boolean);


procedure SetTabOnEnterKey(Value: Boolean);


procedure SetValue(Value : extended);


procedure UpdateData(Sender: TObject);


procedure WMCut(var Message: TMessage);


procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);


procedure WMPaint(var Message: TWMPaint);

Check for empty Date Field, if empty clear the field

procedure WMPaste(var Message: TMessage);

Remove all non numeric characters before saving

Properties

property AutoSelect :


property AutoSize :


property BorderStyle :


property CharCase :


property Color :


property Ctl3D :


property DataField : string


property DataSource : TDataSource


property Decimals : byte


property DisplayCalendar : Boolean


property DisplayType : TdisplayType


property DragCursor :


property DragMode :


property EditMask :


property Enabled :


property Font :


property MaxLength :


property NegativeColor : Tcolor


property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PasswordChar :


property PopupMenu :


property ReadOnly : Boolean


property ShowHint :


property TabOnEnterKey : Boolean


property TabOrder :


property TabStop :


property Value : extended


property Visible :


property Field : TField


Events

event OnChange :


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnKeyDown :


event OnKeyPress :


event OnKeyUp :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


Variables

FAlignment : TAlignment;


FCanvas : TControlCanvas;


FDataLink : TFieldDataLink;


FDecimals : byte;


FDispCalendar : Boolean;


FDisplayType : TdisplayType ;


FDispType : TFloatFormat;


FFocused : Boolean;


FNegColor : Tcolor;


FTabOnEnterKey : Boolean;


FValue : extended;


OldColor : TColor;



Constructors


constructor Create(AOwner: TComponent);

TDBNum


Functions


function AsMoneyStr:String;


destructor Destroy;


procedure Change;


function EditCanModify: Boolean;

Check max characters after decimal


procedure FormatText;


procedure KeyDown(var Key: Word; Shift: TShiftState);


procedure KeyPress(var Key: Char);


procedure Notification(AComponent: TComponent; Operation: TOperation);


procedure Reset;


function CalcTextMargin : TPoint;

Since edit controls do not handle justification unless multi-line (and then only poorly) we will draw right and center justify manually unless the edit has the focus.


procedure CMEnter(var Message: TCMEnter);


procedure CMExit(var Message: TCMExit);


procedure DataChange(Sender: TObject);


procedure EditingChange(Sender: TObject);

If integer type set Decimals to 0


function GetDataField: string;


function GetDataSource: TDataSource;


function GetField: TField;


function GetReadOnly: Boolean;


procedure SetDataField(const Value: string);


procedure SetDataSource(Value: TDataSource);


procedure SetDecimals(Value : byte);


procedure SetDispCalendar(Value : Boolean);


procedure SetDisplayType(Value : TdisplayType);


procedure SetFocused(Value: Boolean);


procedure SetNegCol(Value:TColor);


procedure SetReadOnly(Value: Boolean);


procedure SetTabOnEnterKey(Value: Boolean);


procedure SetValue(Value : extended);


procedure UpdateData(Sender: TObject);


procedure WMCut(var Message: TMessage);


procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);


procedure WMPaint(var Message: TWMPaint);

Check for empty Date Field, if empty clear the field


procedure WMPaste(var Message: TMessage);

Remove all non numeric characters before saving


Properties


property AutoSelect :


property AutoSize :


property BorderStyle :


property CharCase :


property Color :


property Ctl3D :


property DataField : string


property DataSource : TDataSource


property Decimals : byte


property DisplayCalendar : Boolean


property DisplayType : TdisplayType


property DragCursor :


property DragMode :


property EditMask :


property Enabled :


property Font :


property MaxLength :


property NegativeColor : Tcolor


property ParentColor :


property ParentCtl3D :


property ParentFont :


property ParentShowHint :


property PasswordChar :


property PopupMenu :


property ReadOnly : Boolean


property ShowHint :


property TabOnEnterKey : Boolean


property TabOrder :


property TabStop :


property Value : extended


property Visible :


property Field : TField


Events


event OnChange :


event OnClick :


event OnDblClick :


event OnDragDrop :


event OnDragOver :


event OnEndDrag :


event OnEnter :


event OnExit :


event OnKeyDown :


event OnKeyPress :


event OnKeyUp :


event OnMouseDown :


event OnMouseMove :


event OnMouseUp :


Variables


FAlignment : TAlignment;


FCanvas : TControlCanvas;


FDataLink : TFieldDataLink;


FDecimals : byte;


FDispCalendar : Boolean;


FDisplayType : TdisplayType ;


FDispType : TFloatFormat;


FFocused : Boolean;


FNegColor : Tcolor;


FTabOnEnterKey : Boolean;


FValue : extended;


OldColor : TColor;