在Delphi中编写一个Menu Wizard也是相当的简单,在实现IOTAWizard接口的同时,也实现IOTAMenuWizard接口即可。
unit MenuWizardDemoUnit;

interface

uses SysUtils, ToolsAPI, Dialogs;

type
TMenuWizardDemo = class(TNotifierObject, IOTAWizard, IOTAMenuWizard)
public

...{ IOTAWizard }
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;


...{ IOTAMenuWizard }
function GetMenuText: string;
end;

procedure Register;

implementation

uses WizardForm, Forms;

resourcestring
FName = 'MenuWizardDemo';
FAuthor = 'Chris Mao';
FPageName = 'Wizards';
FComment = 'This is comment.';

//Wizard entry point
procedure Register;
begin
ToolsAPI.RegisterPackageWizard(TMenuWizardDemo.Create as IOTAWizard);
end;


...{ TMenuWizardDemo }

//================== IOTAWizard ===================================

procedure TMenuWizardDemo.Execute;
begin
ShowMessage('This is Menu Wizard Demo.');
end;

function TMenuWizardDemo.GetIDString: string;
begin
Result := Format('%s.%s', [FAuthor, FName]);
end;

function TMenuWizardDemo.GetName: string;
begin
Result := FName;
end;

function TMenuWizardDemo.GetState: TWizardState;
begin
Result := [wsEnabled];
end;

//================== IOTAMenuWizard ===================================

function TMenuWizardDemo.GetMenuText: string;
begin
Result := 'Menu Wizard Demo';
end;

end.








































































编译包并安装,会在Delphi IDE的Help菜单中看到我们新增加的一个菜单项,其标题就是我们在GetMenuText方法中返回的字串,当我们点击这个菜单项时,会执行Execute方法中的代码。
就是这么简单!