📄 bsskinshellctrls.pas
字号:
ItemWidth, ItemHeight: Integer; TextRect: TRect; State: TOwnerDrawState);
procedure AddItemsEx(Index: Integer; ParentFolder: TbsShellFolder);
procedure Change; override;
procedure Click; override;
procedure CreateRoot;
procedure CreateWnd; override;
procedure DestroyWnd; override;
function IndexFromID(AbsoluteID: PItemIDList): Integer;
procedure Init; virtual;
function InitItem(ParentFolder: TbsShellFolder; ID: PItemIDList): TbsShellFolder;
procedure Loaded; override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure RootChanged;
procedure TreeUpdate(NewPath: PItemIDList);
procedure SetObjectTypes(Value: TShellObjectTypes); virtual;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ItemsEx: TbsItemsEx read FItemsEx write SetItemsEx;
property Path: string read GetPath write SetPath;
property Folders[Index: Integer]: TbsShellFolder read GetFolder;
property Root: TRoot read FRoot write SetRoot;
property ObjectTypes: TShellObjectTypes read FObjectTypes write SetObjectTypes;
property ShellTreeView: TbsCustomShellTreeView read FTreeView write SetTreeView;
property ShellListView: TbsCustomShellListView read FListView write SetListView;
end;
TbsSkinShellComboBox = class(TbsCustomShellComboBox)
published
property AlphaBlend;
property AlphaBlendValue;
property AlphaBlendAnimation;
property ListBoxCaption;
property ListBoxCaptionMode;
property ListBoxDefaultFont;
property ListBoxDefaultCaptionFont;
property ListBoxDefaultItemHeight;
property ListBoxCaptionAlignment;
property ListBoxUseSkinFont;
property ListBoxUseSkinItemHeight;
property ListBoxWidth;
property Images;
property Root;
property ObjectTypes;
property ShellTreeView;
property ShellListView;
property Anchors;
property BiDiMode;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property DropDownCount;
property Enabled;
property Font;
property ImeMode;
property ImeName;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnDropDown;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnStartDock;
property OnStartDrag;
end;
{ Dialogs }
TbsSelDirDlgForm = class(TForm)
protected
CtrlSD: TbsSkinData;
ShowToolBar: Boolean;
procedure NewFolderToolButtonClick(Sender: TObject);
procedure DirTreeChange(Sender: TObject; Node: TTreeNode);
procedure EditKeyPress(Sender: TObject; var Key: Char);
public
BSF: TbsBusinessSkinForm;
DirTreeViewPanel, BottomPanel: TbsSkinPanel;
DirTreeView: TbsSkinDirTreeView;
VScrollBar, HScrollBar: TbsSkinScrollBar;
OkButton, CancelButton: TbsSkinButton;
//
ToolPanel: TbsSkinPanel;
NewFolderToolButton: TbsSkinSpeedButton;
DirEdit: TbsSkinEdit;
//
constructor CreateEx(AOwner: TComponent; ACtrlSkinData: TbsSkinData; AShowToolBar: Boolean;
AToolButtonsTransparent: Boolean);
end;
TbsSkinSelectDirectoryDialog = class(TComponent)
private
FToolButtonsTransparent: Boolean;
FDialogWidth, FDialogHeight: Integer;
FDialogMinWidth, FDialogMinHeight: Integer;
FSD: TbsSkinData;
FCtrlFSD: TbsSkinData;
FDefaultFont: TFont;
FTitle: String;
FDlgFrm: TbsSelDirDlgForm;
FOnChange: TNotifyEvent;
FDirectory: String;
FAlphaBlend: Boolean;
FAlphaBlendValue: Byte;
FAlphaBlendAnimation: Boolean;
FShowToolBar: Boolean;
function GetTitle: string;
procedure SetTitle(const Value: string);
procedure SetDefaultFont(Value: TFont);
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Change;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Execute: Boolean;
published
property ToolButtonsTransparent: Boolean
read FToolButtonsTransparent write FToolButtonsTransparent;
property DialogWidth: Integer read FDialogWidth write FDialogWidth;
property DialogHeight: Integer read FDialogHeight write FDialogHeight;
property DialogMinWidth: Integer read FDialogMinWidth write FDialogMinWidth;
property DialogMinHeight: Integer read FDialogMinHeight write FDialogMinHeight;
property AlphaBlend: Boolean read FAlphaBlend write FAlphaBlend;
property AlphaBlendValue: Byte read FAlphaBlendValue write FAlphaBlendValue;
property AlphaBlendAnimation: Boolean
read FAlphaBlendAnimation write FAlphaBlendAnimation;
property SkinData: TbsSkinData read FSD write FSD;
property CtrlSkinData: TbsSkinData read FCtrlFSD write FCtrlFSD;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property Title: string read GetTitle write SetTitle;
property Directory: String read FDirectory write FDirectory;
property ShowToolBar: Boolean read FShowToolBar write FShowToolBar;
end;
TbsSkinDirectoryEdit = class(TbsSkinEdit)
protected
FDlgSkinData: TbsSkinData;
FDlgCtrlSkinData: TbsSkinData;
SD: TbsSkinSelectDirectoryDialog;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ButtonClick(Sender: TObject);
published
property DlgSkinData: TbsSkinData read FDlgSkinData write FDlgSkinData;
property DlgCtrlSkinData: TbsSkinData read FDlgCtrlSkinData write FDlgCtrlSkinData;
end;
TbsOpenDlgForm = class(TForm)
private
SaveMode: Boolean;
FolderHistory: TList;
StopAddToHistory: Boolean;
CtrlSD: TbsSkinData;
NewFolderCount: Integer;
public
DefaultExt: String;
OverwritePromt: Boolean;
FileName: String;
BSF: TbsBusinessSkinForm;
FileListViewPanel,
BottomPanel: TbsSkinPanel;
FLVHScrollBar, FLVVScrollBar: TbsSkinScrollBar;
FileListView: TbsSkinFileListView;
FileNameEdit: TbsSkinEdit;
FilterComboBox: TbsSkinFilterComboBox;
ShellBox: TbsSkinShellComboBox;
OpenButton, CancelButton: TbsSkinButton;
Drivelabel, OpenFileLabel, FileTypeLabel: TbsSkinStdLabel;
ToolPanel: TbsSkinToolBar;
NewFolderToolButton, UpToolButton, BackToolButton: TbsSkinSpeedButton;
StyleToolButton: TbsSkinMenuSpeedButton;
StylePopupMenu: TbsSkinPopupMenu;
IconMenuItem, SmallIconMenuItem, ReportMenuItem, ListMenuItem: TMenuItem;
OnFolderChange: TNotifyEvent;
CheckFileExists: Boolean;
constructor CreateEx(AOwner: TComponent; ASaveMode: Boolean; ACtrlSkinData: TbsSkinData;
AToolButtonsTransparent: Boolean);
destructor Destroy; override;
procedure FLVChange(Sender: TObject; Item: TListItem; Change: TItemChange);
procedure FLVPathChange(Sender: TObject);
procedure FCBChange(Sender: TObject);
procedure OpenButtonClick(Sender: TObject);
procedure FLVDBLClick(Sender: TObject);
procedure FLVKeyPress(Sender: TObject; var Key: Char);
procedure EditKeyPress(Sender: TObject; var Key: Char);
procedure UpToolButtonClick(Sender: TObject);
procedure BackToolButtonClick(Sender: TObject);
procedure NewFolderToolButtonClick(Sender: TObject);
procedure ReportItemClick(Sender: TObject);
procedure ListItemClick(Sender: TObject);
procedure SmallIconItemClick(Sender: TObject);
procedure IconItemClick(Sender: TObject);
procedure InitHistory;
end;
TbsSkinOpenDialog = class(TComponent)
private
FToolButtonsTransparent: Boolean;
FOverwritePromt: Boolean;
FDefaultExt: String;
FDialogWidth, FDialogHeight: Integer;
FDialogMinWidth, FDialogMinHeight: Integer;
FOnFolderChange: TNotifyEvent;
FCheckFileExists: Boolean;
FMultiSelection: Boolean;
FSD: TbsSkinData;
FCtrlFSD: TbsSkinData;
FLVHeaderSkinDataName: String;
FDefaultFont: TFont;
FTitle: String;
FDlgFrm: TbsOpenDlgForm;
FOnChange: TNotifyEvent;
FInitialDir: String;
FFilter: String;
FFileName: String;
FFilterIndex: Integer;
FAlphaBlend: Boolean;
FAlphaBlendValue: Byte;
FAlphaBlendAnimation: Boolean;
FCtrlAlphaBlend: Boolean;
FCtrlAlphaBlendValue: Byte;
FCtrlAlphaBlendAnimation: Boolean;
FFiles: TStringList;
function GetTitle: string;
procedure SetTitle(const Value: string);
procedure SetDefaultFont(Value: TFont);
procedure SetFileName(const Value: String);
protected
FSaveMode: Boolean;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Change;
public
ListViewStyle: TViewStyle;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Execute: Boolean;
property Files: TStringList read FFiles;
function GetSelectedFile: String;
published
property ToolButtonsTransparent: Boolean
read FToolButtonsTransparent write FToolButtonsTransparent;
property OverwritePromt: Boolean read FOverwritePromt write FOverwritePromt;
property DefaultExt: String read FDefaultExt write FDefaultExt;
property DialogWidth: Integer read FDialogWidth write FDialogWidth;
property DialogHeight: Integer read FDialogHeight write FDialogHeight;
property DialogMinWidth: Integer read FDialogMinWidth write FDialogMinWidth;
property DialogMinHeight: Integer read FDialogMinHeight write FDialogMinHeight;
property CheckFileExists: Boolean read FCheckFileExists write FCheckFileExists;
property MultiSelection: Boolean read FMultiSelection write FMultiSelection;
property AlphaBlend: Boolean read FAlphaBlend write FAlphaBlend;
property AlphaBlendValue: Byte read FAlphaBlendValue write FAlphaBlendValue;
property AlphaBlendAnimation: Boolean
read FAlphaBlendAnimation write FAlphaBlendAnimation;
property CtrlAlphaBlend: Boolean read FCtrlAlphaBlend write FCtrlAlphaBlend;
property CtrlAlphaBlendValue: Byte read FCtrlAlphaBlendValue write FCtrlAlphaBlendValue;
property CtrlAlphaBlendAnimation: Boolean
read FCtrlAlphaBlendAnimation write FCtrlAlphaBlendAnimation;
property LVHeaderSkinDataName: String
read FLVHeaderSkinDataName write FLVHeaderSkinDataName;
property SkinData: TbsSkinData read FSD write FSD;
property CtrlSkinData: TbsSkinData read FCtrlFSD write FCtrlFSD;
property DefaultFont: TFont read FDefaultFont write SetDefaultFont;
property Title: string read GetTitle write SetTitle;
property InitialDir: String read FInitialDir write FInitialDir;
property Filter: String read FFilter write FFilter;
property FilterIndex: Integer read FFilterIndex write FFilterIndex;
property FileName: String read FFileName write SetFileName;
property OnFolderChange: TNotifyEvent read FOnFolderChange write FOnFolderChange;
end;
TbsSkinSaveDialog = class(TbsSkinOpenDialog)
public
constructor Create(AOwner: TComponent); override;
end;
TbsSkinFileEdit = class(TbsSkinEdit)
protected
FDlgSkinData: TbsSkinData;
FDlgCtrlSkinData: TbsSkinData;
OD: TbsSkinOpenDialog;
FLVHeaderSkinDataName: String;
function GetFilter: String;
procedure SetFilter(Value: String);
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ButtonClick(Sender: TObject);
published
property Filter: String read GetFilter write SetFilter;
property DlgSkinData: TbsSkinData read FDlgSkinData write FDlgSkinData;
property DlgCtrlSkinData: TbsSkinData read FDlgCtrlSkinData write FDlgCtrlSkinData;
property LVHeaderSkinDataName: String
read FLVHeaderSkinDataName write FLVHeaderSkinDataName;
end;
TbsSkinSaveFileEdit = class(TbsSkinEdit)
protected
FDlgSkinData: TbsSkinData;
FDlgCtrlSkinData: TbsSkinData;
OD: TbsSkinSaveDialog;
FLVHeaderSkinDataName: String;
function GetFilter: String;
procedure SetFilter(Value: String);
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ButtonClick(Sender: TObject);
published
property Filter: String read GetFilter write SetFilter;
property DlgSkinData: TbsSkinData read FDlgSkinData write FDlgSkinData;
property DlgCtrlSkinData: TbsSkinData read FDlgCtrlSkinData write FDlgCtrlSkinData;
property LVHeaderSkinDataName: String
read FLVHeaderSkinDataName write FLVHeaderSkinDataName;
end;
TbsOpenPictureDlgForm = class(TForm)
private
SaveMode: boolean;
FolderHistory: TList;
StopAddToHistory: Boolean;
CtrlSD: TbsSkinData;
NewFolderCount: Integer;
public
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -