PowerBuilder中动画的设计与实现.docVIP

  • 6
  • 0
  • 约2.66千字
  • 约 5页
  • 2016-11-22 发布于北京
  • 举报
PowerBuilder中动画的设计与实现.doc

PowerBuilder中动画的设计与实现   【摘 要】文章介绍了PowerBuilder中一些常用事件、常用函数,在此基础上详细介绍了如何实现文字的滚动以及窗口的移动。   【关键词】PowerBuilder;动画;窗口   0.引言   作为一款优秀的企业级数据库前端应用开发工具,不仅提供简洁友好的用户界面,而且拥有功能强大的数据窗口技术以及性能优越的数据库访问能力,所以很多程序开发人员都很喜欢它,PowerBuilder是当前最流行的数据库前端开发工具之一。   在PowerBuilder中定义了很多事件和函数,程序开发人员利用这些事件和函数不仅能提高工作效率,而且能实现各种功能,比如查询、录入等。本文在介绍相关的常用事件、常用函数以及使用方法之后,通过具体的实例在PowerBuilder来实现动画效果。   1.基本知识介绍   要想在PowerBuilder实现动画效果,我们可以利用Timer事件和Timer函数。   1.1常用事件   Open事件:在窗口打开之后、显示之前发生,这时系统已经包含窗口所有属性以及窗口中的所有控件。   Timer事件:定时器事件,跟Timer ()函数结合在一起,给程序开发者提供了许多便利。   1.2常用函数[1]   Timer (number ):设置一个时间间隔,在设置的时间间隔内反复触发指定窗口的定时器事件,从而达到用户想要的目的。   Space( ):返回指定数目的空格组成的字符串,如space(3),则返回具有三个空格的字符串;   Len(string ):取得指定字符串的长度。   Right(string,n):从指定字符串尾部取指定个数的字符。   Left(string,n):得到字指定符串左部指定个数的字符。   SetRedraw():用来关闭或开启控件的重画功能。   2.动画效果的实现   在PowerBuilder中我们要想直接播放动画文件(如flash动画文件)是有一定的难度的,但是我们要想实现一些相对简单的动画效果还是比较容易的,我们可以利用PowerBuilder中的Timer()来实现此效果。下面分别介绍文字的滚动和窗口动画显示效果的实现方法。在此之间先新建一个应用程序,然后新建2个窗口,分别命名为w_flash1、w_flash2,在w_flash1、w_flash2中分别插入一个静态文本控件,文本内容(text)分别为“文字的滚动”和“动画显示窗口”。   2.1 滚动的文字   (1)在应用程序对象里编写启动代码:   Open(w_flash1)   (2)在w_flash1的open( )事件里编写:   St_2.text =st_2.text+space(int(w_about.width/20))   Timer(0.05) //每隔0.05秒触发timer( )事件   (3)在w_flash1的timer( )事件里编写:   String ls_help,ls_banner   Long len   Ls_banner=st_2.text   Len =len(st_2.text)   Ls_help=right(ls_banner,len-2)+left(ls_banner,2)   St_2.text=ls_help   2.2窗口的动画显示   (1)在应用程序对象里编写启动代码:   Open(w_flash2)   (2)在窗口w_flash2的open( )事件里面编写如下代码:   Timer(1)//表示每隔1秒触发timer( )事件   (3)在窗口的设计视图区选择“Declare Instance variables”选项卡,在其中声明一个实例变量:   Integer ii_i=1   (4)在主窗口W_flash的 timer( )事件里编写如下代码,以完成窗口动画显示的功能(以下只给出让窗口向下、向右下、向右移动的代码,如果想让其向上、向左、向左上移动,只需修改稍微修改下代码即可)。   Integer li_num   If ii_i=1 then   For li_num=1 to 1540 step 1   W_flash.move(1,li_num) //Y坐标递增,图形向下移   Next   Ii_i++   W_flash.move(1,1)   W_flash.setredraw(true)   Return   End if   If ii_i=2 then   For li_num=1 to 1540step 1   W_flash.move(li_num

文档评论(0)

1亿VIP精品文档

相关文档