回 帖 发 新 帖 刷新版面

主题:FLASH与VB交互问题

我在VB程序中添加了一个FLASH导航栏,可是FLASH按钮不起作用了
然后我打算在ShockwaveFlash控件上面加一个透明的PictureBox控件,
可是添加完才发现这个控件无法设置透明属性.我有想用label控件实现,
可是它总落在ShockwaveFlash控件的后面,好像VB程序就是这样的!
请高手帮帮忙,给小弟点解决的思路,谢谢了!

回复列表 (共2个回复)

沙发

在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

以上内容来自互联网,未经本人验证。

板凳

在flash中
fscommand函数格式为 fscommand("命令","参数")
在VB中调用方法如下:
一.先插入Shockwave Flash控件
二.在控件的movie属性中填写要插入的flash路径(包括flash名)
三.使用ShockwaveFlash1的FSCommand事件
   Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
   If command = "命令" Then <<或者 If args = "参数" Then >>
      即将执行的操作
   End If
   End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册