TShockwaveFlash的安装及其属性和方法

BCB6:ComponentImport 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值