如题,想在Delphi中实现播放flash作为程序启动画面,现在Tshockwaveflash控件已经装好了,可是不知道怎么用,试过在控件属性的“movies”中写入了“*.swf”文件的路径,但是得到的是张静态的图而不是动态的,往高手赐教

解决方案 »

  1.   

    应该和网页上放入动态的FLASH差不多吧?
      

  2.   

    如果想动态改变Tshockwaveflash播放的内容,在程序中修改movies属性就可以了.
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
          begin
             if OpenDialog1.Execute then
                 ShockwaveFlash1.Movie:= 
    OpenDialog1.FileName;
          end;procedure TForm1.Button2Click(Sender: TObject);
         begin
           ShockwaveFlash1.Play;
         end;
       
    procedure TForm1.Button3Click(Sender: TObject);
         begin
           ShockwaveFlash1.StopPlay;
         end;procedure TForm1.Button4Click(Sender: TObject);
         begin
           ShockwaveFlash1.FreeOnRelease;
           close;
         end;
      

  4.   

    (转)首先,你的机器里要装有Flash播放软件(你的IE能显示Flash)。IE之所以能显示Flash是安装了由Macromedia公司提供的swflash.ocx控件,我们可以在Win98的$Windows\System\Macromed \Flash中或在Win2000中的$Winnt\System32\ Macromed\Flash中找到它。ActiveX控件在Windows里是通用的,Delphi也同样支持。 运行Delphi后,选择选单Component→Import ActiveX Control,找到SWFlash.OCX 文件进行安装。安装完成后,ActiveX面板里出现TShockwaveFlash控件,这是Delphi对SWFlash.OCX的封装,现在我们就可以用这个控件来播放Flash了。拖一个Flash过来,放在Form上,指定其Movie属性为d:\test.SWF,并按F9键加以运行即可。怎么样,运行效果不错吧?下面,笔者将具体介绍TShockwaveFlash主要属性、方法和事件,以便于读者开发。 TShockwaveFlash主要属性如下: ReadyState:读一个flash文件时的状态,其中包括0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete;
    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为按窗口百分比。 TShockwaveFlash主要事件如下: OnProgress(int percent):读取一个flash时触发;
    OnReadyStateChange(int state):状态改变时触发。states的值可以为0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete。 
    举例:
    :     procedure TForm1.Button1Click(Sender: TObject);
          begin
             if OpenDialog1.Execute then
                 ShockwaveFlash1.Movie:= 
    OpenDialog1.FileName;
          end;   procedure TForm1.Button2Click(Sender: TObject);
         begin
           ShockwaveFlash1.Play;
         end;
       
       procedure TForm1.Button3Click(Sender: TObject);
         begin
           ShockwaveFlash1.StopPlay;
         end;   procedure TForm1.Button4Click(Sender: TObject);
         begin
           ShockwaveFlash1.FreeOnRelease;
           close;
         end;
      

  5.   

    先设好其Movie,然后按回车;再设EmbedMovie为True,再在Movie里按空格,再按回车,Flash文件已存在窗体文件中,OK了.