在C++Builder窗口中播放Flash
【打印文章】
作者: 王东
Flash是Macromedia公司著名的平面动画制作软件,可以制作出优秀的作品,甚至有人利用Flask制作出电视节目。本文介绍一种方法,可以将Flash的动画作品加入到一般应用窗口中去。
1. 装入入ActiveX Control(SWFlash.OCX)。
准备工作:
①用Flash 5.0 制作一个动画作品,作品名称为:a.swf,存放路径为:c:\cbb。
②用Windows“开始”菜单的“搜索”命令,确定swflash.ocx文件的位置,一般情况下Windows NT用户的路径是:Winnt\System32\ Macromed\Flash,对于Windows 98用户来说,其目录可能是:Windows\System\Macromed \Flash。
将SWFlash.OCX装入到C++ Builder系统环境中。
①启动C++ Builder窗口界面之后,选择菜单“Component”下的“Import ActiveX Control”命令条目。
②在“Import ActiveX”对话框中,单击“Add”按钮,目的是增加新的ActiveX Control。
③在“Register Ole Control”对话框中,把查找范围确定为:“Winnt\System32\ Macromed\Flash”,输入或选择文件“SWFlash.OCX”,单击“打开”按钮。到此,正常情况下“ShockWave Flash (Virsion 1.0)”就已经完成了登记。
④单击“Install”按钮,装入程序模块。
建立用户应用程序,引入“Flash”控件到窗口上。
①建立新应用程序,将工作目录(路径)定义为:c:\cbb。
②选取“ActiveX”标签上的“Flash”控件类型,将其拖放到“Form1”上,摆放位置参见图1,此时不包括“消失/出现”、“播放/暂停”等按钮。
③单击选中该Flash控件,查看其:name属性为:Flas1。再将其Movie属性设置为c:\cbb\a.SWF,要求和前面所述的a.swf文件一致,以确保程序能找到a.swf文件。
④按F9键或单击运行按钮,将可以看到程序运行情况。
2.属性控制和函数调用方法。
常规属性的修改,以Visible属性为例,制作“消失/出现”按钮。
① 在Form1上,安放Button按钮,并将Caption属性设置为:消失/出现。
② 双击“消失/出现”按钮,在 Button1Click(TObject *Sender)函数体中,输入程序脚本:Flash1->Visible=!Flash1->Visible。
③按F9键或单击运行按钮,将可以验证“消失/出现”按钮的功能。
修改Playing属性,制作“播放/暂停”按钮。
① 在Form1上,再安放一个Button按钮,并将Caption属性设置为:播放/暂停。
② 双击“播放/暂停”按钮,程序脚本如下:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Flash1->Playing =! Flash1->Playing ;
}
③按F9键或单击运行按钮,将可以验证“播放/暂停”按钮的功能。
相同的方法,分别制作“放大”、“缩小”、“上移”和“下移”按钮,分别对应的脚本是:
Flash1->Zoom(50);
Flash1->Zoom(200);
Flash1->Pan(0,12,1);
Flash1->Pan(0,-12,1);
该程序最终执行情况如图1所示,以上各脚本均在C++Builder 5.0系统编译通过,并执行成功。
图1 包含Flas动画的程序
3.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。
充分利用TShockwaveFlash主要属性、方法和事件,可以编制出多种具体Flash嵌入式应用程序。目前,动画处理已经成为应用程序商业化的基本条件,借助Flash 5.0给我们提供的动画技术,我们的应用程序将和Flash 5.0一样“动感十足”。
Flash是Macromedia公司著名的平面动画制作软件,可以制作出优秀的作品,甚至有人利用Flask制作出电视节目。本文介绍一种方法,可以将Flash的动画作品加入到一般应用窗口中去。
1. 装入入ActiveX Control(SWFlash.OCX)。
准备工作:
①用Flash 5.0 制作一个动画作品,作品名称为:a.swf,存放路径为:c:\cbb。
②用Windows“开始”菜单的“搜索”命令,确定swflash.ocx文件的位置,一般情况下Windows NT用户的路径是:Winnt\System32\ Macromed\Flash,对于Windows 98用户来说,其目录可能是:Windows\System\Macromed \Flash。
将SWFlash.OCX装入到C++ Builder系统环境中。
①启动C++ Builder窗口界面之后,选择菜单“Component”下的“Import ActiveX Control”命令条目。
②在“Import ActiveX”对话框中,单击“Add”按钮,目的是增加新的ActiveX Control。
③在“Register Ole Control”对话框中,把查找范围确定为:“Winnt\System32\ Macromed\Flash”,输入或选择文件“SWFlash.OCX”,单击“打开”按钮。到此,正常情况下“ShockWave Flash (Virsion 1.0)”就已经完成了登记。
④单击“Install”按钮,装入程序模块。
建立用户应用程序,引入“Flash”控件到窗口上。
①建立新应用程序,将工作目录(路径)定义为:c:\cbb。
②选取“ActiveX”标签上的“Flash”控件类型,将其拖放到“Form1”上,摆放位置参见图1,此时不包括“消失/出现”、“播放/暂停”等按钮。
③单击选中该Flash控件,查看其:name属性为:Flas1。再将其Movie属性设置为c:\cbb\a.SWF,要求和前面所述的a.swf文件一致,以确保程序能找到a.swf文件。
④按F9键或单击运行按钮,将可以看到程序运行情况。
2.属性控制和函数调用方法。
常规属性的修改,以Visible属性为例,制作“消失/出现”按钮。
① 在Form1上,安放Button按钮,并将Caption属性设置为:消失/出现。
② 双击“消失/出现”按钮,在 Button1Click(TObject *Sender)函数体中,输入程序脚本:Flash1->Visible=!Flash1->Visible。
③按F9键或单击运行按钮,将可以验证“消失/出现”按钮的功能。
修改Playing属性,制作“播放/暂停”按钮。
① 在Form1上,再安放一个Button按钮,并将Caption属性设置为:播放/暂停。
② 双击“播放/暂停”按钮,程序脚本如下:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Flash1->Playing =! Flash1->Playing ;
}
③按F9键或单击运行按钮,将可以验证“播放/暂停”按钮的功能。
相同的方法,分别制作“放大”、“缩小”、“上移”和“下移”按钮,分别对应的脚本是:
Flash1->Zoom(50);
Flash1->Zoom(200);
Flash1->Pan(0,12,1);
Flash1->Pan(0,-12,1);
该程序最终执行情况如图1所示,以上各脚本均在C++Builder 5.0系统编译通过,并执行成功。
图1 包含Flas动画的程序
3.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。
充分利用TShockwaveFlash主要属性、方法和事件,可以编制出多种具体Flash嵌入式应用程序。目前,动画处理已经成为应用程序商业化的基本条件,借助Flash 5.0给我们提供的动画技术,我们的应用程序将和Flash 5.0一样“动感十足”。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】