没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2005-12-13 10:43:00.000|阅读 1277 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
在微软的大力扶持下,越来越多的软件公司开始支持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动画,让你的朋友羡慕一下!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号