【转载】VB与FLASH的交互

其实这是一个很容易解决的问题,可惜这个问题属于两不管的境遇,VB的书没有,FLASH的书也没有,对于不懂FLASH的VB写手就是个问题。
一、将FLASH插入VB窗体
在VB工程/部件的列表里找到shockwave flash,添加即可在工具栏里找到FLASH控件
,添加之。。。
该控件有两个值得注意的属性,movie和playing,movie指代FLASH文件,扩展名.SWF,强烈建议采用相对路径给其赋值,例如:
Dim strpath As String
strpath = App.Path
If Right(strpath, 1) <> "\" Then
strpath = strpath & "\"
End If
shockflash.Movie = strpath & "ping.swf"
而playing为是否自动播放,默认为false,记得改成true哦!
现在你可以用FLASH做为你的闪屏啦!
二、实现交互
首先,打开FLASH,要将做好的FLASH按纽选定,在on release事件里编写代码如下:
{
fscommand("string");
}
这里的string为任意字符串,传递给VB的就是这个字符串。让我们启动VB,在shockwave flash控件就会多出fscommand事件,FLASH里的字符串已经赋给了参数command,假如我们有多个按钮做为工具栏,那么我们就可以通过判定command来编写相应的代码。以下是我的实例:
Private Sub flashmain_FSCommand(ByVal command As String, ByVal args As String)
Select Case command
Case "cmdshop"
Frmkaitai.Show vbModal
Case "cmdvip"
frmMbEmit.Show vbModal
Case "cmdhome"
FrmJiezhang.Show vbModal
Case "cmdbill"
Frmtuitai.Show vbModal
Case "cmdjiankong"
FrmXiaofei.Show vbModal
Case "cmdhelp"
frmAbout.Show vbModal
Case "cmdexit"
End
End Select
End Sub
三、应用
VB界面的恶心是天人共愤的,利用FLASH就可以很好的弥补这一点。FLASH美化界面的能力使得FLASH与各种编程工具间的交互变为FLASH推广的契机。

 

(一) 在VB中播放Flash动画

怎样才能在VB中加入Flash动画呢?我们只要使用Flash5自带的Shockwave Flash.ocx这个控件就可以了。方法如下:

1. 打开VB6.0,新建一个工程,在工具箱上单击右键,选择Components…,在部件窗口的控件列表中选择Shockwave flash,然后确定,Flash控件就被加到工具箱上。





2.选择工具箱上的Flash控件,放到窗体上并调整好大小;




3.在Form_Load()过程中加入如下代码:


Private Sub Form_Load()

ShockwaveFlash1.Movie = “D:\test.swf”

'这里写上你的Flash文件目录

ShockwaveFlash1.Menu = False

ShockwaveFlash1.Playing = True

End Sub










其中,ShockwaveFlash1.Movie是用来指定你要播放的Flash动画的目录;ShockwaveFlash1.Menu是用来指定是否在Flash动画播放中封闭右键菜单,True为能够显示菜单,False为封闭右键菜单;ShockwaveFlash1.Playing = True是让动画播放。


好了,按F5看看吧,是不是程序中的Flash动画能播放了? :)


(二) 在Flash中控制VB程序实现交互


现在Flash动画已经能在VB程序中播放了,那么怎么实现在Flash中控制VB的程序从而实现交互式的操作呢?本文的重点也在于此。

首先我们先来了解Flash中控制VB程序的基本原理:在Flash的ActionScript里面有个叫做FSCommand()的函数,它的主要功能就是发送FScommand命令,例如使动画全屏播放,隐藏动画菜单,更重要的就是可以与外部文件和程序进行通信。而在VB程序中,我们就是利用的Shockwave flash控件的FSCommand()过程来完成这一通信过程,实现信息发送的功能,并且根据发送出来的不同的命令及参数来实现对VB程序的控制。

明白了吧?简单的说,我们就是利用Flash中的FSCommand()函数向VB发送命令,利用Shockwave Flash控件来接受这个命令,从而达到Flash控制VB程序的目的。

好了,现在知道了原理,我们就一步一步来实现吧!

1. 首先要打开Flash5制作一个交互按钮,并在按钮上面加上如下代码:


on (release) {

fscommand ("Send Action");

//发送Send Action这个命令

}







这个命令的作用是当按下按钮后Flash向VB发送出名为”Send Action”的命令。当然,这个命令的名字在实际应用中可以叫做其他的任何名字。

2. 将Flash导出成为swf文件,如文章第一部分所述插入到VB6.0中,下面就是VB怎么接受这个命令的事情了;

3. 在窗体上双击Shockwave Flash控件,进入代码编辑窗口,加入如下语句





其中,ShockwaveFlash1_FSCommand这个过程是专门用来接收Flash发送的FSCommand命令的,其中第一个参数command就是与Flash发送过来的命令相对应的,当其一致的时候,则执行后面的程序(本例中是弹出MsgBox)。好了,看看程序运行的结果吧:


Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)

If command = "Send Action" Then

msg = MsgBox("Flash与VB成功结合了!", vbApplicationModal, "成功了!")

'当接到Send Action命令的时候

'这里加入你需要的程序

End If

End Sub

 

FSCommand in ActionScript

To be a

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值