【问题标题】:How to add a menu item in Delphi's IDE context menu如何在 Delphi 的 IDE 上下文菜单中添加菜单项
【发布时间】:2015-02-17 06:27:19
【问题描述】:

我正在尝试在 Delphi 的 IDE 中添加一些功能以方便自己。我发现了如何使用 INTAServices.MainMenu 将菜单项添加到 IDE 主菜单,还能够创建一些自定义组件编辑器,因此我可以在组件的上下文菜单中拥有自己的菜单项。但我想在源代码编辑器的上下文菜单中添加一些功能。 我想在源编辑器中选择一些文本并右键单击它,这样我就可以按照我需要的方式转换它,使用 IOTAEditorServices.TopView.buffer.EditBlock.text 和 IOTAEditorServices.TopView.Buffer.EditPosition.InsertText(newText); 这可能吗?或者最简单的方法是使用主菜单项的快捷方式?

谢谢。

【问题讨论】:

  • 我可能会查看 gexperts 和 cnpack 的来源以获得想法
  • 是的,cnpack 确实在那里添加了菜单,但我需要几天时间才能找到方法。不过还是谢谢。
  • 天?最多 30 分钟。
  • 您可以搜索有关 Open Tools API (OTA) 的信息。这就是您可以扩展 Delphi IDE(包括菜单)功能的方式。 GExperts 是如何扩展 IDE 的示例。旧版本可用,包括源代码。查看并了解它们的工作原理。
  • 你们为什么要写“google it”或“search information about it”之类的cmets?你相信我没有吗??如果您不知道答案,请不要回答。 OTA 被描述为“非常好”,就像 Delphi 中的大多数东西一样。 GExperts 不会在源代码编辑器上下文菜单中添加菜单,或者至少我没有找到它们。 CNPack 对我的理解来说是一个巨大的项目,而且过于复杂,无法仅仅看它并理解整个画面。我赌 10 美元,大卫在 30 分钟内找不到我要的 2 行代码。

标签: delphi ide contextmenu iota


【解决方案1】:

实际上是一行代码: myPopup := TPopupMenu(editorServices.TopView.GetEditWindow.Form.FindComponent('EditorLocalMenu'));

【讨论】:

  • 我已经到了 INTAEditWindow.Form 但不知道下一步该去哪里。您是如何找到组件的名称的?迭代组件并将它们的名称写入日志? as演员会更好。
  • 经过大量搜索,我找到了这个:link,还有这个:link PS:圣诞快乐,新年快乐等:)
猜你喜欢
  • 2017-04-23
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多