Delphi IDE 中的叠加图标

7
您如何在Delphi IDE中实现像这样的叠加图标:
  • 在编辑器文件选项卡上;
  • 在项目管理器树上;
  • 在项目管理器弹出菜单上?

在Project Manager中右键单击文件时Mercurial图标的屏幕截图

1个回答

2
最近我一直在尝试使用项目管理器的上下文菜单和上下文菜单(TPopupMenu)没有分配TCustomImageList

所以要在上下文菜单中放置图片,需要将一个TCustomImageList(TImageList)分配给它。我所做的就是创建一个与TPopupMenu组件拥有相同所有者的TCustomImageList

对于其他的部分,我知之甚少:

  • 项目管理器的树是一个虚拟树视图,因此可能值得在应用程序中尝试操作它,看看可以做什么。

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

请求:由于这是在玩IDE的内部机制,请不要假设您是第一个到达那里并开始重写其他人的工作。

编辑:有一篇EDN文章关于扩展项目管理器上下文菜单

好的,我找到了项目经理的树形对象。它的名称是ProjectTree2。但现在我不明白如何确定Unit1.pas或Unit1.dfm节点的完整路径? - vlad_n
由于节点数据大小为20字节(XE7),我怀疑您需要逆向工程节点数据布局,以查看文件名是否包含在其中。 - Nicholas Ring
谁能帮忙定义ProjectTree2的结构Node.Data? - vlad_n
我建议您发布另一个问题,而不是继续这个问题,因为大多数人可能不会看到它。您还需要考虑它在IDE版本之间可能会发生变化。 - Nicholas Ring

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接