APP下载

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

2009-06-30张晓军

科教导刊 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

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

猜你喜欢

表单控件代码
使用“填表单”微信小程序 统计信息很方便
基于.net的用户定义验证控件的应用分析
VFP教学的探讨与实践
浅谈网页制作中表单的教学
神秘的代码
使用智能表单提高工作效率
一周机构净增(减)仓股前20名
重要股东二级市场增、减持明细
浅谈VB的通用对话框《CommonDialog》控件的使用
近期连续上涨7天以上的股