📄 delforexpert.pas
字号:
unit DelForExpert;
interface
uses
Classes, ExtCtrls, Forms, Menus, SysUtils, Windows, Dialogs, ToolsApi;
type
TIDETextExpert = class(TNotifierObject, IOTANotifier, IOTAWizard)
private
FNewMenuItem: TMenuItem;
procedure OnMenuItemClick(Sender: TObject);
function GetShortCut: TShortCut;
procedure SetShortCut(AShortCut: TShortCut);
protected
public
constructor Create; virtual;
destructor Destroy; override;
property MenuShortCut: TShortCut read GetShortCut write SetShortCut;
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
end;
var
IDETextExpert: TIDETextExpert = nil;
implementation
uses DelExpert;
{ TIDETextExpert code }
function TIDETextExpert.GetName: string;
begin
Result := 'DelForExpert'
end;
function TIDETextExpert.GetState: TWizardState;
begin
Result := [];
end;
function TIDETextExpert.GetIDString: string;
begin
Result := 'e_van_nes.DelForExpert';
end;
constructor TIDETextExpert.Create;
var
FMainMenu: TMainMenu;
FToolMenu: TMenuItem;
I: integer;
Ch: Char;
begin
inherited Create;
FToolMenu := nil;
// find Delphi's main menu
FMainMenu := (BorlandIDEServices as INTAServices).MainMenu;
// find Tools
for i := 0 to FMainMenu.Items.Count - 1 do begin
if AnsiSameCaption(FMainMenu.Items[i].Name, 'ToolsMenu') then begin
FToolMenu := FMainMenu.Items[i];
Break;
end;
end;
if Assigned(FToolMenu) then
begin
FNewMenuItem := TMenuItem.Create(FToolMenu);
FNewMenuItem.Caption := '&Source Formatter...';
FNewMenuItem.OnClick := OnMenuItemClick;
Ch := 'D';
FNewMenuItem.ShortCut := ShortCut(Word(Ch), [ssCtrl]);
// find first separator
for i := 0 to FToolMenu.Count - 1 do begin
if FToolMenu.Items[i].IsLine then begin
FToolMenu.Insert(i, FNewMenuItem);
Break;
end;
end;
end;
end;
destructor TIDETextExpert.Destroy;
begin
inherited Destroy;
if Assigned(DelExpertDlg) then
DelExpertDlg.Free;
end; {Destroy}
procedure TIDETextExpert.Execute;
begin
if not Assigned(DelExpertDlg) then
begin
DelExpertDlg := TDelExpertDlg.Create(Application);
end;
DelExpertDlg.ShowModal;
end;
procedure TIDETextExpert.OnMenuItemClick(Sender: TObject);
begin
Execute;
end;
function TIDETextExpert.GetShortCut: TShortCut;
begin
Result := FNewMenuItem.ShortCut;
end;
procedure TIDETextExpert.SetShortCut(AShortCut: TShortCut);
begin
FNewMenuItem.ShortCut := AShortCut;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -