[此贴子已经被作者于2005-9-15 13:44:41编辑过]
我还是说说我要实现的这个程序吧 我是想弄成当程序运行时在这个窗体上显示各张小图片当点击某一张图片时,整个窗体都显示这张图片,也就是电子相册 我的程序是这样写的(刚学的哦,大家不要笑) Private Sub Form_Load() Image3.Visible = False Image1.Picture = LoadPicture("g:\A003.bmp") Image2.Picture = LoadPicture("g:\A006.bmp") End Sub
Private Sub Image1_Click() Image1.Picture = LoadPicture("g:\A003.bmp") End Sub
Private Sub Image2_Click() Image2.Picture = LoadPicture("g:\A006.bmp") End Sub
Private Sub Image3_Click() Image3.Visible = False End Sub
如上图所示,但是当我点击其中一幅图片时它却没反应,大家帮我看看是出什么问题了?[此贴子已经被作者于2005-9-10 21:57:17编辑过]
Private Sub Image1_Click() Image1.Picture = LoadPicture("g:\A003.bmp") End Sub
Private Sub Image2_Click() Image2.Picture = LoadPicture("g:\A006.bmp") End Sub 本来各个 Image 控件就显示了图片,Image.Picture 是 Image 控件的图片属性,Form_Load 时已经设置,现在再设当然 没有反应。正确的是:
Private Sub Image1_Click() Me.Picture = LoadPicture("g:\A003.bmp") '把窗口背景设置为选择的图片,Me 关键字指窗体本身,也可以省略掉"Me." End Sub
Private Sub Image2_Click() Me.Picture = LoadPicture("g:\A006.bmp") End Sub 另外,要动态创建数组,你的 Image 控件的 Index 属性必须先设置为 0,然后再创建。例如以下代码实现了动态创建 4 个新 Image 控件: Dim i As Integer, imgArray(3) As String 'imgArray 是各个控件需要显示的图片文件的位置 imgArray(0) = "" imgArray(1) = "" imgArray(2) = "" imgArray(3) = "" ' 上面这句请输入图片文件的位置 For i = 1 To 4 Load imgImages(i) '动态创建 imgImages(i).Left = imgImages(i - 1).Left + imgImages(i).Width ' 为不与上一个 Image 控件重叠,调整位置 If imgImages(i).Left >= Me.ScaleWidth Then '如果 Image 控件大于窗口边界,则换行后再调整位置 imgImages(i).Left = 0 imgImages(i).Top = imgImages(i).Top + imgImages(i).Height End If Images(i).Picture = LoadPicture(imgArray(i - 1)) '载入相应的图片 imgImages(i).Visible = True '显示 Image 控件 Next
[此贴子已经被作者于2005-9-11 18:10:01编辑过]