我正在使用Delphi 7
and开发一个项目Delphi 2006
,我正在开发一个可以获取某些系统信息的组件。现在的要求是组件安装到系统后,IDE上应该有一个菜单项,像这样
delphi 7
像
这样
我在网上搜索了有关添加菜单项的信息,但我没有任何东西可以添加一个IDE
项目EurekaLog
。任何人都可以告诉我如何添加类似EurekaLog
或的项目mysql
吗?它在注册表中的某个地方吗?
我正在使用Delphi 7
and开发一个项目Delphi 2006
,我正在开发一个可以获取某些系统信息的组件。现在的要求是组件安装到系统后,IDE上应该有一个菜单项,像这样
delphi 7
像
这样
我在网上搜索了有关添加菜单项的信息,但我没有任何东西可以添加一个IDE
项目EurekaLog
。任何人都可以告诉我如何添加类似EurekaLog
或的项目mysql
吗?它在注册表中的某个地方吗?
要将菜单添加到 Delphi IDE,您必须使用Delphi Open Tools API。从这里您可以使用这样的代码访问 delphi IDE 的主菜单。
LMainMenu:=(BorlandIDEServices as INTAServices).MainMenu;
或者
LMainMenu:=(BorlandIDEServices as INTAServices).GetMainMenu;
然后添加您想要的菜单项。
检查这些链接以获取其他示例
如果您想专门向 HELP 菜单添加一个菜单项,并在您的包卸载时将其删除,并处理项目的启用/禁用,那么此向导代码可能会有所帮助。我将 GExperts 文档中显示的示例向导代码作为一个启动项目,并将其作为一个稍微好一点的启动项目发布在这里。如果您获取此代码并扩展它,您可以很快开始:
https://bitbucket.org/wpostma/helloworldwizard/
他们所说的“向导”是指“简单的 IDE 专家”,即在 IDE 中添加了一个菜单,实现了 IOTAWizard 和 IOTAMenuWizard。这种方法有很多好处,并且是 GExperts 向导的编写方式。
代码的核心是这个启动向导,需要将它放入一个包(DPK)并安装,并在IDE中注册:
// "Hello World!" for the OpenTools API (IDE versions 4 or greater)
// By Erik Berry: http://www.gexperts.org/, eberry@gexperts.org
unit HelloWizardUnit;
interface
uses ToolsAPI;
type
// TNotifierObject has stub implementations for the necessary but
// unused IOTANotifer methods
THelloWizard = class(TNotifierObject, IOTAMenuWizard, IOTAWizard)
public
// IOTAWizard interface methods(required for all wizards/experts)
function GetIDString: string;
function GetName: string;
function GetState: TWizardState;
procedure Execute;
// IOTAMenuWizard (creates a simple menu item on the help menu)
function GetMenuText: string;
end;
implementation
uses Dialogs;
procedure THelloWizard.Execute;
begin
ShowMessage('Hello World!');
end;
function THelloWizard.GetIDString: string;
begin
Result := 'EB.HelloWizard';
end;
function THelloWizard.GetMenuText: string;
begin
Result := '&Hello Wizard';
end;
function THelloWizard.GetName: string;
begin
Result := 'Hello Wizard';
end;
function THelloWizard.GetState: TWizardState;
begin
Result := [wsEnabled];
end;
end.
上面没有显示注册码,但如果您从上面的链接下载它,它会包含在它自己的“Reg”(注册)单元中。 教程链接在 EDN 上。