本文探讨了在PowerBuilder数据库编程中利用Flash控件进行动画播放和控制播放的方法
前言
PowerBuilder(以下简称PB)是一种面向对象快速开发数据库的开发平台常用于数据库的开发FLASH动画不仅包含动画还可有声音等形成非常形象的动感画面在PB开发的程序中加入FLASH动画使得程序更具活力为用户创造一个更加友好的交互式界面下面介绍在PB数据库编程中用Flash 提供的OLE控件SwFLASHocx实现动画播放的一种方法
PB中OLE控件的使用
在PB环境下使用SwFLASHocx控件首先创建一个窗口然后在窗体上添加一个OLE控件用OLE连接 FLASH 的控件SwFLASHocx其具体作法如下
()选菜单Cotrols | OLE显示窗口Insert object选Insert Control在Control Tyle栏里找出Shockware FLASH Object(若该控件尚未注册可先选Register Now对该控件进行注册)回到PB窗口用鼠标点击安放此控件在窗口上并调整大小
()在编程中使用FLASH的控件SwFLASHocx提供的主要属性
Movie属性存放FLASH动画文件的URLs在本机磁盘时写全目录名或Internet上按浏览网页的地址例如f:\touch\startswf
Quality(分辨率)属性播放的分辨率有(low)(AutoLow)(Hight)(AutoHight)(Best)五个值
Scale属性播放的屏幕有(ShowAll) (NoBorder) (ExactFit)三个值
Loop(循环播放)属性true false
menu(菜单)属性true false
()根据应用的需要进行编程如在窗口的open事件中设置SwFLASHocx控件的属性值录入下述代码即可(或者在属性页填写)
ole_Objectmovie=f:\ \touch\startswf
ole_Objectloop=true
ole_ObjectQuality=
ole_ObjectScale=
ole_Objectmenu=true
PB控制动画播放
以上设置了控件的属性在程序中只能单一播放已生成的动画文件(*swf)PB不能对动画进行控制若要PB控制FLASH动画播放就需要使用SwFLASHocx控件的方法和事件
()利用控件的Setvariable方法可实现动态文本的显示(例如在动画中播放一段文本我爱FLASH更改为我爱PB)其作法如下
a) 在FLASH动画中设置文本字段变量
在FLASH中选择动态显示的文本对象在TextOptions面板中选择动态文本(Dynamic Text )设置成文本字段类型然后在Variable输入字段变量名称为DispText在文本框中输入我爱FLASH
b) 在PB中运用方法
Setvariable方法的格式setvariable(name as string value as string )
根据应用的需要编程如窗体中放置一个按钮在按钮的Click事件中编写
string ls_disp
ls_disp=我爱PB
ole_ObjectSetvariabel(DispTextls_disp)
c) 运行程序点击按钮Flash动画中的我爱FLASH就会变为我爱PB
()利用fscommand事件实现PB与FLASH动画的交互(如用户在PB程序的一个窗体w_start中点击FLASH动画按钮打开PB的另外一个窗口w_Picture)方法如下
a) 在FLASH中设置按钮动作
在FLASH中定义一个按钮打开对象动作面板点击Fscommand动作Fscommand动作自动加入在on(release{}之中Fscommand动作可用于传递信息给PB其参数设定为
command(命令)picture
Arguments(参数) 可根据需要选择在此不设置
在编辑窗口显示如下
on(release)
{
fscomman(picture);
}
b) 在PB中OLE控件的fscommand(string command string args)事件中编程
if command=picture then
open(w_picture)
end if
c) 运行程序点击FLASH动画中的按钮显示w_picture窗口
以上只是简单的介绍了PB如何使用OLE控件SwFLASHocx控制动画播放的方法在实际运用中应根据实际需要灵活使用控件实现PB与Flash动画的完美结合
结束语
在实际中我们已运用上述方法开发了一套咨询台软件该软件具有非常友好的界面功能齐全使用方便的优点受到用户的青睐希望该方法对编程爱好者有所帮助