本文探討了在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動畫的完美結合
結束語
在實際中我們已運用上述方法開發了一套咨詢台軟件該軟件具有非常友好的界面功能齊全使用方便的優點受到用戶的青睐希望該方法對編程愛好者有所幫助
From:http://tw.wingwit.com/Article/program/SQL/201311/16415.html