英文VB教程 简体Visual Basic教程 繁体Visual Basic教程

第三十课: 创建 Dragdrop 动画程序



30.1 编写拖放(Dragdrop)的动画程序>

拖放(Dragdrop)是一种常见的Windows应用程序。您可以把某些对象例如一个文件拖放到一个文件夹,一个回收站或另外一个视窗。这种拖放的程序在Visual Basic中相当容易编写 。在下面的例子中,我们来建立一个模拟拖动对象进入一个回收站,然后再拖放一把火把对象焚烧掉。

在这一程序中,我们把六个图片加到表单中,其中一个是回收站,一个是燃烧的回收站,一个是火及三个图像。除了回收站,把所有的文件的 dragmode 属性设置为1 (自动), 以便它们能被拖曳。 燃烧回收站Visible的属性设置为False. 另外,把火的Tag 标签设置为fire。如果您想要有更好的拖曳效果,你需要在那些将被拖曳对象的dragicon属性加载一个适当的图标。最好的图标应该是跟对象一样的。

它的程序代码如下:

Private Sub Image4_DragDrop(Source As Control, X As Single, Y As Single)
Source.Visible = False
If Source.Tag = "Fire" Then
Image4.Picture = Image5.Picture
End If
End Sub

Source 指的是将被拖曳的对象。语句 Source.Visible =False 是将使对象被拖入回收站时,它就会消失。如果Source 是火,回收站将变成燃烧回收站,这是通过使用语句 image4.picture = image5.picture 而达到的。

图30.1: 设计界面

30.2 一个完整的动画程序

到目前为止,在第29课动画的例子只涉及静态图片的移动。在这课中,你将学习建立真正的动画程序。举例来说,一只扑动翅膀的蝴蝶。为了达到这个动画效果,我用了8个蝴蝶的画框。它们显示蝴蝶处于不同扑动翅膀的阶段。

你可以下载上述图象并用它们来设计您的程序。你需要把上述所有的图像重叠在一起,使Image1 在程序启动时显现而其他的图像隐蔽。接下来,插入两个命令按钮,其中一个改标签为启动,另一个改标签为停止。按一下启动命令按钮,并键入相关的陈述句。当程序运行时,您将看到以下的动画:

图30.2

启动按钮的程序代码

Private Sub Command1_Click()
If Image1.Visible = True Then
Image1.Visible = False
 Image2.Visible = True
ElseIf Image2.Visible = True Then
Image2.Visible = False
Image3.Visible = True
ElseIf Image3.Visible = True Then
Image3.Visible = False
Image4.Visible = True
ElseIf Image4.Visible = True Then
Image4.Visible = False
Image5.Visible = True
ElseIf Image5.Visible = True Then
Image5.Visible = False
Image6.Visible = True
ElseIf Image6.Visible = True Then
Image6.Visible = False
Image7.Visible = True
ElseIf Image7.Visible = True Then
Image7.Visible = False
Image8.Visible = True
ElseIf Image8.Visible = True Then
Image8.Visible = False
Image1.Visible = True
End If

End Sub

如果您想建立蝴蝶扑动翅膀和同一时间内飞行的程序,您可以使用Left 和 Top 的属性,程序代码如下:

Sub move_up( )

If Image1.Visible = True Then
Image1.Visible = False
Image2.Visible = True
Image2.Top = Image2.Top - 100

ElseIf Image2.Visible = True Then
Image2.Visible = False
Image3.Visible = True
Image3.Top = Image3.Top - 100

ElseIf Image3.Visible = True Then
Image3.Visible = False
Image4.Visible = True
Image4.Top = Image4.Top - 100
ElseIf Image4.Visible = True Then
Image4.Visible = False
Image5.Visible = True
Image5.Top = Image5.Top - 100
ElseIf Image5.Visible = True Then
Image5.Visible = False
Image6.Visible = True
Image6.Top = Image6.Top - 100

ElseIf Image6.Visible = True Then
Image6.Visible = False
Image7.Visible = True
Image7.Top = Image7.Top - 100

ElseIf Image7.Visible = True Then
Image7.Visible = False
Image8.Visible = True
Image8.Top = Image8.Top - 100
ElseIf Image8.Visible = True Then
Image8.Visible = False
Image1.Visible = True
Image1.Top = Image1.Top - 100
End If
End Sub






版权所有©2008 Dr.Liew Voon Kiong。保留所有权利 。联系我们: VB面子书

[Privacy Policy]