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

解決


ネオ  2008-11-04 16:29:49  No: 32437  IP: 192.*.*.*

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

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-04 20:39:42  No: 32438  IP: 192.*.*.*

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

とは違うのですか?

編集 削除
 2008-11-04 21:58:58  No: 32439  IP: 192.*.*.*

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

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

  Menu1.Tag := 1;

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

  if TMenuItem(Sender).Tag = 1 then

などと書けばよいかと。

編集 削除
ネオ  2008-11-05 14:22:29  No: 32440  IP: 192.*.*.*

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

編集 削除