掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
動的に生成したメニューアイテムの番号を取得するには? (ID:38912)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お世話になります。 以下のようにしてポップアップメニューアイテムを動的に生成し、 それにイベントを割り当てます。 そして、動的に生成されたポップアップメニューを クリックして、イベントを実行させます。 そのイベントで選択されたポップアップメニューアイテムを取得し、 必要な処理を実行させます。 ここで問題にあたっているのですが、 動的に生成されたポップアップメニューアイテムを取得する方法が解りません。 その為、各ポップアップメニューアイテムを識別することが出来ず、 困っています。 以下がポップアップを動的生成する部分のコードです。 procedure TForm1.FormCreate(Sender: TObject); var i:integer; NewItem: TMenuItem; begin Application.Title := '解像度変更'; Button1Click(Sender); i := 0; while listbox1.Items.Count > i do begin NewItem := TMenuItem.Create(PopupMenu1); NewItem.Caption := listbox1.items[i]; NewItem.OnClick := Button6Click; NewItem.Tag := i; popupmenu1.Items.Insert(0,NewItem); i := i + 1; end; end; 以下は肝心の動かない部分です procedure TForm1.Button6Click(Sender: TObject); var i:integer; begin case popupmenu1.ComponentIndex of //これだとここの値がメニューの合計を出して、 //セレクトしたアイテム番号を取得する方法が解らない 0:i:=0; 1:i:=1; 2:i:=2; 3:i:=3; 4:i:=4; 5:i:=5; end; combobox1.Text := combobox1.Items[i]; combobox2.text := combobox2.Items[i]; combobox3.Text := combobox3.Items[i]; combobox4.Text := combobox4.Items[i]; Button2Click(Sender); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.