4

単純にポップアップ メニュー (またはコンテキスト メニュー) を作成し、いくつかの項目を追加して、マウスの位置に表示しようとしています。私が見つけたすべての例は、デザイナーを使用してこれを行っています。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;
4

1 に答える 1