📄 bsskinctrls.pas
字号:
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure GetSkinData;
procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor, ActiveFontColor: TColor;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData;
procedure Click; override;
published
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property DefaultActiveFontColor: TColor
read FDefaultActiveFontColor write FDefaultActiveFontColor;
property URL: String read FURL write FURL;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property SkinData: TbsSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property Font;
property Align;
property Alignment;
property Anchors;
property AutoSize;
property BiDiMode;
property Caption;
property Color;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property FocusControl;
property ParentBiDiMode;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowAccelChar;
property ShowHint;
property Layout;
property Visible;
property WordWrap;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinButtonLabel = class(TGraphicControl)
protected
FMouseIn, FDown: Boolean;
FIndex: Integer;
FSD: TbsSkinData;
FSkinDataName: String;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FDefaultActiveFontColor: TColor;
FGlyph: TBitMap;
FNumGlyphs: TbsNumGlyphs;
FMargin: Integer;
FSpacing: Integer;
FLayout: TbsButtonLayout;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure SetSkinData(Value: TbsSkinData);
procedure SetDefaultFont(Value: TFont);
procedure SetLayout(Value : TbsButtonLayout);
procedure SetMargin(Value: Integer);
procedure SetSpacing(Value: Integer);
procedure SetNumGlyphs(Value: TbsNumGlyphs);
procedure SetGlyph(Value: TBitMap);
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
public
FontColor: TColor;
ActiveFontColor: TColor;
FontName: String;
FontHeight: Integer;
FontStyle: TFontStyles;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData;
procedure Paint; override;
published
property Glyph: TBitMap read FGlyph write SetGlyph;
property NumGlyphs: TbsNumGlyphs read FNumGlyphs write SetNumGlyphs;
property Margin: Integer read FMargin write SetMargin default -1;
property Spacing: Integer read FSpacing write SetSpacing default 4;
property Layout: TbsButtonLayout read FLayout write SetLayout default blGlyphLeft;
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property DefaultActiveFontColor: TColor
read FDefaultActiveFontColor write FDefaultActiveFontColor;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property SkinData: TbsSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property Align;
property Anchors;
property AutoSize;
property BiDiMode;
property Caption;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property ParentBiDiMode;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property Visible;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinStdLabel = class(TCustomLabel)
protected
FIndex: Integer;
FSD: TbsSkinData;
FSkinDataName: String;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FUseSkinColor: Boolean;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure SetSkinData(Value: TbsSkinData);
procedure SetDefaultFont(Value: TFont);
property Transparent;
procedure DoDrawText(var Rect: TRect; Flags: Longint); override;
procedure DoDrawText2(C: TCanvas; var Rect: TRect; Flags: Longint; AText: String);
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor: TColor;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure GetSkinData;
procedure ChangeSkinData;
procedure PaintSkinTo(C: TCanvas; X, Y: Integer; AText: String);
published
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property UseSkinColor: Boolean read FUseSkinColor write FUseSkinColor;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property SkinData: TbsSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property Font;
property Align;
property Alignment;
property Anchors;
property AutoSize;
property BiDiMode;
property Caption;
property Color;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property FocusControl;
property ParentBiDiMode;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowAccelChar;
property ShowHint;
property Layout;
property Visible;
property WordWrap;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinLabel = class(TbsSkinCustomControl)
protected
FUseSkinSize: Boolean;
FAlignment: TAlignment;
FAutoSize: Boolean;
FBorderStyle: TbsSkinBorderStyle;
FUseSkinFontColor: Boolean;
procedure SetBorderStyle(Value: TbsSkinBorderStyle);
procedure DrawLabelText(Cnvs: TCanvas; R: TRect);
function CalcWidthOffset: Integer; virtual;
procedure AdjustBounds;
procedure PaintLabel(B: TBitMap);
procedure SetAutoSizeX(Value: Boolean);
procedure SetAlignment(Value: TAlignment);
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
procedure CalcSize(var W, H: Integer); override;
procedure GetSkinData; override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure SetControlRegion; override;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor: TColor;
constructor Create(AOwner: TComponent); override;
published
property UseSkinSize: Boolean read FUseSkinSize write FUseSkinSize;
property UseSkinFontColor: Boolean
read FUseSkinFontColor write FUseSkinFontColor;
property BorderStyle: TbsSkinBorderStyle
read FBorderStyle write SetBorderStyle;
property Alignment: TAlignment read FAlignment write SetAlignment
default taLeftJustify;
property Align;
property Caption;
property DragCursor;
property BiDiMode;
property DragKind;
property DragMode;
property Enabled;
property PopupMenu;
property ShowHint;
property Visible;
property AutoSize: Boolean read FAutoSize write SetAutoSizeX;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinTrackBar = class(TbsSkinCustomControl)
protected
FClicksDisabled: Boolean;
FCanFocused: Boolean;
Offset1, Offset2, BOffset: Integer;
BR: TRect;
FMinValue, FMaxValue, FValue: Integer;
FVertical: Boolean;
FMouseSupport, FDown: Boolean;
OMPos: Integer;
OldBOffset: Integer;
FOnChange: TNotifyEvent;
FOnLastChange: TNotifyEvent;
FOnStartDragButton: TNotifyEvent;
FJumpWhenClick: Boolean;
function IsFocused: Boolean;
procedure SetCanFocused(Value: Boolean);
procedure SetVertical(AValue: Boolean);
procedure SetMinValue(AValue: Integer);
procedure SetMaxValue(AValue: Integer);
procedure SetValue(AValue: Integer);
procedure GetSkinData; override;
procedure CreateImage(B: TBitMap);
procedure CalcSize(var W, H: Integer); override;
function CalcButtonRect(R: TRect): TRect;
function CalcValue(AOffset: Integer): Integer;
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 WMMOUSEWHEEL(var Message: TMessage); message WM_MOUSEWHEEL;
procedure WMSETFOCUS(var Message: TWMSETFOCUS); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TWMKILLFOCUS); message WM_KILLFOCUS;
procedure WndProc(var Message: TMessage); override;
procedure CMWantSpecialKey(var Msg: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
public
TrackArea, NewTrackArea, ButtonRect, ActiveButtonRect: TRect;
ButtonTransparent: Boolean;
ButtonTransparentColor: TColor;
constructor Create(AOwner: TComponent); override;
published
property JumpWhenClick: Boolean read FJumpWhenClick write FJumpWhenClick;
property PopupMenu;
property ShowHint;
property TabStop;
property TabOrder;
property CanFocused: Boolean read FCanFocused write SetCanFocused;
property MouseSupport: Boolean read FMouseSupport write FMouseSupport;
property MinValue: Integer read FMinValue write SetMinValue;
property MaxValue: Integer read FMaxValue write SetMaxValue;
property Value: Integer read FValue write SetValue;
property Vertical: Boolean read FVertical write SetVertical;
property Align;
property Enabled;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property OnLastChange: TNotifyEvent read FOnLastChange write FOnLastChange;
property OnStartDragButton: TNotifyEvent
read FOnStartDragButton write FOnStartDragButton;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnKeyDown;
property OnKeyPress;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -