今天总结了一下VB窗体中实现动态效果的方法。在之前的学习中,要实现动态效果,都使用到时钟控件,通过时钟控件可以通过在不同时间点让图形相关参数的变化,实现动态效果,还可以通过,加载一组连贯的图片实现动态效果。
范例1:通过循环加载一组图片实现动态效果:
Dim pcIndex As Integer
Private Sub Timer1_Timer()
pcIndex = pcIndex + 1
If pcIndex > 15 Then pcIndex = 1
Image1.Picture = LoadPicture(App.Path & "/赛马图/timg_0" & pcIndex & ".gif")
End Sub
补充知识:怎么获取一组连贯的图片,我使用的是FastStone Image Viewer软件,这个软件可以把gif图片拆分成一组连贯的图片,gif图片网上到处都有,网上可以随便搜索,也可以通过视频软件截取动态图片。
![8fbfa0e4adac2b3720f9ea8efc14b628.gif](https://i-blog.csdnimg.cn/blog_migrate/a2767e8d7a1d0a74338a420159bbe5ba.gif)
范例2:通过随机加载图形的参数实现动态效果
Private Sub Timer1_Timer()
Dim x As Single
Dim y As Single
Dim r As Single
Randomize
red = Int(Rnd * 256)
green = Int(Rnd * 256)
blue = Int(Rnd * 256)
FillColor = RGB(red, green, blue)
FillStyle = vbSolid
x = ScaleWidth * Rnd
y = ScaleHeight * Rnd
r = y * Rnd + 1
Circle (x, y), r, RGB(red, green, blue)
End Sub