• ベストアンサー

VB6.0 コマンドボタンを追加したい

こんばんは FormOpenイベントの際に処理によって異なる数のコマンドボタンをフォーム上に表示させたいと思っています。 あらかじめ MAXの数だけフォーム上に設置して、表示、非表示するという方法もあるかと思いますが、記述することによってコマンドボタンを複数個新規作成後、表示させたいと思っています。 記述もしくは参考になるHP等がありましたら教えてください よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

動的コントロール配列を使用すれば可能です。 フォーム上に Command1(0) というコントロール配列が存在する場合、下記のコードで Command1(1) ~ (4) を動的に生成できます。 Private Sub Form_Load()   Dim i  As Long      For i = 1 To 4     Load Me.Command1(i)          With Me.Command1(i)       .Top = Me.Command1(0).Top + .Height * i       .Visible = True     End With   Next End Sub 【注意点】 ・Visible = True に設定しないと可視状態とならない。 ・Top プロパティ、 Left プロパティを設定するか、または Move メソッドで移動するかしないと、同じ位置に重なって表示される。 ・コントロール配列でないコントロールは Load / Unload による動的生成 / 破棄はできない。(実行時エラーとなる) ・「動的」コントロール配列の名の通り、ソースコードの静的解析は困難。動的コントロール配列の使用でメリットが生じるか否かはケースバイケースですが、適用は慎重に。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

CreateControlをキーワードにして、WEB照会してみてください。 For Nextで所定回数繰り返す。 VBAでだけできたのかVBでもできたのか、記憶が薄れていますのが、朝時間がなく調べられないのでよろしく。

関連するQ&A

専門家に質問してみよう