在表单中制作动画(新手必读)转帖
在当今众多的编程语言中,VFP的简单、方便和实用使我一直情有独衷。它不仅提供了对中、小型数据库完善的管理和操作机制,在应用程序界面的设计上也提供了丰富的手段。比如说,VFP的表单设计器提供了图像控制,允许我们直接在表单中添加.BMP图片。稍显不足的是它不支持其他格式的图像,更不用说是动画了。 由于图像控制和其他控制一样,具有自己一整套的属性,在设计时可以动态地改变它,因此我在实践中摸索到一种变通的方法,在VFP的表单中加入模拟的“动画”。其设计思想是准备几帧连贯的.BMP图像(可用相关的绘图软件自行制作),利用计时器的计时功能,在规定的时间间隔内动态地改变所显示的.BMP图像。下面我就通过一个演示实例来加以说明。 首先,我准备了四幅连贯的红旗飘图像,分别取名为:1.bmp,2.bmp,3.bmp和4.bmp。如右图所示。然后使用表单设计器设计表单如下:演示表单其中包括三个控制:Image(图像),Timer(计时器)和Command(命令按钮)。设置属性如下:Image.Picture=1.bmp
Ttimer.Enabled=.t.
Timer.Interval=200
Command.Caption=退出演示
在表单的Activate事件中添加如下代码:
Public I
I=1
在计时器的Timer事件中添加代码如下:
If I>=4
I=1
Else
I=I+1
Endif
Pic=Str(I,1)+".bmp"
Thisform.Image.Picture= Pic
在命令按钮的Click事件中添加代码如下:
Thisform.Release
最后,保存并运行表单,我们会看到窗口中一幅鲜艳的红旗在迎风招展。单击“退出演示”命令按钮,模拟动画的演示就结束了。(以上为转贴,出处忘了..)
以上总结出:
计时器的TIMER过程实质上是一个由其属性INTERVAL(时间间隔)控制的循环...通过以下程序可以看到它工作的过程:
计时器的TIMER()
I=I+1
? I
结果很有意思