📄 ceaddin.pas
字号:
unit CeAddIn;
interface
uses Classes, DsgnIntf;
type
TAddInEditor = class (TDefaultEditor)
function GetVerbCount: Integer; override;
function GetVerb(Index: Integer): string; override;
procedure ExecuteVerb(Index: Integer); override;
end;
procedure Register;
implementation
uses
Windows, Messages, ToolIntf, ExptIntf, Dialogs, SysUtils;
function TAddInEditor.GetVerbCount: Integer;
begin
Result := 3;
end;
function TAddInEditor.GetVerb(Index: Integer): string;
begin
case Index of
0: Result := 'Component &Module...';
1: Result := '&Run';
2: Result := '&Save';
end;
end;
// support function: module name from component name
function GetCompModuleName (CompName: string): string;
var
nComp, nMod: Integer;
begin
Result := 'Module not found !?';
for nMod := 0 to ToolServices.GetModuleCount -1 do
for nComp := 0 to ToolServices.GetComponentCount (nMod) - 1 do
if CompareStr (CompName, ToolServices.GetComponentName (nMod, nComp)) = 0 then
begin
Result := ToolServices.GetModuleName (nMod);
Exit;
end;
end;
procedure TAddInEditor.ExecuteVerb(Index: Integer);
begin
case Index of
0: begin
if Assigned (ToolServices) then
ShowMessage (GetCompModuleName (
Component.ClassName))
else
ShowMEssage ('ToolServices not found');
end;
1: begin
PostMessage (FindWindow ('TAppBuilder', nil),
wm_KeyDown, VK_F9, 0);
end;
2: begin
if Assigned (ToolServices) then
ToolServices.SaveFile (
ToolServices.GetCurrentFile)
else
ShowMessage ('ToolServices not found');
end;
end;
end;
procedure Register;
begin
RegisterComponentEditor (
TComponent, TAddInEditor);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -