📄 bsskinctrls.pas
字号:
property Images: TCustomImageList read FImages write SetImages;
end;
TbsSkinCustomCheckGroup = class(TbsSkinGroupBox)
private
FImages: TCustomImageList;
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;
procedure SetImages(Value: TCustomImageList);
protected
procedure UpdateButtons;
procedure SetSkinData(Value: TbsSkinData); 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;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
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;
property Images: TCustomImageList read FImages write SetImages;
end;
TbsSkinCheckGroup = class(TbsSkinCustomCheckGroup)
published
property Images;
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;
TbsSkinRadioGroup = class(TbsSkinCustomRadioGroup)
published
property Images;
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 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;
property OnContextPopup;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinCustomTreeView = class(TCustomTreeView)
protected
FInCheckScrollBars: Boolean;
FSD: TbsSkinData;
FSkinDataName: String;
FIndex: Integer;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FDefaultColor: TColor;
FVScrollBar: TbsSkinScrollBar;
FHScrollBar: TbsSkinScrollBar;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure SetDefaultColor(Value: TColor);
procedure SetDefaultFont(Value: TFont);
procedure SetSkinData(Value: TbsSkinData);
procedure SetVScrollBar(Value: TbsSkinScrollBar);
procedure SetHScrollBar(Value: TbsSkinScrollBar);
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; virtual;
procedure UpDateScrollBars;
property HScrollBar: TbsSkinScrollBar read FHScrollBar
write SetHScrollBar;
property VScrollBar: TbsSkinScrollBar read FVScrollBar
write SetVScrollBar;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property SkinData: TbsSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDataName;
property DefaultColor: TColor read FDefaultColor write SetDefaultColor;
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
end;
TbsSkinTreeView = class(TbsSkinCustomTreeView)
published
property Items;
property HScrollBar;
property VScrollBar;
property DefaultFont;
property UseSkinFont;
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 PopupMenu;
property ReadOnly;
property RightClickSelect;
property RowSelect;
property ShowButtons;
property ShowHint;
property ShowLines;
property ShowRoot;
property SortType;
property StateImages;
property TabOrder;
property TabStop default True;
property ToolTips;
property Visible;
{$IFDEF VER140}
property OnAddition;
{$ENDIF}
{$IFDEF VER150}
property OnAddition;
{$ENDIF}
property OnAdvancedCustomDraw;
property OnAdvancedCustomDrawItem;
property OnChange;
property OnChanging;
property OnClick;
property OnCollapsed;
property OnCollapsing;
property OnCompare;
property OnContextPopup;
{$IFDEF VER140}
property OnCreateNodeClass;
{$ENDIF}
{$IFDEF VER150}
property OnCreateNodeClass;
{$ENDIF}
property OnCustomDraw;
property OnCustomDrawItem;
property OnDblClick;
property OnDeletion;
property OnDragDrop;
property OnDragOver;
property OnEdited;
property OnEditing;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnExpanding;
property OnExpanded;
property OnGetImageIndex;
property OnGetSelectedIndex;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDock;
property OnStartDrag;
end;
TbsSkinCustomListView = class(TCustomListView)
protected
FHeaderSkinDataName: String;
FInCheckScrollBars: Boolean;
FromSB: Boolean;
FSD: TbsSkinData;
FSkinDataName: String;
FIndex: Integer;
FDefaultFont: TFont;
FUseSkinFont: Boolean;
FDefaultColor: TColor;
//
FVScrollBar: TbsSkinScrollBar;
FHScrollBar: TbsSkinScrollBar;
FOldVScrollBarPos: Integer;
FOldHScrollBarPos: Integer;
//
FHeaderHandle: HWND;
FHeaderInstance: Pointer;
FDefHeaderProc: Pointer;
FActiveSection: Integer;
FHeaderDown: Boolean;
FHeaderInDivider: Boolean;
//
FHIndex: Integer;
HLTPt, HRTPt, HLBPt, HRBPt: TPoint;
HSkinRect, HClRect: TRect;
HNewLTPoint, HNewRTPoint, HNewLBPoint, HNewRBPoint: TPoint;
HNewClRect: TRect;
HPicture: TBitMap;
HFontColor, HActiveFontColor, HDownFontColor: TColor;
HActiveSkinRect, HDownSkinRect: TRect;
//
procedure HGetSkinData;
function GetHeaderSectionRect(Index: Integer): TRect;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure SetDefaultColor(Value: TColor);
procedure SetDefaultFont(Value: TFont);
procedure SetSkinData(Value: TbsSkinData);
procedure UpDateScrollBars1;
procedure UpDateScrollBars2;
procedure UpDateScrollBars3;
procedure SetVScrollBar(Value: TbsSkinScrollBar);
procedure SetHScrollBar(Value: TbsSkinScrollBar);
procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPAINT(var Message: TWMNCPAINT); message WM_NCPAINT;
procedure CMVisibleChanged(var Message: TMessage); message CM_VISIBLECHANGED;
procedure WndProc(var Message: TMessage); override;
procedure OnVScrollBarChange(Sender: TObject);
procedure OnHScrollBarChange(Sender: TObject);
procedure CreateParams(var Params: TCreateParams); override;
procedure Loaded; override;
//
procedure HeaderWndProc(var Message: TMessage);
procedure DrawHeaderSection(Cnvs: TCanvas; Column: TListColumn;
Active, Pressed: Boolean; R: TRect);
procedure PaintHeader(DC: HDC);
procedure CreateWnd; override;
//
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure UpDateScrollBars;
procedure ChangeSkinData;
property HScrollBar: TbsSkinScrollBar read FHScrollBar
write SetHScrollBar;
property VScrollBar: TbsSkinScrollBar read FVScrollBar
write SetVScrollBar;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property UseSkinFont: Boolean read FUseSkinFont write FUseSkinFont;
property SkinData: TbsSkinData read FSD write SetSkinData;
property SkinDataName: String read FSkinDataName write FSkinDat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -