?? sedit.pas
字號:
unit sEdit;
{$I sDefs.inc}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, sUtils, sStyleUtil, ComCtrls,
ToolWin, ExtCtrls, sConst, sStyleEdits;
Type
TsEdit = class(TCustomEdit)
private
procedure WMNCCalcSize (var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPaint (var Message: TMessage); message WM_NCPAINT;
protected
FsStyle : TsStyle;
procedure WndProc (var Message: TMessage); override;
procedure CreateWnd; override;
public
constructor Create(AOwner:TComponent); override;
destructor Destroy; override;
procedure Invalidate; override;
procedure AfterConstruction; override;
procedure Loaded; override;
property BorderStyle;
property Color;
published
property AutoSelect;
property HideSelection;
property HelpContext;
property OEMConvert;
property PasswordChar;
property ReadOnly;
property Enabled;
property Font;
property Hint;
property MaxLength;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property Text;
property Visible;
property CharCase;
property sStyle: TsStyle read FsStyle write FsStyle;
property Anchors;
// property AutoSize;
property BiDiMode;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property ImeMode;
property ImeName;
property ParentBiDiMode;
property TabStop;
property OnChange;
property OnClick;
property OnContextPopup;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
property OnEnter;
property OnExit;
{ Published declarations }
end;
implementation
uses sStyleSimply;
constructor TsEdit.Create(AOwner:TComponent);
begin
inherited Create(AOwner);
sStyle := TsStyle.Create(Self);
sStyle.COC := COC_TsEdit;
BorderStyle := bsNone;
ParentFont := True;
AutoSize := False;
Ctl3D := False;
// ControlStyle := ControlStyle - [csFramed];
Height := 21;
DoubleBuffered := True;
OnKeyDown := sStyle.onKeyDown;
end;
procedure TsEdit.WMNCCalcSize(var Message: TWMNCCalcSize);
begin
inherited;
InflateRect(Message.CalcSize_Params^.rgrc[0], -3, -3);
end;
procedure TsEdit.Invalidate;
begin
Color := sStyle.GetActiveColor;
if (csDesigning in ComponentState) and Assigned(FsStyle) then begin
if not RestrictDrawing then FsStyle.BGChanged := True;
end;
if Assigned(Parent) then sStyle.redrawBorder;
inherited;
end;
procedure TsEdit.WndProc(var Message: TMessage);
begin
if Assigned(FsStyle) then FsStyle.WndProc(Message);
if Message.Result <> 1 then inherited;
end;
procedure TsEdit.WMNCPaint(var Message: TMessage);
begin
if (csDestroying in ComponentState) or (csLoading in ComponentState) then Exit;
Color := sStyle.GetActiveColor;
inherited;
sStyle.RedrawBorder;
end;
procedure TsEdit.CreateWnd;
begin
inherited;
end;
destructor TsEdit.Destroy;
begin
FreeAndNil(FsStyle);
OnKeyDown := nil;
inherited Destroy;
end;
procedure TsEdit.AfterConstruction;
begin
inherited;
sStyle.Loaded;
end;
procedure TsEdit.Loaded;
begin
inherited;
sStyle.Loaded;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -