2015-05-23 52 views
7

如何实现在Delphi的IDE像这样覆盖图标:在编辑器中的文件标签图标覆盖在Delphi IDE

  • ;
  • 项目经理的树;
  • 项目管理器的弹出式菜单?

Screenshot of Mercurial icon in the right-click menu on a file in the Project Manager

回答

2

我最近一直在玩弄项目经理的上下文菜单和快捷菜单(TPopupMenu)不具有TCustomImageList分配给它。

因此,要获取上下文菜单上的图像,您需要为其分配TCustomImageListTImageList)。我所做的就是创建一个与TPopupMenu组件相同的拥有者。

对于其他人,我知道得很少:

  • 项目经理的树是virtual tree view,因此它可能值得玩弄它的应用程序,看看有什么可以做的。

  • 编辑器选项卡是一个自定义组件,因此可能需要一些低级别挂接。看看Delphi IDE Colorizer如何处理自定义选项卡;这可能有助于钩子。

恳求:由于这是与IDE的内部打转转,请不要以为你是第一个人那里,重新开始写其他人的工作。

编辑:有上Extending the Project Manager Context menu

+0

OK的EDN文章中,我找到了项目经理的树对象。它的名字ProjectTree2。但是现在我不明白如何确定Unit1.pas或Unit1.dfm节点的完整路径? –

+0

由于节点数据大小为20个字节(XE7),我怀疑您需要对节点数据布局进行反向工程,以查看文件名是否包含在其中。 –

+0

谁能帮忙定义ProjectTree2的结构Node.Data? –