掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MainMenu の全てのアイテムを PopupMenu に動的に追加 (ID:41821)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>(1) アプリ実行開始時は,PopupMenuは独自のメニュー いえ、最初から最後までメインメニューをポップアップさせるだけのモノです >(2) 実行中の,ある時期に最初のPopupMenuは消去 > MainMenuのItemを,サブItemも含めて全て,1つのPopUpMenuに追加する その通りです メインメニューはいろんなところで動的にサブメニューを 追加している部分がありますのでポップアップさせる時点で判断しないと いけないと思いまして また、設定で普段使わない(メイン)メニューは非表示に出来るように なっていますので新機能が追加された時(例えばそれが 「ツール」傘下のサブメニュー「新機能」の場合) ユーザーはその機能を試すためにわざわざ「ツール」メニューを 表示する設定に変えなければいけないので今回のような質問になりました 秀丸で「その他」メニューに「コマンド一覧」というものがあるので つけてみようと思った次第です 今やってみましたエラーは出なくなりましたがメニューが別れてくれません メインメニューにはテンプレートから「ファイル」「ヘルプ」の二つの 親メニューを追加しています そして PopupMenu にメニュー「PopUpListMenu」を作ってその下にメインメニューを 並べようとしています procedure TForm1.Button1Click(Sender: TObject); procedure AddPopUp(Item:TMenuItem;SendMenu:TMenuItem); var i:integer; NewMenu:TMenuItem; begin for i:=0 to Item.Count-1 do begin NewMenu:=TMenuItem.Create(Item); NewMenu.Caption:=Item[i].Caption; NewMenu.OnClick:=Item[i].OnClick; SendMenu.Add(NewMenu); if Item[i].Count>0 then AddPopUp(Item[i],SendMenu); end; end; var i:integer; begin with PopUpListMenu do begin for i:=Count-1 downto 0 do Items[i].Free; end; with MainMenu do begin for i:=0 to Items.Count-1 do AddPopUp(Items[i],PopUpListMenu); end; PopupMenu.Popup(0,0); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.