ポップアップメニューのアイテムを取得するには?

解決


ネオ  2008-11-05 01:29:49  No: 32437

ポップアップメニューを動的に作成し、アイテム毎に処理を分ける
内容を作りたいのですが、どうやったらアイテム名称が取得
できるでしょうか?
名前を取得しなくても、選択したアイテムごとに処理を分けれる方法があればアドバイスをお願いします。

Menu1 := TMenuItem.Create(Self);
Menu1.Caption := 'テスト1';
Menu1.OnClick := Button2Click;
PopupMenu1.Items.Add(Menu1);

Menu1 := TMenuItem.Create(Self);
Menu1.Caption := 'テスト2';
Menu1.OnClick := Button2Click;
PopupMenu1.Items.Add(Menu1);

例)
テスト1を選択したときはAの処理
テスト2を選択したときはBの処理


igy  2008-11-05 05:39:42  No: 32438

呼び出したメニュー(TMenuItem)から、そのメニューの属するTPopupMenuを識別するには?
https://www.petitmonte.com/bbs/answers?question_id=5949

とは違うのですか?


  2008-11-05 06:58:58  No: 32439

(個人的にはこちらの方が分かりやすいかも。)

OnClickのイベントを共用するなら、

  Menu1.Tag := 1;

とか追記しておいて、OnClickイベントに

  if TMenuItem(Sender).Tag = 1 then

などと書けばよいかと。


ネオ  2008-11-05 23:22:29  No: 32440

有難うございました。解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加