📄 skinboxctrls.pas
字号:
TspURLState = (spstIN, spstOUT);
TspURLLinkType = (spltHTTP, spltMail);
TspSkinURLEdit = class(TspSkinEdit)
private
TempLabel: TLabel;
FExecute: Boolean;
FCanExecute: Boolean;
FBtnDown: Boolean;
FState: TspURLState;
FLinkType: TspURLLinkType;
function InText(X: Integer): Boolean;
protected
procedure MouseDown(Button : TMouseButton; Shift : TShiftState; X, Y : Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure CMMouseEnter(var Message:TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property LinkType: TspURLLinkType read FLinkType write FLinkType;
Property Execute: Boolean read FExecute write FExecute;
end;
TspSkinMemo = class(TMemo)
protected
FTextArea: TRect;
FBitMapBG: Boolean;
FReadOnly: Boolean;
FMouseIn: Boolean;
FIndex: Integer;
ParentImage: TBitMap;
FSD: TspSkinData;
FSkinDataName: String;
FAlphaBlend: Boolean;
FAlphaBlendValue: Byte;
Picture: TBitMap;
FOnMouseEnter, FOnMouseLeave: TNotifyEvent;
FVScrollBar: TSpSkinScrollBar;
FHScrollBar: TSpSkinScrollBar;
FDown: Boolean;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FUseSkinFontColor: Boolean;
FSysPopupMenu: TspSkinPopupMenu;
procedure SkinFramePaint(C: TCanvas);
procedure DoUndo(Sender: TObject);
procedure DoCut(Sender: TObject);
procedure DoCopy(Sender: TObject);
procedure DoPaste(Sender: TObject);
procedure DoDelete(Sender: TObject);
procedure DoSelectAll(Sender: TObject);
procedure CreateSysPopupMenu;
procedure OnDefaultFontChange(Sender: TObject);
procedure SetDefaultFont(Value: TFont);
procedure SetBitMapBG(Value: Boolean);
procedure AdjustTextBorders;
procedure SetVScrollBar(Value: TspSkinScrollBar);
procedure SetHScrollBar(Value: TspSkinScrollBar);
procedure OnVScrollBarChange(Sender: TObject);
procedure OnHScrollBarChange(Sender: TObject);
procedure SetSkinData(Value: TspSkinData);
procedure SetAlphaBlend(AValue: Boolean);
procedure SetAlphaBlendValue(AValue: Byte);
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure Change; override;
procedure GetSkinData;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
procedure CNCtlColorEdit(var Message:TWMCTLCOLOREDIT); message CN_CTLCOLOREDIT;
procedure CNCtlColorStatic(var Message:TWMCTLCOLORSTATIC); message CN_CTLCOLORSTATIC;
procedure WMCHAR(var Message:TMessage); message WM_CHAR;
procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMCONTEXTMENU(var Message: TWMCONTEXTMENU); message WM_CONTEXTMENU;
procedure WMAFTERDISPATCH(var Message: TMessage); message WM_AFTERDISPATCH;
procedure CreateParams(var Params: TCreateParams); override;
procedure WMNCPAINT(var Message: TWMNCPAINT); message WM_NCPAINT;
procedure WMSETFOCUS(var Message: TMessage); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TMessage); message WM_KILLFOCUS;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure WMMove(var Msg: TWMMove); message WM_MOVE;
procedure WMSize(var Msg: TWMSize); message WM_SIZE;
procedure WMLBUTTONDOWN(var Message: TMessage); message WM_LBUTTONDOWN;
procedure WMLBUTTONUP(var Message: TMessage); message WM_LBUTTONUP;
procedure WMMOUSEMOVE(var Message: TMessage); message WM_MOUSEMOVE;
procedure WMMOUSEWHEEL(var Message: TMessage); message WM_MOUSEWHEEL;
procedure WMSetText(var Message:TWMSetText); message WM_SETTEXT;
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
procedure WMCut(var Message: TMessage); message WM_Cut;
procedure WMPaste(var Message: TMessage); message WM_PASTE;
procedure WMClear(var Message: TMessage); message WM_CLEAR;
procedure WMUndo(var Message: TMessage); message WM_UNDO;
procedure WMVSCROLL(var Message: TWMVScroll); message WM_VSCROLL;
procedure WMHSCROLL(var Message: TWMHScroll); message WM_HSCROLL;
procedure DrawMemoBackGround(C: TCanvas);
function GetDisabledFontColor: TColor;
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
procedure CMSENCPaint(var Message: TMessage); message CM_SENCPAINT;
public
LTPoint, RTPoint, LBPoint, RBPoint: TPoint;
ClRect: TRect;
SkinRect, ActiveSkinRect: TRect;
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor: TColor;
ActiveFontColor: TColor;
BGColor: TColor;
ActiveBGColor: TColor;
LeftStretch, TopStretch, RightStretch, BottomStretch : Boolean;
StretchEffect: Boolean;
StretchType: TspStretchType;
//
procedure UpDateScrollRange;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData;
procedure SetParentImage;
procedure Invalidate; override;
published
//
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property UseSkinFontColor: Boolean read FUseSkinFontColor write FUseSkinFontColor;
property BitMapBG: Boolean read FBitMapBG write SetBitMapBG;
property VScrollBar: TspSkinScrollBar read FVScrollBar
write SetVScrollBar;
property HScrollBar: TspSkinScrollBar read FHScrollBar
write SetHScrollBar;
property SkinData: TspSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property Transparent: Boolean read FAlphaBlend write SetAlphaBlend;
property AlphaBlendValue: Byte
read FAlphaBlendValue write SetAlphaBlendValue;
//
property ReadOnly read FReadOnly write FReadOnly;
property Align;
property Alignment;
property Anchors;
property BiDiMode;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property ImeMode;
property ImeName;
property Lines;
property MaxLength;
property OEMConvert;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property WantReturns;
property WantTabs;
property WordWrap;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
end;
TspSkinMemo2 = class(TMemo)
protected
FMouseIn: Boolean;
FIndex: Integer;
FSD: TspSkinData;
FSkinDataName: String;
FOnMouseEnter, FOnMouseLeave: TNotifyEvent;
FVScrollBar: TspSkinScrollBar;
FHScrollBar: TspSkinScrollBar;
FDown: Boolean;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FUseSkinFontColor: Boolean;
FSysPopupMenu: TspSkinPopupMenu;
procedure DoUndo(Sender: TObject);
procedure DoCut(Sender: TObject);
procedure DoCopy(Sender: TObject);
procedure DoPaste(Sender: TObject);
procedure DoDelete(Sender: TObject);
procedure DoSelectAll(Sender: TObject);
procedure CreateSysPopupMenu;
procedure OnDefaultFontChange(Sender: TObject);
procedure SetDefaultFont(Value: TFont);
procedure SetVScrollBar(Value: TspSkinScrollBar);
procedure SetHScrollBar(Value: TspSkinScrollBar);
procedure OnVScrollBarChange(Sender: TObject);
procedure OnHScrollBarChange(Sender: TObject);
procedure SetSkinData(Value: TspSkinData);
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure Change; override;
procedure GetSkinData;
procedure WMCONTEXTMENU(var Message: TWMCONTEXTMENU); message WM_CONTEXTMENU;
procedure WMAFTERDISPATCH(var Message: TMessage); message WM_AFTERDISPATCH;
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
procedure CNCtlColorEdit(var Message:TWMCTLCOLOREDIT); message CN_CTLCOLOREDIT;
procedure WMCHAR(var Message:TMessage); message WM_CHAR;
procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure CreateParams(var Params: TCreateParams); override;
procedure WMSETFOCUS(var Message: TMessage); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TMessage); message WM_KILLFOCUS;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure WMMove(var Msg: TWMMove); message WM_MOVE;
procedure WMSize(var Msg: TWMSize); message WM_SIZE;
procedure WMLBUTTONDOWN(var Message: TMessage); message WM_LBUTTONDOWN;
procedure WMLBUTTONUP(var Message: TMessage); message WM_LBUTTONUP;
procedure WMMOUSEMOVE(var Message: TMessage); message WM_MOUSEMOVE;
procedure WMMOUSEWHEEL(var Message: TMessage); message WM_MOUSEWHEEL;
procedure WMSetText(var Message:TWMSetText); message WM_SETTEXT;
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
procedure WMCut(var Message: TMessage); message WM_Cut;
procedure WMPaste(var Message: TMessage); message WM_PASTE;
procedure WMClear(var Message: TMessage); message WM_CLEAR;
procedure WMUndo(var Message: TMessage); message WM_UNDO;
procedure WMVSCROLL(var Message: TWMVScroll); message WM_VSCROLL;
procedure WMHSCROLL(var Message: TWMHScroll); message WM_HSCROLL;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
function GetDisabledFontColor: TColor;
procedure CMSENCPaint(var Message: TMessage); message CM_SENCPAINT;
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor: TColor;
ActiveFontColor: TColor;
BGColor: TColor;
ActiveBGColor: TColor;
//
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData;
procedure Invalidate; override;
property BorderStyle;
property ScrollBars;
procedure UpDateScrollRange;
published
//
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property UseSkinFontColor: Boolean read FUseSkinFontColor write FUseSkinFontColor;
property VScrollBar: TspSkinScrollBar read FVScrollBar
write SetVScrollBar;
property HScrollBar: TspSkinScrollBar read FHScrollBar
write SetHScrollBar;
property SkinData: TspSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
//
property ReadOnly;
property Align;
property Alignment;
property Anchors;
property BiDiMode;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property ImeMode;
property ImeName;
property Lines;
property MaxLength;
property OEMConvert;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property WantReturns;
property WantTabs;
property WordWrap;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -