タイトル : Re: Image動的に配置 投稿日 : 2010/04/01(Thu) 19:53 投稿者 : 魔界の仮面弁士
> 一気にImageBoxに表示したい。 ImageBox というのは、イメージ (Image) コントロールのことで良いでしょうか? それとも、PictureBox の方でしょうか? > Image動的に配置 > Imageの数が不定なので 「コントロール配列」にすれば、Load / Unload ステートメントを使って コントロール数を動的に増減させることができます。 Option Explicit Private Sub Form_Load() Image1(0).Move 0, 0 Set Image1(0).Picture = Me.Icon Command1.Caption = "増" Command2.Caption = "減" Command2.Enabled = False End Sub '画像を増やす Private Sub Command1_Click() Command2.Enabled = True Dim i As Integer i = Image1.UBound + 1 Load Image1(i) Set Image1(i).Picture = Me.Icon '←(実際には LoadPicture 等を利用) With Image1(i - 1) Image1(i).Move .Left, .Top + .Height End With Image1(i).Visible = True End Sub '画像を減らす Private Sub Command2_Click() Dim i As Integer i = Image1.UBound If i = 0 Then Command2.Enabled = False Else Unload Image1(i) End If End Sub > 写真の数によりますが、最大約300ぐらいがあります。 ひとつひとつの画像サイズは、幾つぐらいでしょう? 仮に、一つの画像が 64 x 64 という小さい写真だったとして、 それを 1280 x 1024 のデスクトップに隙間なく並べると、 計 320 個になりますね。 もしもそれを超える画像サイズであれば、一度に画面に表示できる写真の数は もっと少ないと思いますので、「見えている範囲分のみ Image を用意」することで、 必要なコントロール数を、もっと減らせるかもしれません。 |