VB6 - 加载/存储稍后要使用的图像

时间:2016-03-17 14:30:47

标签: image vb6

我的表单上有一个图像控件,我想根据某些事件更改图片。假设有四种不同的可能图像。我知道我可以将控件设置为我想要的任何图像:

imgBox1.Picture = LoadPicture(sPath & "img1.bmp")

但我想我的问题是,每次我想将imgBox1更改为不同的图片(例如“img2.bmp”)时,我是否必须使用LoadPicture函数?或者我可以将四个不同的图像加载到某种对象,然后将imgBox1.Picture设置为等于该对象?我已经尝试了几种不同的方法,但却无法发挥作用。

2 个答案:

答案 0 :(得分:3)

StdPicture是用于存储图像的类型。

以下示例从磁盘加载3张图像,然后在按钮上单击它们。

Private mPics(2) As StdPicture
Private mIndex As Long

Private Sub Form_Load()
    Set mPics(0) = LoadPicture("C:\kitty_born.bmp")
    Set mPics(1) = LoadPicture("C:\kitty_life.bmp")
    Set mPics(2) = LoadPicture("C:\kitty_dead.bmp")
End Sub

Private Sub someButton_Click()
    If mIndex > UBound(mPics) Then mIndex = 0

    Set somePictureOrImageBox.Picture = mPics(mIndex)

    mIndex = (mIndex + 1)
End Sub

答案 1 :(得分:0)

您可以创建一个Image / PictureBox控件的控件数组,每个控件都包含多个图像中的一个,并根据您想要一次显示的图像设置其可见性。

Alternativley,您可以拥有一个隐藏的PictureBox控制数组,然后使用您想要更改的PictureBox的the PaintPicture method粘贴到所需的图像中。

相关问题