回 帖 发 新 帖 刷新版面

主题:在VFP中模拟动画

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

回复列表 (共5个回复)

沙发

如果系统进行大量数据操作时,Timer(计时器)的Timer事件不触发,但当结束操作后,Timer(计时器)的Timer事件一次过触发刚才没有触发的次数。

板凳

gif控件很多地方可以找到.

3 楼

一般来说在VFP里面进行三维动画是一种高难度的程序编辑工作你的这个方法也许可行但是做起来也许会出现一点麻烦。

4 楼

这已经是老掉牙的话题和技术了

5 楼

可用GIf89a控件就可现实,为什么那么麻烦?

我来回复

您尚未登录,请登录后再回复。点此登录或注册