在Delphi程序里播放Flash 在Flash大行其道的今天，是否想过在你的程序里也加入几幅Flash动画炫一炫呢？OK，心动不如行动，让我们现在就开始吧！ 首先，你的机器里要装有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。
(曾卓)