PB和FLASH通讯

wlinglong 2009-09-21 12:21:54
PB 如何发消息给FLASH,让FLASH显示PB传递的数据。
各位高手有什么好办法
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2009-09-21
  • 打赏
  • 举报
回复
己发,请查收
wlinglong 2009-09-21
  • 打赏
  • 举报
回复
wlinglong0212@163.com lzp_lrp 接收 谢谢啦
WorldMobile 2009-09-21
  • 打赏
  • 举报
回复
用PowerBuilder实现Flash动画播放
2004-07-05 14:53作者:冯莉 王文斗 孙文遂出处:论坛责任编辑:方舟
  摘 要 本文探讨了在PowerBuilder数据库编程中利用Flash控件进行动画播放和控制播放的方法。

  关键词 OLE控件 动画 Flash PB

  1. 前言

  PowerBuilder(以下简称PB)是一种面向对象、快速开发数据库的开发平台,常用于数据库的开发,FLASH动画不仅包含动画,还可有声音等形成非常形象的动感画面,在PB开发的程序中加入FLASH动画,使得程序更具活力,为用户创造一个更加友好的交互式界面。下面介绍在PB8.0数据库编程中用Flash 5提供的OLE控件“SwFLASH.ocx”实现动画播放的一种方法。

  2. PB中OLE控件的使用

  在PB8.0环境下使用“SwFLASH.ocx”控件,首先创建一个窗口,然后在窗体上添加一个OLE控件,用OLE连接 FLASH 5的控件“SwFLASH.ocx”其具体作法如下:

  (1)选菜单"Cotrols | OLE",显示窗口"Insert object",选"Insert Control",在Control Tyle栏里找出"Shockware FLASH Object"(若该控件尚未注册,可先选"Register Now"对该控件进行注册);回到PB窗口,用鼠标点击安放此控件在窗口上并调整大小。

  (2)在编程中使用FLASH5.0的控件“SwFLASH.ocx”提供的主要属性:

  Movie属性:存放FLASH动画文件的URL's:在本机磁盘时写全目录名,或Internet上按浏览网页的地址,例如:f:\touch\start.swf。

  Quality(分辨率)属性:播放的分辨率,有0(low),1(AutoLow),2(Hight),3(AutoHight),4(Best)五个值 。

  Scale属性:播放的屏幕,有0(ShowAll), 1(NoBorder), 2(ExactFit)三个值 。

  Loop(循环播放)属性:true, false 。

  menu(菜单)属性:true, false 。

  (3)根据应用的需要进行编程,如在窗口的“open”事件中,设置“SwFLASH.ocx”控件的属性值,录入下述代码即可(或者在属性页填写):

ole_1.Object.movie=“f:\ \touch\start.swf”
ole_1.Object.loop=true
ole_1.Object.Quality=4
ole_1.Object.Scale=2
ole_1.Object.menu=true

  3. PB控制动画播放

  以上设置了控件的属性,在程序中只能单一播放已生成的动画文件(“*.swf”),PB不能对动画进行控制,若要PB控制FLASH动画播放,就需要使用“SwFLASH.ocx”控件的方法和事件。

  (1)利用控件的“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_1.Object.Setvariabel(“DispText”,ls_disp)

  c) 运行程序,点击按钮,Flash动画中的“我爱FLASH”,就会变为“我爱“PB”。

  (2)利用“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控件"SwFLASH.ocx"控制动画播放的方法,在实际运用中,应根据实际需要,灵活使用控件实现PB与Flash动画的完美结合。

  4. 结束语

  在实际中,我们已运用上述方法开发了一套咨询台软件,该软件具有非常友好的界面,功能齐全,使用方便的优点,受到用户的青睐。希望该方法对编程爱好者有所帮助。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lzp_lrp/archive/2009/09/21/4575623.aspx
WorldMobile 2009-09-21
  • 打赏
  • 举报
回复
给个邮箱,给你发个例子
wlinglong 2009-09-21
  • 打赏
  • 举报
回复
zhgwbzhd 这方面我第一次接触 希望兄弟详细说明一下
zhgwbzhd 2009-09-21
  • 打赏
  • 举报
回复
通过windows的消息机制不可以?
wlinglong 2009-09-21
  • 打赏
  • 举报
回复
x谢谢了 结贴

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧