在CB中使用ActiveX控件显示Flash动画
2008-02-23 05:35:48来源:互联网 阅读 ()
1.安装、导入ActiveX控件
本文的主角是:swflash.ocx,这个文档Windows98中附带有,在缺省模式下Windows会将他安装到“Windows\System\Macromed\Flash”目录下,假如您在安装时没有选“缺省安装”能够到Win98的安装光盘中的win98_68.cab文档中找到他。
C++ Builder在对ActiveX的支持方面可说是做得很出色,我们能够很方便地导入系统中的ActiveX控件:选择“Component->Import ActiveX Control”,在上面的控件列表中选择“ShockWave Flash(Version 1.0)”(图1),再点下面的“Install”按钮就行了!假如控件列表中没有他,那么说明ShockWave Flash控件还没有在系统中注册,不要紧,我们能够点击“Add”按钮在您的电脑中找到这个OCX文档后再Install,C++ Builder会自动为他注册。
2.编程显示Flash动画
导入成功后,C++ Builder会在ActiveX页中增加一个“ShockWaveFlash”控件(图2),建立一个新工程,在合适的位置放置一个ShockWaveFlash控件,适当调整一下他的大小,然后在他的“Movie”属性中填上一个您的硬盘上已有的Flash动画文档名(如c:\flash\test.swf),然后按F9运行,怎么样,不用写一行代码我们就做出了一个能显示Flash动画的程式!
但是为了让他更好地工作,我们更有必要了解一下ShockWaveFlash控件的属性和方法:
【属性】AlignMode(int型)和SAlign(WideString型) 控制动画的显示位置(把这两个属性列在一起说明他们是相互关联的,改变一个另一个也会相应地改变,后面类似的情况就不作说明了)。取值范围及含义如下:
0 空 当前位置
1 L 当前位置靠左
2 R 当前位置靠右
3 LR 当前位置居中
4 T 当前位置靠上
5 LT 左上
6 TR 右上
7 LTR 上方居中
8 B 当前位置靠下
9 LB 左下
10 RB 右下
11 LRB 下方居中
12 TB 当前位置垂直居中
13 LTB 靠左垂直居中
14 TRB 靠右垂直居中
15 LTRB 中央位置
【属性】BackgroundColor(int型)和BGColor(WideString型) 配置背景颜色,BackgroundColor为整型值,BGColor为他的HEX字符串。
【属性】Loop(bool型) 是否循环显示
【属性】Menu(bool型) 是否显示右键菜单,建议设为true,因为他能够完成对Flash动画的大部分控制工作,而不用我们写代码。
【属性】Movie(WideString型) Flash动画的文档名,能够在运行状态动态配置,要关闭一个动画只要把他设为空即可。
【属性】Quality(int型)和Quality2(WideString型) 控制动画的显示质量,一般将Quality设为1以获得高质量的显示效果。
【属性】ScaleMode(int型)和scale(WideString型) 控制动画的显示比例,取值范围及含义如下:
0 ShowAll 显示全部
1 NoBorder 无边框模式
2 ExactFit 拉伸到整个画面
3 空 原始大小
【方法】PercentLoaded 返回动画已加载的百分比,您能够建立一个进程条(ProgressBar)来显示动画加载的进程。
【方法】LoadMovie 用于加载网络上的动画,动画文档名为一个BSTR型的URL值,在 C++ Builder 中能够用 AnsiToOLESTR 函数将Char型的字符串转换成BSTR型。
好了,利用上面介绍的属性和方法,相信您已很好地使用他了!遗憾的是 ShockWaveFlash 控件的功能现在还不太完善,比如无法返回动画的实际大小和背景颜色等,但对于我们只要在程式中显示一个特定的Flash动画来说,这些并不重要。
3.注册ActiveX控件
假如您要把您的程式给别人使用,为了防止他没有安装或是注册swflash.ocx文档而导致程式无法运行,您必须把OCX文档也一起附带上,并在程式中为他在系统中注册,注册方法有两种:
方法一:调用外部程式 Regsvr32.exe
注册: ShellExecute(Handle,NULL,“regsvr32.exe”,“swflash.ocx”,NULL,SW_SHOWNORMAL);
反注册: ShellExecute(Handle,NULL,“regsvr32.exe”,“/u swflash.ocx”,NULL,SW_SHOWNORMAL);
方法二:调用控件本身所包含的注册和反注册函数
每一个OCX控件中都提供了两个输出函数“DllRegisterServer”和“DllUnRegisterServer”,能够注册和反注册控件本身,我们能够用LoadLibrary()和GetProcAddress()来调用他们,这和动态调用DLL库的方法是相同的,我在这里就不多说了。
4.经验之谈
最后,我还想介绍一下使用ActiveX控件的技巧。
一般的ActiveX控件都是没有帮助文档的,在C++ Builder的IDE环境中我们只能看到他的设计期属性和事件,那么怎么才能知道他的运行期属性和方法呢?C++ Builder在导入一个ActiveX控件后会在“Imports”目录中生成相应的头文档(*.h),只要把他打开看一下就一目了然了!
另外我们还必须了解各种属性、方法及其参数的含义,那就要编程式来试了,为每个想了解的属性和方法建立一个菜单项,点击时用InputBox输入参数来试验效果,还能够建立一个状态栏来显示和其相关变量的值。
写了这么多,不知您是否理解了呢?还不赶快在您的程式里加上如今最流行的Flash动画,让您的朋友羡慕一下!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: DrawDib函数组的使用
下一篇: BMP位图文档结构及平滑缩放
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash