ピクチャボックスをコードで作成するには


ピクチャ  2003-02-28 23:42:12  No: 77258

デザイン時にピクチャボックスを配置するのではなく、コードで
ピクチャボックスをフォームに配置することは可能でしょうか。
既に貼り付けたものをVisibleで制御するというのは無しにして。


ムナ  2003-03-01 02:48:30  No: 77259

1個だけ ソースとなる PictureBox があれば
Load ステートメントでいけると思います


Say  2003-03-01 03:32:35  No: 77260

存在しない状態からの配置なら
Controls.Add を使ってください。


おはぎ  2003-03-06 02:18:25  No: 77261

割り込み失礼します。
VBでControls.Addはどのように使えばいいのか教えていただけますか?


魔界の仮面弁士  2003-03-06 10:32:33  No: 77262

Contols.Addが利用できるのは、VB6のみです。

具体的なサンプルは、VB6のCD-ROM内にあるサンプル ディレクトリの
\CtlsAdd を参照してください。
また、使用方法に関しては、MSDNライブラリを御覧ください。

なお、Web版のMSDNライブラリでは、以下のページに記述があります。
http://www.microsoft.com/japan/developer/library/vb98/vbmthaddmethod(controlscollection).htm


おはぎ  2003-03-06 22:16:38  No: 77263

魔界の仮面弁士さんありがとうございます。
実は、作るコントロールを配列化したいのですが、可能でしょうか?
以下がソースです。
Public gb_ViewNum As Integer
Public gb_Name As String

' オブジェクト変数を CommandButton として宣言します。
Private WithEvents cmdObject As CommandButton

Private Sub Command1_Click()
gb_ViewNum = gb_ViewNum + 1
gb_Name = "ビュー" & gb_ViewNum

  Set cmdObject(gb_ViewNum) = Form1.Controls.Add("VB.CommandButton", "gb_Name")
   cmdObject(gb_ViewNum).Visible = True
   cmdObject(gb_ViewNum).Width = 1000
End Sub

Private Sub Form_Load()

gb_ViewNum = 0

End Sub

これで、新しく作るコマンドボタンにindexが付けられて、名前が"ビュー1","ビュー2" ・・・といくらでも増やせるようにしたいのです。


魔界の仮面弁士  2003-03-06 23:11:56  No: 77264

コントロール配列オブジェクトに対するWithEvents宣言はできませんし、
コントロール配列オブジェクトのメンバを、Controls.Addする事もできません。

単一のコントロールオブジェクトをControls.Addし、それをオブジェクト配列として
管理するクラスと、イベントを一元管理するような中継クラスを作成すれば、
コントロール配列の真似事が可能ですが……はっきりいって面倒なだけです。(^_^;)

どうせ配列化するのであれば、素直にLoadステートメントを利用するのが得策かと。


おはぎ  2003-03-07 00:47:17  No: 77265

魔界の仮面弁士さんありがとうございます!!
Loadステートメントでうまくいきそうです。
感謝です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加