之前提介绍过如何编写一个菜单专家(Menu Wizard),但它有一个不足之处--就是我们所编写的菜单项只能作为Delphi IDE环境中的“Help”菜单的子项出现。如果我们想在Delphi IDE主菜单中任一位置插入我们自己的菜单项又应该如何做呢?
其实办法很简单,只需要编写一个插件专家(Add-in Wizard),在其构造函数中将菜单插入到Delphi IDE主菜单中,并在其析构函数中析构掉新插入的菜单项。
首先我们要在专家类中定义一些私有成员,用于保存Delphi IDE的主菜单,及我们新创建的菜单项。
FMainMenu:TMainMenu;
FNewMenuItem:TMenuItem;
FNewMenuItem:TMenuItem;
接下来要做的就是在构造函数中获得Delphi IDE主菜单对象的实例,创建新菜单项并插入。
//FindDelphi'smainmenu
FMainMenu:=(BorlandIDEServicesasINTAServices).MainMenu;
//Createnewmenuitem
FNewItem:=TMenuItem.Create(Nil);
FNewItem.Caption:='Add-inMenu';
FNewItem.OnClick:=MenuItemClick;
//Insertnewmenuitem
FMainMenu.Items.Insert(FMainMenu.Items.Count-1,FNewItem);
FMainMenu:=(BorlandIDEServicesasINTAServices).MainMenu;
//Createnewmenuitem
FNewItem:=TMenuItem.Create(Nil);
FNewItem.Caption:='Add-inMenu';
FNewItem.OnClick:=MenuItemClick;
//Insertnewmenuitem
FMainMenu.Items.Insert(FMainMenu.Items.Count-1,FNewItem);
最后要在析构函数中释放掉我们插入的菜单项。
FMainMenu.Items.Remove(FNewItem);
FNewItem.Free;
FNewItem.Free;
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关推荐
Tools API是Delphi IDE的一个核心组成部分,它允许开发者扩展IDE的功能,创建自定义插件或工具,以满足特定的开发需求。 Tools API提供了丰富的接口和类库,使得程序员能够访问IDE的内部对象,如编辑器、工程管理器...
"delphi-rest-client-api-master"是一个专门针对Delphi7及其后续版本设计的网络连接组件,它使得Delphi开发者能够轻松地与RESTful服务进行交互。 一、REST API基础 REST是一种基于HTTP协议的应用程序编程接口设计...
Delphi的IDE扩展是一般程序员很少涉足的领域,不管是网上还是书店里,这方面的资料都是鲜有所见。Delphi7自带的帮助文件是我们最容易找到的资料,为了方便CnPack开发组成员以及对IDE扩展感兴趣的朋友对这一领域有更...
OPEN CV LIBRARY for DELPHI
本文将详细介绍如何在Delphi中调用OpenAI的接口,实现与OpenAI服务的交互。 首先,为了在Delphi项目中使用OpenAI API,你需要注册一个OpenAI账号并获取API密钥。这个密钥将作为身份验证的凭据,用于在发送请求时...
Delphi-OpenCV (master) OpenCV version - 2.4.6 Development environment - Delphi XE2-XE4 Contributors: Laentir Valetov email:laex@bk.ru Mikhail Grigorev email: sleuthhound@gmail.com How to install: ...
这个"delphi-modbus-tcp-indy.7z"压缩包包含的是用Delphi编写的Modbus TCP组件,它基于两个不同的Indy版本——Indy 9和Indy 10。 Indy(Internet Direct)是Delphi和C++Builder中的一套网络库,提供了一组跨平台的...
CoreAPI-Delphi格式的API帮助.exe
"CoreAPI-Delphi格式的API帮助.zip" 是一个专门针对Delphi开发者的资源,它包含了关于Delphi中核心API的详细文档和可能的示例代码。 1. Delphi编程基础:Delphi是一款基于Object Pascal的集成开发环境(IDE),由...
"delphi-tools-master_delphi_contrastt9g_Toolsfordelphi_" 提供的资源正是针对 Delphi 开发者的强大工具集合,旨在提升开发效率和代码质量。 这个工具集名为 "delphi-tools-master",暗示其是 Delphi 工具的主...
This document is based on a series of blog posts at Delphi CodeSmith blog: ( http://blogs.RiverSoftAVG.com ) : ...- comparison - from ...delphi ...to ...delphi ...edited for clarity and continuity.
标题中的"ToolsAPI.dcu"和"ToolsAPI.pas"是两个关键文件,它们在BCB(Borland C++ Builder)和Delphi编程环境中扮演重要角色。在Delphi和BCB这样的RAD(快速应用程序开发)环境中,".dcu"和".pas"文件是源代码和编译...
Close all open projects.Add the location of the ZipTV Source folder to the Library path: - From the menu choose: Tools -> Environment Options - In the Environment Options window click on the Library ...
本文将重点讨论如何在Delphi集成环境中利用OpenCV进行开发,以及一个特别针对Delphi 2010到XE8优化的OpenCV组件——"Delphi-OpenCV-master"。 首先,"Delphi-OpenCV-master"是专为Delphi 2010至XE8版本设计的OpenCV...
在这个“快递鸟API-Delphi调用DEMO”项目中,我们看到使用的是Delphi XE 10.1 Berlin这一强大的RAD(Rapid Application Development)工具,用于开发桌面应用程序。 Delphi是一款基于Object Pascal编程语言的IDE,...
DELPHI编写的HOOK API实现DLL全局钩子启动记事本的程序-DELPHI prepared HOOK API to achieve the overall hook DLL procedures start Notepad
ICS - Internet Component Suite - V8 - Delphi 7 to RAD Studio 10 Seattle ======================================================================= (Aka FPIETTE's Components) Revised: March 3, 2016 ...
VclSkin automatically skin kinds of windows in application, include Delphi forms,MDIform and common Windows dialogs (MsgBox,Open/Save,Font,Print), even the Exception MsgBox. Vclskin not only support ...
3.Add the search path for the modules of the project in Delphi IDE (Tools-Options-Delphi Options-Library-Library path) <PROJECT_ROOT>\Include <PROJECT_ROOT>\Include\core <PROJECT_ROOT>\Include\...