• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi--Flash

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

delphi与flash交互具体存在两个问题:
1、如何能让delphi应用程序接收到flash发来的消息,并处理;

2、怎样能从delphi应用程序向flash传递命令,控制.swf文件的运行。

一、flash向delphi发送消息:
      flash向delphi发送消息运用flash中自带的fscommand命令即可。


 第一步(flash中Button添加script):
on (release) {
  var userCode = editCode.text
  var userName = editName.text;
  fscommand("btSubmit", userCode+","+userName); //这样传入args
}
   flash中某一元件的单击事件会触发fscommand命令了,其中参数“btSubmit”是命令,后面的就是命令的值。


   以下为在delphi中使用的接收代码:
procedure TFrmMain.Flash1FSCommand(Sender: TObject; const command,
args: WideString);
begin
  If Command='btSubmit' Then
      ShowMessage(args);
end;
在TShockwaveFlash控件中已经存在了专门接收命令的事件了"OnFSCommand",其它的就很清楚了。


二、delphi向flash传递指令:
    delphi方面,执行代码如下:
    Flash1.SetVariable('btSubmittoflash','这是delphi向flash传的');
    flash中必需存在变量名为"btSubmittoflash"的元件,应为文本元件(必须),后面是传递的内容。执行后会在flash中名为btSubmittoflash的文本元件中显示传入的“这是delphi向flash传的”这段内容。

三、由于播放Flash的时候,点击右键会出现诸如放大,缩小的flash控件的字样,所以最好屏蔽右键。
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;  var Handled: Boolean);
var
  mPoint : TPoint;
begin
  //if IsChild(Flash1.Handle, Msg.Hwnd) then
  if   ((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP))  then
  begin
    GetCursorPos(mPoint);
    //如果去掉下面这行就是屏蔽右键菜单,不去掉为自定义右键菜单
    PopupMenu1.Popup(mPoint.X, mPoint.Y);
    Handled:=True;
  end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Application.OnMessage := ApplicationEvents1Message;  //屏蔽Flash右键菜单,或弹出自定义右键菜单
end;

===========(背景透明)============
wmode参数值为transparent


 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
zw版【转发· 台@@湾 nvp系列Delphi例程】HALCONAffineTransRegion发布时间:2022-07-18
下一篇:
Delphi中的容器类发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap