`
isiqi
  • 浏览: 16590478 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

[C++] 在 C++ Builder 中使用 ActiveX 控件显示 Flash 动画

阅读更多

在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动画,让你的朋友羡慕一下!

分享到:
评论

相关推荐

    C++ builder 使用ActiveX控件.

    在 C++ Builder 中使用 ActiveX 控件前,需先进行安装。具体步骤包括: - 打开 C++ Builder,选择“Component”菜单中的“Import ActiveX Control”选项。 - 在出现的对话框中,从系统注册的 ActiveX 控件列表中...

    如何在C++ Builder 2007 中添加 ActiveX 控件

    一旦按照上述步骤完成安装,你就可以在C++ Builder 2007中使用ShockwaveFlash.ocx控件了。这意味着可以在应用程序中轻松嵌入Flash内容,从而为用户提供更丰富的用户体验。 以上两种方法都是可行的解决方案,具体...

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

    在本篇文章中,我们将深入探讨如何在Borland C++ Builder(简称BCB)中运用ActiveX控件来展示Flash动画,以及这一过程中涉及的关键知识点。 ### 安装与导入ActiveX控件 在BCB中使用ActiveX控件展示Flash动画的第一...

    C++Builder/bcb6编写的Flash播放器

    1. **ActiveX技术**:由于Flash内容通常通过ActiveX控件在网页中播放,因此C++Builder开发Flash播放器需要使用ActiveX控件支持。ActiveX是微软提出的一种组件对象模型,允许开发人员将各种功能封装成控件,并在不同...

    C++builder中人工添加MSCOMM控件的方法

    1. **安装C++Builder 6.0**:确保C++Builder 6.0已正确安装在您的计算机上。 2. **获取MSCOMM控件文件**:通常情况下,安装Visual C++ 6.0或Visual Basic 6.0时会自动安装MSCOMM控件。需要获取以下三个文件: - ...

    C++ builder 中如何使用Mscomm控件.doc

    ### 如何在C++ Builder中使用Mscomm控件 #### 一、Mscomm控件简介 Mscomm控件是Microsoft提供的用于实现串行通信的一种ActiveX控件,它支持多种串行通信协议,如RS-232等,广泛应用于各种工业自动化控制、数据采集...

    powerBuilder中创建控件

    powerBuilder中创建控件,参考文章

    C++Builder自动注册MSCOMM.OCX控件

    在使用MSCOMM.OCX控件开发的项目中,自动注册MSCOMM.OCX控件,只需要讲MSCOMM.OCX控件跟,exe运行文件放在同一个目录下,实现自动检测安装MSCOMM.OCX控件。

    工作流绘图控件,一个很好的C++编写的流程图绘图ActiveX控件

    在这个特定的案例中,我们讨论的是一个由C++编程语言编写的ActiveX控件,它允许用户在Web环境下进行流程图的绘制。 ActiveX控件是微软开发的一种技术,它提供了在网页或应用程序中嵌入功能丰富的组件的能力。这些...

    c++builder6安装包

    8. **源代码兼容性**:C++Builder 6编写的代码可以与其他C++编译器保持良好的兼容性,这使得代码可以在不同的开发环境中轻松迁移。 9. **跨平台支持**:虽然C++Builder 6主要关注Windows平台,但通过第三方工具和库...

    使用C++制作ocx控件

    OCX 控件是 ActiveX 控件的一种,能够在多种语言中被调用,它封装了自己的方法和属性,可以在图形界面中使用,例如按钮、文本框等控件。在 VS2010 中开发和使用 OCX 控件需要遵循一定的步骤,本文将详细介绍如何在 ...

    c++Builder2007,2009下安装Active控件(以MSCOMM为例)

    在C++Builder 2007和2009中安装Active控件,特别是像MSCOMM这样的ActiveX控件,需要遵循一定的步骤。这里我们将详细介绍如何在C++Builder环境中导入并安装MSComm控件。 首先,打开C++Builder,然后选择“Import ...

    ActiveX控件注册的几种方法

    ##### 操作示例(使用C++Builder为例): ```cpp void TForm1::Button1Click(TObject *Sender) { HINSTANCE hLib = LoadLibrary("PathToYourOCXFile.ocx"); if (hLib == NULL) { MessageBox(Handle, "Dll文件不...

    用C++builder 制作flash播放器的几个细节问题

    在使用C++Builder开发Flash播放器的过程中,会遇到一系列的技术挑战和细节问题。本文将针对这些关键点进行深入探讨,帮助开发者理解并解决这些问题。 首先,C++Builder是一款集成开发环境(IDE),它提供了强大的...

    C++Builder c++builder高级应用开发指南

    这通常涉及到ActiveX控件或Flash Player的ActiveX接口,通过C++Builder的VCL组件来实现。 3. **E_Mail**:C++Builder支持SMTP和POP3协议,可以构建邮件发送和接收的应用。这部分内容可能涵盖如何使用 Indy 或其他...

    c++ builder 2007 安装程序

    7. **组件编程**:C++ Builder 支持组件编程,开发者可以将自定义的代码封装为可重用的组件,方便在多个项目中复用。 8. **网络编程**:C++ Builder 2007 提供了丰富的网络编程接口,可以进行HTTP、FTP等协议的通信...

    C++ Builder组件大全1

    4. **数据库访问**:C++ Builder支持ADO(ActiveX Data Objects)和BDE(Borland Database Engine),讲解如何连接数据库,执行SQL语句,以及使用数据控件如TDataSource和TDBGrid显示和编辑数据。 5. **网络和多...

    在 C++ Builder中利用串行通信控件编程.

    本文将详细介绍如何在C++ Builder环境中使用串行通信控件进行编程。由于C++ Builder本身并不内置MSComm串行通信控件,因此我们需要通过外部方式注册并集成该控件。一旦注册成功,用户便能如同操作其他内置控件一样,...

    C++ Builder 6制作ActiveForm源码

    ActiveForm是一种技术,它允许开发者将Visual Component Library (VCL)组件封装到一个ActiveX控件中,使得这些控件可以在其他支持ActiveX的环境中如Visual Basic、HTML页面或者其他的C++ Builder项目中使用。...

Global site tag (gtag.js) - Google Analytics