📄 skinctrls.pas
字号:
procedure PaintControlFrame(Canvas: TCanvas; AControl: TControl;
var ARect: TRect); override;
public
LTPt, RTPt, LBPt, RBPt: TPoint;
SkinRect, ClRect, NewClRect, ItemRect: TRect;
NewLTPoint, NewRTPoint, NewLBPoint, NewRBPoint: TPoint;
FSkinPicture: TBitMap;
BGPictureIndex: Integer;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Paint; override;
property Canvas;
procedure GetSkinData;
procedure ChangeSkinData;
published
property SkinDataName: String read FSkinDataName write FSkinDataName;
property SkinData: TspSkinData read FSD write SetSkinData;
property SkinBevel: Boolean read FSkinBevel write SetSkinBevel;
property Align;
property Anchors;
property AutoDrag;
property AutoSize;
property BevelEdges;
property BevelInner;
property BevelOuter;
property BevelKind;
property BevelWidth;
property BorderWidth;
property Color;
property Constraints;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property Picture;
property PopupMenu;
property RowSize;
property RowSnap;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnBandDrag;
property OnBandInfo;
property OnBandMove;
property OnBandPaint;
property OnCanResize;
property OnClick;
property OnConstrainedResize;
property OnDockDrop;
property OnDockOver;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetSiteInfo;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnPaint;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
end;
TspSkinSplitter = class(TSplitter)
protected
FDefaultSize: Integer;
FIndex: Integer;
FSD: TspSkinData;
FSkinDataName: String;
procedure SetSkinData(Value: TspSkinData);
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
public
LTPt, RTPt, LBPt: TPoint;
SkinRect: TRect;
FSkinPicture: TBitMap;
procedure GetSkinData;
procedure ChangeSkinData;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Paint; override;
published
property DefaultSize: Integer read FDefaultSize write FDefaultSize;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property SkinData: TspSkinData read FSD write SetSkinData;
end;
TspSkinCustomRadioGroup = class(TspSkinGroupBox)
private
FButtonSkinDataName: String;
FButtons: TList;
FItems: TStrings;
FItemIndex: Integer;
FColumns: Integer;
FReading: Boolean;
FUpdating: Boolean;
procedure SetButtonSkinDataName(Value: String);
procedure ArrangeButtons;
procedure ButtonClick(Sender: TObject);
procedure ItemsChange(Sender: TObject);
procedure SetButtonCount(Value: Integer);
procedure SetColumns(Value: Integer);
procedure SetItemIndex(Value: Integer);
procedure SetItems(Value: TStrings);
procedure UpdateButtons;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;
procedure WMSize(var Message: TWMSize); message WM_SIZE;
protected
procedure SetSkinData(Value: TspSkinData); override;
procedure Loaded; override;
procedure ReadState(Reader: TReader); override;
function CanModify: Boolean; virtual;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
property Columns: Integer read FColumns write SetColumns default 1;
property ItemIndex: Integer read FItemIndex write SetItemIndex default -1;
property Items: TStrings read FItems write SetItems;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData; override;
procedure FlipChildren(AllLevels: Boolean); override;
property ButtonSkinDataName: String
read FButtonSkinDataName write SetButtonSkinDataName;
end;
TspSkinCustomCheckGroup = class(TspSkinGroupBox)
private
FItemIndex: Integer;
FButtonSkinDataName: String;
FButtons: TList;
FItems: TStrings;
FColumns: Integer;
FReading: Boolean;
FUpdating: Boolean;
FButtonDefaultFont: TFont;
procedure SetButtonDefaultFont(Value: TFont);
procedure SetButtonSkinDataName(Value: String);
procedure ArrangeButtons;
procedure ButtonClick(Sender: TObject);
procedure ItemsChange(Sender: TObject);
procedure SetButtonCount(Value: Integer);
procedure SetColumns(Value: Integer);
procedure SetItems(Value: TStrings);
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure CMFontChanged(var Message: TMessage); message CM_FONTCHANGED;
procedure WMSize(var Message: TWMSize); message WM_SIZE;
protected
procedure UpdateButtons;
procedure SetSkinData(Value: TspSkinData); override;
procedure Loaded; override;
procedure ReadState(Reader: TReader); override;
function CanModify: Boolean; virtual;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
function GetCheckedStatus(Index: Integer): Boolean;
procedure SetCheckedStatus(Index: Integer; Value: Boolean);
property Columns: Integer read FColumns write SetColumns default 1;
property Items: TStrings read FItems write SetItems;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData; override;
procedure FlipChildren(AllLevels: Boolean); override;
property ButtonDefaultFont: TFont
read FButtonDefaultFont write SetButtonDefaultFont;
property ButtonSkinDataName: String
read FButtonSkinDataName write SetButtonSkinDataName;
property Checked[Index: Integer]: Boolean read GetCheckedStatus write SetCheckedStatus;
property ItemIndex: Integer read FItemIndex;
end;
TspSkinCheckGroup = class(TspSkinCustomCheckGroup)
published
property ButtonSkinDataName;
property ButtonDefaultFont;
property Align;
property Anchors;
property BiDiMode;
property Caption;
property Color;
property Columns;
property Ctl3D;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property Items;
property ItemIndex;
property Constraints;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnClick;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDock;
property OnStartDrag;
end;
TspSkinRadioGroup = class(TspSkinCustomRadioGroup)
published
property ButtonSkinDataName;
property Align;
property Anchors;
property BiDiMode;
property Caption;
property Color;
property Columns;
property Ctl3D;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property Font;
property ItemIndex;
property Items;
property Constraints;
property ParentBiDiMode;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnClick;
{$IFDEF VER130}
property OnContextPopup;
{$ENDIF}
{$IFDEF VER140}
property OnContextPopup;
{$ENDIF}
{$IFDEF VER150}
property OnContextPopup;
{$ENDIF}
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDock;
property OnStartDrag;
end;
TspSkinCustomTreeView = class(TCustomTreeView)
protected
FInCheckScrollBars: Boolean;
FSD: TspSkinData;
FSkinDataName: String;
FIndex: Integer;
FDefaultFont: TFont;
FDefaultColor: TColor;
FVScrollBar: TspSkinScrollBar;
FHScrollBar: TspSkinScrollBar;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure SetDefaultColor(Value: TColor);
procedure SetDefaultFont(Value: TFont);
procedure SetSkinData(Value: TspSkinData);
procedure SetVScrollBar(Value: TspSkinScrollBar);
procedure SetHScrollBar(Value: TspSkinScrollBar);
procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPAINT(var Message: TWMNCPAINT); message WM_NCPAINT;
procedure WndProc(var Message: TMessage); override;
procedure CMVisibleChanged(var Message: TMessage); message CM_VISIBLECHANGED;
procedure OnVScrollBarChange(Sender: TObject);
procedure OnHScrollBarChange(Sender: TObject);
procedure CreateParams(var Params: TCreateParams); override;
procedure Change(Node: TTreeNode); override;
procedure Loaded; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData;
procedure UpDateScrollBars;
property HScrollBar: TspSkinScrollBar read FHScrollBar
write SetHScrollBar;
property VScrollBar: TspSkinScrollBar read FVScrollBar
write SetVScrollBar;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property SkinData: TspSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property DefaultColor: TColor read FDefaultColor write SetDefaultColor;
end;
TspSkinTreeView = class(TspSkinCustomTreeView)
published
property Items;
property HScrollBar;
property VScrollBar;
property DefaultFont;
property SkinData;
property SkinDataName;
property DefaultColor;
property Align;
property Anchors;
property AutoExpand;
property BiDiMode;
property ChangeDelay;
property Color;
property Constraints;
property DragKind;
property DragCursor;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property HotTrack;
property Images;
property Indent;
{$IFDEF VER140}
property MultiSelect;
property MultiSelectStyle;
{$ENDIF}
{$IFDEF VER150}
property MultiSelect;
property MultiSelectStyle;
{$ENDIF}
property ParentBiDiMode;
property ParentColor default False;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property Pop
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -