利用VF6.0的Timer控件实现动画效果

2009-06-30 08:28:52张晓军
科教导刊 2009年5期
关键词:表单控件代码

张晓军

摘要本文通过实例,详细介绍Timer控件在 VFP表单设计中的灵活应用。利用Timer控件产生形态多样的动画效果。

关键词Timer控件动画效果VFP6.0表单

中图分类号:TP31文献标识码:A

在使用 VF所开发的应用程序中,表单是主要的用户界面,是与系统进行人机对话的主要窗口,也是VF教学中的主要内容。本文主要通过实际应用与教学中的实例来重点介绍Timer控件在表单动画设计中的应用。

1 Timer控件的属性和方法

Timer控件主要有两个属性和一个事件。

1.1 Interval属性

Interval属性决定了时钟事件之间的间隔,以毫秒为单位。其语法格式:thisform.timer1.interval=X,其中,x代表具体的时间间隔,timer1表示控件的名称。

1.2 Enabled属性

用于设置Timer控件是否被启用。默认为.T.,表示控件被启用。在程序中通过设置控Enabled属性值为.T.或者.F.,启动或者停止控件的运行。注意,Timer控件的 Enabled属性和其他对象的 Enabled属性不同。对大多数对象来说,Enabled属性决定对象是否能对用户引起的事件作出反。对计时器控件来说,将 Enabled属性设置为.F.,会挂起计时器的运行。

1.3 Timer事件

表示计时器(Timer)控件执行的动作

2 Timer控件实现动画效果

为了在 Viusual Foxpro中设计的表单更加活泼,我们可以使用Timer控件来实现一些动画效果。

2.1 文本动画的实现

首先在表单上添加标签和Timer控件各一个,将label1的caption属性设置为“向左移动”,将Timer控件的enabled属性设置为.f. ,interval属性设置为50。Timer事件代码如下:

ifthisform.label1.left+thisform.label1.width>0

thisform.label1.left=thisform.label1.left-5 &&每次移动的距离

else

thisform.label1.left=thisform.width

endif

若想让文字向上运动则要这样改动即可,代码如下:

ifthisform.label1.top+thisform.label1.height>0

thisform.label1.top=thisform.label1.top-5

else

thisform.label1.top=thisform.height

endif

2.2 容器动画

新建一个表单,在表单中添加一个容器控件container1,将它的backcolor属性设为0,255,0,name属性设置为rq,tabindex属性设置为1, specialeffect属性设置为1。在右键单击容器rq选者编辑,在容器内部添加一个标签控件label1,将它的属性caption设为“向上运动”Backstyle设为0。添加Timer控件,将interval属性设置为100。Timer事件代码如下:

ifthisform.rq.label1.top>-thisform.rq.label1.height

thisform.rq.label1.top=thisform.rq.label1.top-10

else

thisform.rq.label1.top=thisform.rq.height

endif

这样就完成了容器动画。

从上述三个例子不难看出,不管是文字动画还是容器动画,它们的实质是标签在动,文字则是因为依附标签而运动。对动画的控制是由Timer事件来控制。要想做出更好的动画效果就需要对Timer进行更深入的编写代码。

2.3 闪烁效果

新建一个表单,在表单中添加一个标签控件label1,将它的属性caption设为“欢迎使用”,Autosize设置为.T.,Backstyle设为0,forecolor设置为0,255,0。添加添加Timer控件,将interval属性设置为200。

在timer1的Init事件代码如下:

public a

a=1

Timer事件代码如下:

ifa=1

thisform.label1.forecolor=rgb(255,128,64)

else

thisform.label1.forecolor=thisform.label1.backcolor

endif

a=-a

这样就完成了有着霓虹灯效果的闪烁的动画。

猜你喜欢
表单控件代码
电子表单系统应用分析
华东科技(2021年9期)2021-09-23 02:15:24
创世代码
动漫星空(2018年11期)2018-10-26 02:24:02
创世代码
动漫星空(2018年2期)2018-10-26 02:11:00
创世代码
动漫星空(2018年9期)2018-10-26 01:16:48
创世代码
动漫星空(2018年5期)2018-10-26 01:15:02
关于.net控件数组的探讨
软件(2018年7期)2018-08-13 09:44:42
浅谈网页制作中表单的教学
基于Infopath实现WEB动态表单的研究
电子世界(2012年24期)2012-12-17 10:49:06
动态表单技术在教学管理中的应用*
就这样玩会VBA中常见的自定义控件
电脑迷(2012年24期)2012-04-29 00:44:03