• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 在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.属性控制和函数调用方法。

      常规属性的修改,

      C++Builder中集合的处理
      用C++ Builder实现VFP数据库开发,用BCB开发有身份认证功能的Email程序,BCB动态生成30个按钮对象,BCB不让应用程序显示在任务栏上的方法,利用C++Builder自定义Windows窗体“系统菜单”,用程序实现文件的关联,数字小键盘指法练习,用C++ Builder开发多层数据库应用程序,在C++ Builder6上使用Boost正则表达式库,C++Builder使用经验谈,用C++ Builder对图像进行特殊效果处理,CBuilder中帮助文件的连接及显示讨论,BCB客户端tuxedo开发实例,在BCB下使用GExperts的Debug功能,BCB编写DLL终极手册,在拷贝、删除文件时显示飞行的文件夹动画,用BCB实现超星格式转换为BMP格式,在C++Builder中使用Compress Html Help,在bcb里实现像Winamp那样具有吸附效果的磁性窗口,利用BCB巧建WEB浏览器
      C++ Builder

      以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一样“动感十足”。 

      用C++Builder6制作Apache动态服务页
      用C++ Builder实现VFP数据库开发,用BCB开发有身份认证功能的Email程序,BCB动态生成30个按钮对象,BCB不让应用程序显示在任务栏上的方法,利用C++Builder自定义Windows窗体“系统菜单”,用程序实现文件的关联,数字小键盘指法练习,用C++ Builder开发多层数据库应用程序,在C++ Builder6上使用Boost正则表达式库,C++Builder使用经验谈,用C++ Builder对图像进行特殊效果处理,CBuilder中帮助文件的连接及显示讨论,BCB客户端tuxedo开发实例,在BCB下使用GExperts的Debug功能,BCB编写DLL终极手册,在拷贝、删除文件时显示飞行的文件夹动画,用BCB实现超星格式转换为BMP格式,在C++Builder中使用Compress Html Help,在bcb里实现像Winamp那样具有吸附效果的磁性窗口,利用BCB巧建WEB浏览器
      C++ Builder

    • 0
    • 0
    • 0
    • 65
    • 单栏布局 侧栏位置: