我想简单地创建一个弹出菜单(或上下文菜单),向其中添加一些项目,并在鼠标位置显示它。我找到的所有示例都是使用设计器实现的。但我是从一个DLL插件中进行操作,因此没有表单/设计器可用。用户将从主应用程序中点击一个按钮,该按钮将调用下面的
我的代码显然不起作用,但我希望有一个在运行时创建弹出菜单的示例,而不是在设计时创建。
execute
过程。我只想让类似于右键菜单的东西出现。我的代码显然不起作用,但我希望有一个在运行时创建弹出菜单的示例,而不是在设计时创建。
procedure TPlugIn.Execute(AParameters : WideString);
var
pnt: TPoint;
PopupMenu1: TPopupMenu;
PopupMenuItem : TMenuItem;
begin
GetCursorPos(pnt);
PopupMenuItem.Caption := 'MenuItem1';
PopupMenu1.Items.Add(PopupMenuItem);
PopupMenuItem.Caption := 'MenuItem2';
PopupMenu1.Items.Add(PopupMenuItem);
PopupMenu1.Popup(pnt.X, pnt.Y);
end;
TPopupMenu
在 DLL 中与主机中完全相同命名的类型不同,因为存在不同的 VCL 实例。但问题还有很多。如果包不是可行的选项,那么您需要做更多的工作来启用插件。 - David Heffernan