📄 stdactns.pas
字号:
{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995-2001 Borland Software Corporation }
{ }
{*******************************************************}
unit StdActns;
{$H+,X+}
interface
uses SysUtils, Classes, ActnList, StdCtrls, Forms, Dialogs;
type
{ Hint actions }
THintAction = class(TCustomAction)
public
constructor Create(AOwner: TComponent); override;
published
property Hint;
end;
{ Edit actions }
TEditAction = class(TAction)
private
FControl: TCustomEdit;
procedure SetControl(Value: TCustomEdit);
protected
function GetControl(Target: TObject): TCustomEdit; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
destructor Destroy; override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
property Control: TCustomEdit read FControl write SetControl;
end;
TEditCut = class(TEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TEditCopy = class(TEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TEditPaste = class(TEditAction)
public
procedure UpdateTarget(Target: TObject); override;
procedure ExecuteTarget(Target: TObject); override;
end;
TEditSelectAll = class(TEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
end;
TEditUndo = class(TEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
end;
TEditDelete = class(TEditAction)
public
procedure ExecuteTarget(Target: TObject); override;
{ UpdateTarget is required because TEditAction.UpdateTarget specifically
checks to see if the action is TEditCut or TEditCopy }
procedure UpdateTarget(Target: TObject); override;
end;
{ MDI Window actions }
TWindowAction = class(TAction)
private
FForm: TCustomForm;
procedure SetForm(Value: TCustomForm);
protected
function GetForm(Target: TObject): TForm; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
property Form: TCustomForm read FForm write SetForm;
end;
TWindowClose = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
end;
TWindowCascade = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TWindowTileHorizontal = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TWindowTileVertical = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TWindowMinimizeAll = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
TWindowArrange = class(TWindowAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
{ Help actions }
THelpAction = class(TAction)
public
constructor Create(AOwner: TComponent); override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure UpdateTarget(Target: TObject); override;
end;
THelpContents = class(THelpAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
THelpTopicSearch = class(THelpAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
THelpOnHelp = class(THelpAction)
public
procedure ExecuteTarget(Target: TObject); override;
end;
THelpContextAction = class(THelpAction)
public
procedure ExecuteTarget(Target: TObject); override;
procedure UpdateTarget(Target: TObject); override;
end;
{ TCommonDialogAction }
TCommonDialogClass = class of TCommonDialog;
TCommonDialogAction = class(TCustomAction)
private
FExecuteResult: Boolean;
FOnAccept: TNotifyEvent;
FOnCancel: TNotifyEvent;
FBeforeExecute: TNotifyEvent;
protected
FDialog: TCommonDialog;
procedure DoAccept;
procedure DoCancel;
function GetDialogClass: TCommonDialogClass; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure SetupDialog;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Handlestarget(Target: TObject): Boolean; override;
procedure ExecuteTarget(Target: TObject); override;
property ExecuteResult: Boolean read FExecuteResult;
property BeforeExecute: TNotifyEvent read FBeforeExecute write FBeforeExecute;
property OnAccept: TNotifyEvent read FOnAccept write FOnAccept;
property OnCancel: TNotifyEvent read FOnCancel write FOnCancel;
end;
{ File Actions }
TFileAction = class(TCommonDialogAction)
private
function GetFileName: TFileName;
procedure SetFileName(const Value: TFileName);
protected
function GetDialog: TOpenDialog;
property FileName: TFileName read GetFileName write SetFileName;
end;
TFileOpen = class(TFileAction)
private
FUseDefaultApp: Boolean;
protected
function GetDialogClass: TCommonDialogClass; override;
public
constructor Create(AOwner: TComponent); override;
procedure ExecuteTarget(Target: TObject); override;
published
property Caption;
property Dialog: TOpenDialog read GetDialog;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property UseDefaultApp: Boolean read FUseDefaultApp write FUseDefaultApp default False;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TFileOpenWith = class(TFileOpen)
private
FFileName: TFileName;
FAfterOpen: TNotifyEvent;
public
procedure ExecuteTarget(Target: TObject); override;
published
property FileName: TFileName read FFileName write FFileName;
property HelpContext;
property HelpKeyword;
property HelpType;
property BeforeExecute;
property AfterOpen: TNotifyEvent read FAfterOpen write FAfterOpen;
end;
TFileSaveAs = class(TFileAction)
private
function GetSaveDialog: TSaveDialog;
protected
function GetDialogClass: TCommonDialogClass; override;
public
constructor Create(AOwner: TComponent); override;
published
property Caption;
property Dialog: TSaveDialog read GetSaveDialog;
property Enabled;
property HelpContext;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TFilePrintSetup = class(TCommonDialogAction)
private
function GetDialog: TPrinterSetupDialog;
protected
function GetDialogClass: TCommonDialogClass; override;
published
property Caption;
property Dialog: TPrinterSetupDialog read GetDialog;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TFilePageSetup = class(TCommonDialogAction)
private
function GetDialog: TPageSetupDialog;
protected
function GetDialogClass: TCommonDialogClass; override;
published
property Caption;
property Dialog: TPageSetupDialog read GetDialog;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TFileExit = class(TCustomAction)
public
function HandlesTarget(Target: TObject): Boolean; override;
procedure ExecuteTarget(Target: TObject); override;
published
property Caption;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property OnHint;
end;
{ Search Actions }
TSearchAction = class(TCommonDialogAction)
protected
FControl: TCustomEdit;
FFindFirst: Boolean;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function HandlesTarget(Target: TObject): Boolean; override;
procedure Search(Sender: TObject); virtual;
procedure UpdateTarget(Target: TObject); override;
procedure ExecuteTarget(Target: TObject); override;
end;
TSearchFind = class(TSearchAction)
private
function GetFindDialog: TFindDialog;
protected
function GetDialogClass: TCommonDialogClass; override;
published
property Caption;
property Dialog: TFindDialog read GetFindDialog;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TSearchReplace = class(TSearchAction)
private
procedure Replace(Sender: TObject);
function GetReplaceDialog: TReplaceDialog;
protected
function GetDialogClass: TCommonDialogClass; override;
public
procedure ExecuteTarget(Target: TObject); override;
published
property Caption;
property Dialog: TReplaceDialog read GetReplaceDialog;
property Enabled;
property HelpContext;
property HelpKeyword;
property HelpType;
property Hint;
property ImageIndex;
property ShortCut;
property SecondaryShortCuts;
property Visible;
property BeforeExecute;
property OnAccept;
property OnCancel;
property OnHint;
end;
TSearchFindFirst = class(TSearchFind)
public
constructor Create(AOwner: TComponent); override;
end;
TSearchFindNext = class(TCustomAction)
private
FSearchFind: TSearchFind;
public
constructor Create(AOwner: TComponent); override;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -