手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

在CB中使用ActiveX控件显示Flash动画

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
   在微软的大力扶持下,越来越多的软件公司开始支持ActiveX了,这对于喜欢编程的朋友来说可是件值得高兴的事!因为我们能够在程式中很方便地调用外部的OCX文档来实现复杂的功能(比尔·盖茨这回总算做了件好事),比如在您的程式中调用IE来显示HTML文档等。今天我想向大家介绍一下如何在C++ Builder中使用ActiveX控件显示Flash动画。
   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动画,让您的朋友羡慕一下!




文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS