📄 fledit.~pas
字号:
unit FlEdit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,spin;
type
TCustomFloatEdit = class(TCustomEdit)
private
{ Private-Deklarationen }
FDigits : Byte;
FMin,FMax : Extended;
FDec : Char;
FErrorText : string;
FOldVal : Extended;
FAlignment : TAlignment;
FOnEnterPress: TKeyPressEvent;
FTempValue : Extended;
function GetAbout: string; virtual;
procedure SetAbout(const Value: string);
function GetText: string;
procedure ShowError;
protected
{ Protected-Deklarationen }
procedure CreateParams(var Params:TCreateParams); override;
procedure SetValue(AValue : Extended);
procedure SetMin(AValue : Extended);
procedure SetMax(AValue : Extended);
procedure SetDigits(AValue : Byte);
function GetValue : Extended;
procedure KeyPress(var Key: Char); override;
procedure DoExit;override;
procedure DoEnter;override;
procedure SetAlignment(AValue:TAlignment);
property OnEnterPress : TKeyPressEvent read FOnEnterPress write FOnEnterPress;
property Digits : Byte read FDigits write SetDigits;
property Min : Extended read FMin write SetMin;
property Max : Extended read FMax write SetMax;
property Value : Extended read GetValue write SetValue;
property ErrorMessage :string read FErrorText write FErrorText;
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property About: string read GetAbout write SetAbout stored false;
public
{ Public-Deklarationen }
property Text: string read GetText;
procedure Loaded; override;
published
{ Published-Deklarationen }
constructor Create (AOwner : TComponent);override;
end;
TFloatEdit = class (TCustomFloatEdit)
published
property About;
property Digits;
property Value;
property Min;
property Max;
property ErrorMessage;
property Alignment;
property OnEnterPress;
property Anchors;
property AutoSelect;
property AutoSize;
property Color;
property Constraints;
property Ctl3D;
property DragCursor;
property DragMode;
property Enabled;
property Font;
property MaxLength;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
// for computed increment
TComputedIncrementEvent = procedure (Sender: TObject; const bIncrement:Boolean) of object;
TSpinFloatEdit = class (TCustomFloatEdit)
private
FIncrement: Extended;
FButton: TSpinButton;
FEditorEnabled : Boolean;
FComputedIncrement: TComputedIncrementEvent;
function GetMinHeight: Integer;
procedure SetEditRect;
procedure WMSize(var Message: TWMSize); message WM_SIZE;
procedure WMPaste(var Message: TWMPaste); message WM_PASTE;
procedure WMCut(var Message: TWMCut); message WM_CUT;
protected
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
procedure UpClick (Sender: TObject); virtual;
procedure DownClick (Sender: TObject); virtual;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure CreateParams(var Params: TCreateParams); override;
procedure CheckIncDec(const bIncrement:Boolean);
procedure CreateWnd; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Button: TSpinButton read FButton;
published
property About;
property EditorEnabled: Boolean read FEditorEnabled write FEditorEnabled default True;
property Increment: Extended read FIncrement write FIncrement;
property OnComputedIncrement: TComputedIncrementEvent read FComputedIncrement write FComputedIncrement;
property Digits;
property Value;
property Min;
property Max;
property ErrorMessage;
property Alignment;
property OnEnterPress;
property Anchors;
property AutoSelect;
property AutoSize;
property Color;
property Constraints;
property Ctl3D;
property DragCursor;
property DragMode;
property Enabled;
property Font;
property MaxLength;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
procedure Register;
implementation
const
NO_TEXT = '';
SR_VER = '1.3';
SR_COPY = '
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -