本节目标案例:
在开始此次案例之前,我们先回顾一个问题,哪些情况可以加载图片?
1.比如窗体的属性picture等含有picture这个属性的。
2.picturebox控件可以加载。
3.image控件可以加载。
以上图片加载的共性:利用picture属性进行加载。
form窗体样式配置通过borderStyle边框风格:fixed dialog 就是窗体对话框样式,只有一个关闭按钮。隐藏了放大缩小按钮。
image控件加载图片:
1.默认情况下,控件加载图片后,会呈现与图片原始大小的尺寸。
2.我们可以通过strech属性配置为true后,将图片进行整体缩放。
如果strech属性为false,会出现裁剪效果。
此次案例,我们的最终目标:实现图片的自动切换。
1.点击按钮“下一张”,图片会显示出下一张来
2.点击按钮“上一张”,图片会显示出上一张来
方法一:
两张图片的互相切换效果:
可以采用两个image控件。
在form_load事件中先显示第一张图片,其它的图片都隐藏。
图片的显示与隐藏我们通过visible属性进行设置。
visible属性为true表示显示。
visible属性为false表示隐藏。
方法二:
如果有大量图片需要显示,那么我们就要制作图片的规律:
1.先把图片重命名为有规律的数值
2.通过loadpicture函数加载图片,这个函数返回一个图片对象
使用格式:
loadpicture(图片路径)
举例:在image1控件中加载图片。
Image1.Picture = LoadPicture(App.Path & "/img/3.jpg")
这里的app.Path代表当前工程文件所存的文件夹的路径
那么,如何显示下一张图片?
a = a + 1 If a <= 8 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else MsgBox "已经没有了" End If
如何显示上一张图片?
a = a - 1 If a >= 1 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else MsgBox "已经没有了" End If
如何自动循环显示?
a = a + 1 If a <= 8 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else a = 0 End If
本节教程界面:
本节教程源代码:
Dim a As Integer Private Sub Command1_Click() a = a - 1 If a >= 1 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else MsgBox "已经没有了" End If End Sub Private Sub Command2_Click() a = a + 1 If a <= 8 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else MsgBox "已经没有了" End If End Sub Private Sub Command3_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() a = 1 Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") End Sub Private Sub Timer1_Timer() a = a + 1 If a <= 8 Then Image1.Picture = LoadPicture(App.Path & "/img/" & a & ".jpg") Else a = 0 End If End Sub