问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样解决flash.ocx这个控件的加载问题?

发布网友 发布时间:2022-05-06 06:16

我来回答

1个回答

热心网友 时间:2022-06-28 21:18

在C++ Builder中使用ActiveX控件显示Flash动画 在微软的大力扶持下, 越来越多的软件公司开始支持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动画,让你的朋友羡慕一下!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 regsvr32 vsflex8.ocx regsvr32 MSINET.OCX 如何对这两个注册控件进行反注册 C#实现的ocx控件不能反注册 如果发现有一个控件无法注册(比如chinaexcel.ocx),可以通过 命令来手工注册控件,如何反注册控件? 为什么三星s5手机右上方显示4g流量还是灰色的 三星手机通知栏的数据连接打开了,流量的图标也显示了的,手机也没欠费,为什么就是上不了网呢? 三星手机屏幕上显示5g信号和wifi都显示走哪个流量 三星note手机屏幕上方的时间,流量,网络怎么显示不动 50升汽油车加了3升柴油把油跑完清洗油箱可以吗? 刘玉璞版倚天屠龙记在哪里看 柴油车加错油该怎么办? 柴油车油箱用不用进气 新倚天2022在哪里看 冬天柴油车如何保养 中国电信新买的遥控器怎么设置 三星手机屏幕顶部三角形里↑↓的图标怎么去掉? 柴油车洗一次油箱要多少钱 三星S5830手机 上面流量图标只有一个G字 开了流量也没用,没有流量的E 手机无法上网 柴油轿车怎么保养? 如果柴油车误加汽油会怎么样 柴油车换柴油滤芯要不要把油箱里的柴油放完 自己买的拖鞋从医院穿回去好吗 京东支付的时候显示“暂时不支持银行卡优惠组合支持”是什么意思? 华为手机开不了机了,一直显示开机画面? 炒菜哪个好吃 炒菜那些好吃 十三香和麻辣鲜哪个炒菜好吃? 色拉油和菜油哪个炒菜更好吃? 250字寒假日记 小学六年级日记250到300字 小学寒假周记写七天的250字数 小学生周记250字,标点算一个。 初一寒假日记250字30篇 怎样批量修改图片(修改日期 创建日期 访问日期 ) 六个月能吃水蒸蛋吗 7个月的宝宝可以吃水蒸蛋吗 蛋白蛋黄一起的,宝宝6个月能吃水蒸蛋吗 股票紫光国微千股千评 如何把一份PPT文件转换为一页PNG文件? 幻灯片怎么变成PNG格式?再怎么变回来? 股市分析晶澳科技?晶澳科技千股千评价?晶澳科技股票涨不动?