tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 を用意」することで、
必要なコントロール数を、もっと減らせるかもしれません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。