• 締切済み

実行時に、メニューコントロールにアイテムを追加する方法

お世話になっております。 実行時、コマンドボタン等を使って動的にメニューコントロールにアイテムを追加する方法がわかりません。 メニューコントロールは、情報が少ないので探しきれませんでした。 どなたか分かる方がいらっしゃれば教えてください。 環境は、win98+VB6.0です。

みんなの回答

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

配列番号0のメニューを一つ作っておいて、実行時に配列を増やすのはどうでしょう。 Private Sub Command1_Click() Dim i As Integer '配列番号1~4のメニューを追加 For i = 1 To 4 Load Menu1(i) With Menu1(i) .Caption = "メニュー" & i .Visible = 1 End With Next End Sub Private Sub Menu1_Click(Index As Integer) MsgBox Menu1(Index).Caption & "を選択しました" End Sub

torokichi
質問者

お礼

結局、レベルを下げてメニューアイテムを追加・・・というのは私の力では無理だったので、TreeViewで代替しました。 長々と引っ張ってしまいすいませんでした。

torokichi
質問者

補足

MSDNを探したら配列から追加できました。すいませんでした。 そこでさらに質問ですが、 追加したインスタンスですが、レベルを一段下げるにはどうすれば良いのでしょうか。 そして、追加したインスタンスを削除するには、Unloadでいいのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A

  • メニューを追加した時の実装を書くクラスは?

    環境 WIN98 VC++6.0 MFC にて メニューにコマンドを追加しクラスウィザードにて、コマンドの実装をするときに、CxxxMainFrmクラスとCxxxViewクラスのどちらにも実装出来ます。 どうしてどちらにも実装できるのですか? また、それぞれの使い分けはどうなっているのですか?

  • ボタンってコントロール?ツールストリップメニューアイテムもコントロール?

    スミマセン...教えて頂けますか? メソッド命名のためにボタンとツールストリップメニューアイテムを一くくりにしたいのですが両方ともコントロールといって間違いないですか? それとも他に適切な表現がありますか? 大変申し訳ありません。よろしくお願いします。

  • 実行時追加したコントロールの識別

    VB2008を使用しています。 プログラム実行中に追加したコントロールをどのように識別すればいいのかがわからなくて困っています。 例えば以下のようにすると、 itemsが1と2のコンボボックスが10個できますが、 すべてNewComboBoxという名前のコントロールのため、 最終的にそれぞれ1か2どちらを選択したかを知りたいときに、 10個のコントロールをどのように識別すればよいかわかりません。 Dim NewComboBox As ComboBox = New ComboBox() For i = 1 To 10 NewComboBox = New ComboBox() NewComboBox.Items.Add(1) NewComboBox.Items.Add(2) NewComboBox.Location = New Point(5, 5 + (24 * (i - 1))) Me.Controls.Add(NewComboBox) Next 説明が不明瞭であるかもしれませんが、 お分かりの方いらっしゃいましたら、ご回答願います。

  • メニュー追加の方法

    まずは環境を、Windows2000、VB6SP6です。 早速ですがメニューの追加をしたいのですが、過去ログを検索すると http://oshiete1.goo.ne.jp/kotaeru.php3?q=997423 こちらの方法が見つかったのですが、これとは少し違うのです。 あらかじめ、メニューは作成しているのですが、 下記は例ですが構成が menu + sub(0) + subsub(0) となっています。 元々はsubsub()だけだったのですが、 これはインデックス数が不特定で、最大100まで変動する予定です。 (起動時にプラグインのようなもの読み込むため変動します) menu + subsub(0)~subsub(99)とするとメニューが長すぎて画面に入りきりません。 そこで、sub()を間に入れ、subsub()を10個づつに区切ろうとしました。 変動するメニュー数が50個とした場合 for i = 1 to 5     load sub(i)     for j = 1 to 9         load subsub(i * 10 + j)     next i next i とこんな感じにしてみたのですが、実行すると、 sub(0)以下のメニューにしかsubsub()は追加されません。 load で増やしたメニューのさらに下に load でメニューを増やすことは出来ないでしょうか? やはり上記のリンク先のようにAPIで作るか、 メニューを最初から作っておくべきなのでしょうか? 分かりにくいかもしれませんがよろしくお願いします。

  • ContextMenuStripに追加したアイテムのチェックについて

    質問させてください。 フォームデザイナで作成したContextMenuStripにプログラム内でアイテムを追加し(アイテム数は可変)、そのアイテムにチェックを付けたいと思っています。 しかし、Checkedプロパティが見つからず、チェックを付けることができません。 フォームデザイナでアイテムを追加するとCheckedの項目があって、それをTrueにすることでチェックが付けられるのですが…… 後から追加したアイテムにチェックを付ける方法をご存知の方がいらしたら、ご教授お願いします……。 環境はVB.NET、Microsoft Visual Basic 2008 Express Edition SP1です。 よろしくお願いします。

  • オプションメニューにアイテムをプログラムで追加したい

    form2に置いたメニュー(name=URLs)に、表示したいURLを次々に追加して、その一つのアイテムをクリックしたらform1に表示される、っていう操作をJavaScriptで書きたいのですが、基本的な知識をどなたかお教え下さい。  必要な部品は、一行テキスト領域、メニューURLsにURLの文字列を送り込むためのプッシュボタン、オプションメニュー(URLs)でやりたいと思います。

  • XPのコンテキストメニューに追加方法

    コンテキストメニューにコマンドプロンプトで開くを追加 したいのですが方法がわかりません。教えてください。 フォルダーを右クリックした時のメニューに追加する方法は下記のように して出来ると思いますが、空白の場所での右クリックによる コマンドプロンプトの実行をしたいのですがレジストリはどこをいじればよいのでしょうか? [HKEY_CLASSES_ROOT\Directory\shell\cmd] @="コマンドプロンプト" [HKEY_CLASSES_ROOT\Directory\shell\cmd\command] @="cmd.exe /k \"cd %l\"" 参考:​http://www.forest.impress.co.jp/article/2007/02/13/okiniiri.html ※ソフトではこのようなのが有りますが、レジストリを弄るだけでは  出来ないのでしょうか?

  • SWTで動的にコントロールを追加する方法

    いつもお世話になります。 SWTを使用してクライアントアプリケーションを作成しているのですが、動的にコントロールを作成する方法を教えて頂けませんでしょうか。 例えばあるボタンを押下したタイミングでTextのコントロールを追加したい場合、単純にCompositeにTextを作成しただけだと、何も変化がないのですが、ウィンドウのサイズを変更すると、その変更が反映されているのは確認できています。 コントロール追加した後、updateやredrawなどを試しても見ても変わらずでした。 宜しくお願いします。

    • ベストアンサー
    • Java
  • WebBrowserコントロールを追加したい

    アクセス2007でツールボックスにWebBrowserコントロールを追加したいので http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9195.html を見たのですが、 2. 追加するための操作方法  (1) VBE画面の[ツール]メニュー [その他のコントロール]をクリック  (2) [Microsoft Web Browser]をチェックして [OK]ボタンをクリック と記載されてますが、VBE画面に [その他のコントロール]がありません。 2007ではどうやって、WebBrowserコントロールを追加すればいいでしょうか?

  • プログラムの実行時にフォーム上のコントロールを消したい

    WinXP、VB.NET 2005で開発しております。 プログラムの実行時に フォーム上のすべてのコントロールを消したいのですが、 全部削除されません。 削除する部分のコードは以下の通りです。  For Each objcontrol As Control In Me.Controls   objcontrol.Dispose()   objcontrol = Nothing  Next デバッグで追っていくと、 いくつか実行した後にループを抜けてしまいます。 すべて消す方法をご存じの方、教えて下さい。 お願いいたします。

このQ&Aのポイント
  • DCP-J4143Nの印刷結果がかすれてしまう問題について相談したいです。クリーニングしてもかすれが治らず、品質を最高にすると解消されますが時間やインクの消費が増えるため、普通品質で綺麗に早く印刷できるようにしたいです。
  • MacOSで使用しており、無線LANで接続しています。関連するソフト・アプリは特にありません。
  • 回線の種類は特に記載がありませんが、おそらくインターネット回線を使用していると思われます。
回答を見る

専門家に質問してみよう