?? bsskinctrls.pas
字號:
ADown, AMouseIn: Boolean); virtual;
procedure SetLayout(Value : TbsButtonLayout);
procedure SetMargin(Value: Integer);
procedure SetSpacing(Value: Integer);
procedure SetGroupIndex(Value: Integer);
procedure SetDown(Value: Boolean);
procedure DoAllUp;
procedure SetNumGlyphs(Value: TbsNumGlyphs);
procedure SetGlyph(Value: TBitMap);
procedure GetSkinData; override;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
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 CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
procedure CMFocusChanged(var Message: TCMFocusChanged); message CM_FOCUSCHANGED;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure WMSETFOCUS(var Message: TWMSETFOCUS); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TWMKILLFOCUS); message WM_KILLFOCUS;
procedure WndProc(var Message: TMessage); override;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure ReDrawControl;
procedure CreateWnd; override;
procedure CalcSize(var W, H: Integer); override;
function EnableMorphing: Boolean;
function EnableAnimation: Boolean;
procedure DrawMenuMarker(C: TCanvas; R: TRect; AActive, ADown: Boolean);
procedure OnImagesMenuChanged(Sender: TObject);
procedure SetSkinImagesMenu(Value: TbsSkinImagesMenu);
property SkinImagesMenu: TbsSkinImagesMenu
read FSkinImagesMenu write SetSkinImagesMenu;
property UseImagesMenuImage: Boolean
read FUseImagesMenuImage write FUseImagesMenuImage;
property UseImagesMenuCaption: Boolean
read FUseImagesMenuCaption write FUseImagesMenuCaption;
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor, ActiveFontColor, DownFontColor, DisabledFontColor: TColor;
ActiveSkinRect, DownSkinRect, DisabledSkinRect, FocusedSkinRect: TRect;
AnimateSkinRect: TRect;
FrameCount: Integer;
AnimateInterval: Integer;
Morphing: Boolean;
MorphKind: TbsMorphKind;
ShowFocus: Boolean;
//
MenuMarkerFlatRect,
MenuMarkerRect,
MenuMarkerActiveRect,
MenuMarkerDownRect: TRect;
MenuMarkerTransparentColor: TColor;
//
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData; override;
procedure Click; override;
procedure Paint; override;
procedure ButtonClick; virtual;
procedure RefreshButton;
published
property ImageList: TCustomImageList read FImageList write FImageList;
property ImageIndex: Integer read FImageIndex write SetImageIndex;
property UseSkinSize: Boolean read FUseSkinSize write FUseSkinSize;
property UseSkinFontColor: Boolean read FUseSkinFontColor write FUseSkinFontColor;
property RepeatMode: Boolean read FRepeatMode write FRepeatMode;
property RepeatInterval: Integer
read FRepeatInterval write FRepeatInterval;
property AllowAllUp: Boolean read FAllowAllUp write FAllowAllUp;
property PopupMenu;
property ShowHint;
property TabStop;
property TabOrder;
property CanFocused: Boolean read FCanFocused write SetCanFocused;
property Action;
property ParentShowHint;
property Down: Boolean read FDown write SetDown;
property GroupIndex: Integer read FGroupIndex write SetGroupIndex;
property Caption;
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 Align;
property Enabled;
property Cancel: Boolean read FCancel write FCancel default False;
property Default: Boolean read FDefault write SetDefault default False;
property ModalResult: TModalResult read FModalResult write FModalResult default 0;
property OnClick: TNotifyEvent read FOnClick write FOnClick;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnEnter;
property OnExit;
end;
TbsSkinMenuButton = class(TbsSkinButton)
protected
FOnShowTrackMenu: TNotifyEvent;
FOnHideTrackMenu: TNotifyEvent;
FTrackButtonMode: Boolean;
FMenuTracked: Boolean;
FSkinPopupMenu: TbsSkinPopupMenu;
procedure CreateButtonImage(B: TBitMap; R: TRect;
ADown, AMouseIn: Boolean); override;
function CanMenuTrack(X, Y: Integer): Boolean;
procedure TrackMenu;
procedure SetTrackButtonMode(Value: Boolean);
procedure GetSkinData; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure WMCLOSESKINMENU(var Message: TMessage); message WM_CLOSESKINMENU;
function GetNewTrackButtonRect: TRect;
procedure WndProc(var Message: TMessage); override;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinResizeImage(B: TBitMap;
ADown, AMouseIn: Boolean);
procedure CreateControlSkinResizeImage2(B: TBitMap;
ADown, AMouseIn: Boolean);
procedure OnImagesMenuClose(Sender: TObject);
public
TrackButtonRect: TRect;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property SkinPopupMenu: TbsSkinPopupMenu read FSkinPopupMenu
write FSkinPopupMenu;
property TrackButtonMode: Boolean read FTrackButtonMode
write SetTrackButtonMode;
property SkinImagesMenu;
property UseImagesMenuImage;
property UseImagesMenuCaption;
property OnShowTrackMenu: TNotifyEvent read FOnShowTrackMenu
write FOnShowTrackMenu;
property OnHideTrackMenu: TNotifyEvent read FOnHideTrackMenu
write FOnHideTrackMenu;
end;
TbsSkinCheckRadioBox = class(TbsSkinCustomControl)
protected
FUseSkinFontColor: Boolean;
FWordWrap: Boolean;
FAllowGrayed: Boolean;
FState: TCheckBoxState;
FImages: TCustomImageList;
FImageIndex: Integer;
FFLat: Boolean;
FClicksDisabled: Boolean;
FCanFocused: Boolean;
FMouseIn: Boolean;
FGroupIndex: Integer;
FOnClick: TNotifyEvent;
FChecked: Boolean;
CIRect, NewTextArea: TRect;
FRadio: Boolean;
MorphTimer: TTimer;
FMorphKf: Double;
procedure SetWordWrap(Value: Boolean);
procedure SetImageIndex(Value: Integer);
procedure SetImages(Value: TCustomImageList);
procedure SetFlat(Value: Boolean);
procedure DoMorph(Sender: TObject);
procedure StartMorph;
procedure StopMorph;
function IsFocused: Boolean;
procedure SkinDrawCheckImage(X, Y: Integer; Cnvs: TCanvas; IR: TRect; DestCnvs: TCanvas);
procedure SkinDrawGrayedCheckImage(X, Y: Integer; Cnvs: TCanvas; IR: TRect; DestCnvs: TCanvas);
procedure SetCheckState; virtual;
procedure SetCanFocused(Value: Boolean);
procedure SetRadio(Value: Boolean);
procedure SetChecked(Value: Boolean);
procedure CreateImage(B: TBitMap; R: TRect; AMouseIn: Boolean);
procedure CreateImage2(B: TBitMap; R: TRect; AChecked: Boolean);
procedure UnCheckAll;
procedure GetSkinData; override;
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 MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure ReDrawControl;
procedure CalcSize(var W, H: Integer); override;
procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
procedure WMSETFOCUS(var Message: TWMSETFOCUS); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TWMKILLFOCUS); message WM_KILLFOCUS;
procedure WMMOVE(var Msg: TWMMOVE); message WM_MOVE;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
procedure WndProc(var Message: TMessage); override;
procedure CMDialogChar(var Message: TCMDialogChar); message CM_DIALOGCHAR;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
function EnableMorphing: Boolean;
procedure SetState(Value: TCheckBoxState);
procedure SetAllowGrayed(Value: Boolean);
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor, ActiveFontColor, FrameFontColor, UnEnabledFontColor: TColor;
ActiveSkinRect, CheckImageArea, TextArea,
CheckImageRect, UnCheckImageRect: TRect;
ActiveCheckImageRect, ActiveUnCheckImageRect: TRect;
UnEnabledCheckImageRect, UnEnabledUnCheckImageRect: TRect;
Morphing: Boolean;
MorphKind: TbsMorphKind;
GrayedCheckImageRect, ActiveGrayedCheckImageRect: TRect;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData; override;
procedure Paint; override;
procedure PaintSkinTo(C: TCanvas; X, Y: Integer; AChecked: Boolean);
procedure CheckParentBackground; override;
published
property WordWrap: boolean read FWordWrap write SetWordWrap;
property AllowGrayed: Boolean read FAllowGrayed write SetAllowGrayed;
property State: TCheckBoxState read FState write SetState;
property Images: TCustomImageList read FImages write SetImages;
property ImageIndex: Integer read FImageIndex write SetImageIndex;
property Flat: Boolean read FFlat write SetFlat;
property UseSkinFontColor: Boolean
read FUseSkinFontColor write FUseSkinFontColor;
property PopupMenu;
property ShowHint;
property TabStop;
property TabOrder;
property CanFocused: Boolean read FCanFocused write SetCanFocused;
property Action;
property Radio: Boolean read FRadio write SetRadio;
property Checked: Boolean read FChecked write SetChecked;
property GroupIndex: Integer read FGroupIndex write FGroupIndex;
property Caption;
property OnClick: TNotifyEvent read FOnClick write FOnClick;
property Align;
property Enabled;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnEnter;
property OnExit;
end;
TbsGaugePaintEvent = procedure(Cnvs: TCanvas; AProgressArea, AProgressRect: TRect) of object;
TbsSkinGauge = class(TbsSkinCustomControl)
protected
FAnimationFrame: Integer;
FAnimationPauseTimer: TTimer;
FAnimationTimer: TTimer;
FProgressAnimationPause: Integer;
FUseSkinSize: Boolean;
FMinValue, FMaxValue, FValue: Integer;
FVertical: Boolean;
FProgressText: String;
FShowPercent: Boolean;
FShowProgressText: Boolean;
FOnGaugePaint: TbsGaugePaintEvent;
procedure OnAnimationPauseTimer(Sender: TObject);
procedure OnAnimationTimer(Sender: TObject);
procedure SetShowProgressText(Value: Boolean);
procedure SetShowPercent(Value: Boolean);
procedure SetProgressText(Value: String);
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;
procedure DrawProgressText(C: TCanvas; AValue: Integer);
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
function GetPaintValue: Integer; virtual;
function GetAnimationFrameRect: TRect;
public
ProgressRect, ProgressArea: TRect;
NewProgressArea: TRect;
BeginOffset, EndOffset: Integer;
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
FontColor: TColor;
ProgressTransparent: Boolean;
ProgressTransparentColor: TColor;
ProgressStretch: Boolean;
//
ProgressAnimationSkinRect: TRect;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -