BCB6:Component→Import ActiveX Control,找到Shockwave Flash [Verion 1.0] 文件进行安装。

安装完成后,ActiveX面板里出现TShockwaveFlash控件

TShockwaveFlash主要属性如下:
  ReadyState:读一个flash文件时的状态;
  TotalFrames:总帧数,只有当ReadyState = 4时才能访问该属性;
  FrameNum:当前播放的帧;
  Playing:播放或暂停一个flash;
  Quality:指定当前渲染的质量,包括0=Low, 1=High、2=AutoLow、3=AutoHigh;
  ScaleMode:缩放模式,0=ShowAll、1= NoBorder、2 = ExactFit;
  AlignMode:对齐模式,Left=1、Right=2、Top=4、Bottom=8;
  BackgroundColor:背景色,-1为默认颜色;
  Loop:是否循环;
  Movie:指定播放的flash文件路径,可以为一个URL。
  
TShockwaveFlash主要方法如下:
  Play():开始播放动画;
  Stop();停止播放动画;
  Back();播放前一帧动画;
  Forward():播放后一帧动画;
  Rewind():播放第一帧动画;
  SetZoomRect(int left, int top, int right, int bottom):设置缩放的区域;
  Zoom(int percent):缩放(按百分比);
  Pan(int x, int y, int mode):缩放播放面板,其中模式0为按像数、1为按窗口百分比。
  TSetProperty(target:widestring,property_:integer,const value widestring):设定flash中影 片的属性;
  TGetProperty(target:widestring,property_:integer):取得flash中影片的属性;
  GetVariable(const name:widestring):取得flash中动态文本的值;
  SetVariable(const name:widestring,const value:widestring):设定flash中动态文本的值;

TShockwaveFlash主要事件如下:
  OnProgress(int percent):读取一个flash时触发;
  OnReadyStateChange(int state):状态改变时触发。states的值可以为0=Loading、
                                 1=Uninitialized、2=Loaded、3=Interactive和4=Complete。
  OnFSCommand(const command, args: WideString):可用来读取flash按钮中的参数;

三.Delphi与flash的信息通道
   
  1.利用flash控件的Fscommand属性来读取flash按钮中的参数及参数的值。
        例:    新建一个flash文件,在flash主场景中添加四个按钮依次在按钮中添加如下脚本:
           第一个按钮:      on (release) {
                          fscommand (”Num1”, ”1”);
                                         }
           第二个按钮:      on (release) {
                          fscommand (”Num1”, ”2”);
                                         }
           第三个按钮:     on (release)  {
                          fscommand (”Num2”, ”1”);
                                         }
           第四个按钮:     on (release) {
                          fscommand (”Num2”, ”2”);
                                        }
               新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,双击FSCommand事
           件,添入以下代码:
           procedure TForm1.ShockwaveFlash1FSCommand(Sender: TObject; const command,args:
                                                     WideString);
                      begin
                       if command=’Num1’ then showmessage(’Num1’);
                       if ((command=’Num1’) and (args=’1’)) then showmessage(’Num1 1’);
                       if ((command=’Num1’) and (args=’2’)) then showmessage(’Num1 2’);
                       if command=’Num2’ then showmessage(’Num1’);
                       if ((command=’Num2’) and (args=’1’)) then showmessage(’Num2 1’);
                       if ((command=’Num2’) and (args=’2’)) then showmessage(’Num2 2’);
          (           end;

2.利用flash控件的Setvariable或Getvariable方法来读或写flash动态文本框中的内容。
   
   例: 新建一个flash文件,在flash主场景中添加一动态文本框,将其variavle设为Text1.
        新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,再添加二个Button控件,双
        击Button1,添入以下代码:
      procedure TForm1.Button1Click(Sender: TObject);
          begin
             shockwaveflash1.SetVariable(’Text’,’信息已经到达!’);
          end;
       双击Button2,添入以下代码:
      procedure TForm1.Button2Click(Sender: TObject);
          begin
             showmessage(shockwaveflash1.GetVariable(’Text’));
          end;

3. 利用flash控件的TSetProperty或TGetProperty方法来读或写flash影片的属性。
  
     例: 新建一个flash文件,在flash主场景中添加一影片(MC),将其name设为MC1.  
      新建一Delphi工程,在Form中添加flash控件,设置好其movie属性,再添加二个Button控件和timer
      控件,button1的caption设为Start;button2的caption设为End;代码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i:integer;
s:string;
begin
s:=shockwaveflash1.TGetProperty(’MC1’,6);
i:=strtoint(s);
i:=i-10;
s:=inttostr(i);
shockwaveflash1.TSetProperty(’MC1’,6,s);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Interval :=500;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Interval :=0;
end;
运行后,可以看到影片的透明度越来越小。shockwaveflash1.TGetProperty(’MC1’,6)语句中的6表示影片的透明度属性,
其他属性如下:
            0----------->表示影片x坐标
            1----------->表示影片y坐标
            2----------->表示影片xscale  
            3----------->表示影片yscale
            6----------->表示影片的透明度  
            7----------->表示影片可见性
            8----------->表示影片的宽度  
            9----------->表示影片的高度
            10---------->表示影片旋转

补充一下:
在新版的flash中控件SWFlash.OCX改为Flash.OCX了

参考:http://blog.163.com/snowd_rop/blog/static/1157847822010119249230/

TShockwaveFlash的安装及其属性和方法相关推荐

  1. linux安装IPython四种方法

    IPython是Python的交互式Shell,提供了代码自动补完,自动缩进,高亮显示,执行Shell命令等非常有用的特性.特别是它的代码补完功能,例如:在输入zlib.之后按下Tab键,IPytho ...

  2. Sublime Text 无法使用Package Control或插件安装失败的解决方法

    Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它.由于本人用Windows系统,只讨论Windosw下的 ...

  3. Sublime Text 无法使用Package Control或插件安装失败的解决方法【转】

    Sublime Text用了一年多了,公司搬家最近突然发现Package Control无法安装新插件了,虽然不影响原有功能的使用,还是要解决它.由于本人用Windows系统,只讨论Windosw下的 ...

  4. C#常用控件的属性以及方法(转载)

    -----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...

  5. Windows更新补丁下载、批量安装的几种方法

    Windows更新补丁下载.批量安装的几种方法 对于广大电脑爱好者而言,打补丁已经是"家常便饭".每次重装系统后,之前系统更新过的补丁也随之毁于一旦,不得不再次连接到微软的网站,将 ...

  6. 计算机如何驱动无线网络,win7如何安装无线网卡驱动 安装无线网卡驱动的方法...

    今天告诉大家win7安装无线网卡驱动?无线网卡就是既能接受无线信号,又能发射无线信号的网络设备,但无线网卡就需要安装无线网卡驱动.许多新手用户不懂安装步骤,其实安装方法简单,接下来给大家说明一下win ...

  7. System.getProperty(属性名)方法的使用

    System.getProperty("属性名")方法的使用 版权声明:本文为博主原创文章,未经博主允许不得转载.    https://blog.csdn.net/A__17/a ...

  8. JBuilder安装JDBC drive的方法略解

    文章介绍有关JBuilder安装JDBC drive的方法,也许对您有一定的帮助,我也是闲的无聊拿来分享一下我的窍门,或许有更好的方法,当然,我是个业余爱好者,我是做电话录音盒相关软件工作的,平时一些 ...

  9. 不从Win7/Win8.1升级,直接全新安装并激活Win10方法

    不从Win7/Win8.1升级,直接全新安装并激活Win10方法(转自IT之家):方法简单方便, 感觉可节省不少时间,所以搬运分享给大家.        本文针对那些还没有升级Win10的Win7/W ...

  10. windows server 2012 安装 VC++ 安装失败0x80240017解决方法

    摘要:在一台Windows server 2012 R2 的设备上 mysql 8.0.26.0时,提示缺少 vc++ 2019.后续通过补丁的方式完成mysql安装,这里对补丁记录一下.vc++下载 ...

最新文章

  1. 网络营销之CPA、CPS、CPM、CPT、CPC 是什么
  2. mysql数据库的字符集设置_mysql数据库字符集设置
  3. 5G NGC — 关键技术 — R15 SBA
  4. retinaface人脸姿态
  5. 优化 recipe 达到快速启动 SAP Hybris Accelerator Storefront 的方法
  6. [重要!] SAP Spartacus加载网络请求的entity状态切换,统一在loader.reducer.ts里完成
  7. 容器化Spring Data Cassandra应用程序
  8. C# DataSet转JSON
  9. 记一次mysql进程无法启动的解决方案
  10. sdk和api有什么区别
  11. CCPC2020太原理工获得一枚奖牌
  12. oracle常见sql积累
  13. windows :32位到64 位
  14. 盘点电商大战背后的技术力量支撑
  15. 贪吃蛇c语言代贴吧,【图片】C语言小游戏~贪吃蛇【c语言吧】_百度贴吧
  16. 845 数组中的最长山脉
  17. 制作u盘winpe启动盘_如何制作U盘启动盘
  18. 构造-牛客寒假集训营3-牛牛的DRB迷宫II
  19. 闲聊弹幕网站背后的用户需求和心理动机
  20. TA-Lib介绍安装及使用教程

热门文章

  1. 中职计算机专业考试时间,中职学业水平考试时间表出炉!这些不得不提前知晓...
  2. FAT文件系统几点释疑
  3. LeetCode -- Word Ladder
  4. pdn阻抗测试_阻抗测试基础(超详细,安捷伦工程师力作)(上篇)
  5. PLUPLOAD插件 ━━ 上传总结(分片上传,php后端处理)
  6. linux 显卡扩展坞,我的新玩意儿——Mac mini2018+Razer core(附显卡扩展坞类比图)...
  7. 管理学之父德鲁克:目标管理的八要素和七步骤
  8. tfidf+embedding
  9. 【经验】CCF CSP认证问题
  10. 2020博客之星结束了,感谢这些小伙伴们为我投票|博客之星TOP20的几位大佬