掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プロシージャにコントロールの配列を渡すには (ID:125778)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
その後オブジェクト変数でコントロール名を参照する事を思いつき、 試してるうちに変更前の状態に戻せなくなりパニクリましたが、 結局以下の様なコードに落ち着きました。 まだmnuItem0、mnuItem1.....mnuItem4の(0,1...4)を文字型変数か数値変数で 表せればFor〜Nextでもうちょっと簡潔に出来るのにとど素人の空想ですが。無理 でしょうね。 他に気の利いたコーディングがあればご指導お願いします。 Private Sub CsvRead() 'ユーザーのファイルメニュー操作により '*.csvファイルから設定データを各配列変数に読込む : ; Dim mitem As Object If usrItemCount(0) <> 0 Then Set mitem = mnuItem0() AddMenuItem mitem, 0 End If If usrItemCount(1) <> 0 Then Set mitem = mnuItem1() AddMenuItem mitem, 1 End If If usrItemCount(2) <> 0 Then Set mitem = mnuItem2() AddMenuItem mitem, 2 End If If usrItemCount(3) <> 0 Then Set mitem = mnuItem3() AddMenuItem mitem, 3 End If If usrItemCount(4) <> 0 Then Set mitem = mnuItem4() AddMenuItem mitem, 4 End If Set mitem = Nothing ; ; 'メニュー、ツールバー表示 'ソース画像をロード 'ホットスポットを設定 '画面を更新、表示する End Sub Private Sub AddMenuItem(mitem As Object, tnum As Integer) Dim i As Integer Static n As Integer '追加したItem数の累計 'tnumタイトルナンバー(0〜4) mnuTitle(tnum).caption = usrMenuTitle(tnum) 'タイトルをユーザー設定に変更 For i = 1 To usrItemCount(tnum) - 1 Load mitem(mitem.Count) 'タイトル毎のアイテム数を追加 Next For i = 0 To usrItemCount(tnum) - 1 mitem(i).caption = usrMenuItem(i + n).caption 'アイテムのキャプションを変える Next mnuTitle(tnum).Visible = True 'メニューを表示する n = n + usrItemCount(tnum) '追加アイテム数の累計を更新 End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.