在BCB中轻松使用ActiveX控件

在微软的大力扶持下,越来越多的软件公司开始支持ActiveX了,这对于喜欢编程的朋友来说可是件值得高兴的事!因为我们可以在程序中很方便地调用外部的OCX文件来实现复杂的功能,而在BCB中只带有很少几个ActiveX控件,大部分我们需要我们自己安装,下面通过对RealPlayer与Flash控件的安装与应用,让我们共同来学习ActiveX的组件在BCB中的使用方法:)

一、安装、导入ActiveX控件

C++ Builder在对ActiveX的支持方面可说是做得非常出色,我们可以很方便地导入系统中的ActiveX控件:点击菜单“Component→Import ActiveX Control...”打开“Import ActiveX”对话框,在“Import ActiveX”列表框中,我们可以看到Windows中所有注册的AxctiveX控件。在上面的控件列表中选择你所需要的控件,再点下面的“Install”按钮就行了!如果控件列表中没有它,那么说明你要找的控件还没有在系统中注册,不要紧,我们可以点击“Add”按钮在你的计算机中找到这个OCX文件后再Install,C++ Builder会自动为它注册。

二、了解ActiveX控件的所有方法

一般的ActiveX控件都是没有帮助文件的,在C++ Builder的IDE环境中我们只能看到它的设计期属性和事件,那么怎么才能知道它的运行期属性和方法呢?C++ Builder在导入一个ActiveX控件后会在“E:\Program Files\Borland\CBuilder6\Imports”目录中生成相应的头文件(*.h)(当然你的目录可能不是这样的),只要把它打开看一下就一目了然了!当然要是在BCB6下,你可以在编程的过种中双击代码编辑器(Code Editor)左半边的代码浏览器(Code Explorer)中的ActiveX控件的名字,在右侧代码区就会查看到她的头文件,慢慢体会吧:)

另外我们还必须了解各种属性、方法及其参数的含义,那就要编程序来试了,为每个想了解的属性和方法建立一个菜单项,点击时用InputBox输入参数来试验效果,还可以建立一个状态栏来显示与其相关变量的值。

三、应用举例

现在流行的ActiveX控件很多,这里我们拿RealPlayer与flash控件做为例子。

1.RealPlayer控件的使用

如今RealPlayer的流式媒体文件以其强大的视频压缩比正逐步悄然兴起。RealPlayer Plus播放器也理所当然地成为大家播放RealPlayer格式文件的首选软件。人家在好的也是别人的,其实我们可以利用C++ Builder打造一个完全符合自己要求的RealPlayer播放器。下面我将向大家介绍如何利用BCB来完成你的RealPlayer。前提你的机器中必须装有RealPlayer Plus播放器,因为我们要用到其自带ActiveX控件。

首先,我们要在C++ Builder中导入所需的ActiveX控件。点击菜单“Component→Import ActiveX Control...”打开“Import ActiveX”对话框,在“Import ActiveX”列表框中,我们可以看到Windows中所有注册的AxctiveX控件。选择其中的“RealPlayer ActiveX Control Library(Version 1.0)”控件。然后单击“Install”按钮。

回到C++ Builder主界面,你会发现在VCL面板中的ActiveX标签中增加了一个名为RealAudio的组件。我们先把它放入窗体中。不过在默认情况中RealAudio组件没有视频播放窗口,也就是只能播放声音。我我们只要在RealAudio组件的Controls属性中添加如下代码:

IMAGEWINDOW,CONTROLPANEL,STATUSBAR

(其中:IMAGEWINDOW、CONTROLPANEL、STATUSBAR分别表示显示视频播放窗口、控制条状态条)

添加代码后,我们可以发现控件外观已经改变成了视频播放窗口形状。然后设置Align属性为alClient,使播放窗口可以随窗体的变化而变化,方便大家在观看影视动画时可以随意拉动播放窗口大小。

然后,在窗体中加入TImage组件、TopenDialog(odgRealplay)、TrealPlayer(radMyPlayer)组件各一个,加入两个Tbutton(btnOpenClick,btnExitClick)。在Image中导入你喜欢的图片,以免窗口过于单一,两个TButton一个设为开始,一个设为结束。括号里的名字是在我的应用程序中给该控件命的名字。

双击btnOpen添加如下代码:

void __fastcall TForm1::btnOpenClick(TObject *Sender)
{
  if(odgRealplay->Execute())
        {
radMyPlayer->Source=odgRealplay->FileName
radMyPlayer->DoPlay();打开并启动播放器
}
}
    双击btnExit添加如下代码:
//---------------------------------------------------------------------------
void __fastcall TForm1::btnExitClick(TObject *Sender)
{
Close(); //终止程序运行
}

为了在打开一个文件时,便于用户选择文件,要将odgRePlayer的Filter属性设置如下:所有媒体文件(*.rm,*.ram,*.ra,*.swf,*.mp3)|*.rm;*.ram;*.ra;*.swf;*.mp3|*.*|*.*。

按一下F9,找一首歌曲听一下:)

其它的属性、方法呢?她的属性真的很少,而且多数是BOOL型的,除了上面用到的,基本没有什么让你不用的了,方法到是很多,但是用到的并不多,到她的头文件中,你自己看吧:P

时间: 2024-11-30 00:53:49

在BCB中轻松使用ActiveX控件的相关文章

基于VC++中ATL创建ActiveX控件的探讨

引言 ActiveX控件是微软公司提供的功能强大的程序设计和开发技术,是COM组件开发技术的重 要组成部分.它是OLE的第三个版本,对原先OLE控件的最大扩展是增加了Internet功能,它 不仅可以在支持OLE控件的容器中使用,更可以作为一个Internet控件,直接成为网页的一部 分.另外,ActiveX控件作为一种可重用的组件,相当于一个封装好的代码模块,它是通过其 方法.属性.事件来与应用程序进行通信的,此外,ActiveX控件是与开发语言无关的.用户 在使用控件时不必考虑它是VC还是用

Form中的ActiveX控件无法被GC回收

问题描述:在windows窗体中加入一ActiveX控件,例如axCanlendar,显式释放控件的资源,清除对它的引用后,该控件仍然无法被GC所回收. --------------------------------------------------------------------------------------------------------------------------------------------------------------------- 问题重现:在F

VS2008 在IE中 调试 ActiveX控件 .

不知道是不是微软的粗心大意,VS2008中竟然没有ActiveX控件测试容器. 幸好需要在IE中测试控件,就不需要那个测试容器啦.   1. 生产测试控件的HTML: <HTML><HEAD><TITLE>Test</TITLE></HEAD><BODY> <OBJECT ID="MyActiveX" WIDTH=800 HEIGHT=600 CLASSID="CLSID:5228A02F-8FBD

网页中响应ActiveX控件自定义事件

这几天在开发过程中遇到一个问题,即在网页中无法响应ActiveX控件自定义事件.经查资料后,明白ActiveX控件的事件如果要通过JavaScript等脚本语言响应,必须实现IProvideClassInfo或者IProvideClassInfo2接口.因为脚本语言必须通过这个接口获得控件的接口信息. 用MFC ActiveX Control Wizard生成的项目,其接口的实现是通过嵌套类完成,要实现IProvideClassInfo接口我们可以按下列步骤进行: 1. 在COleControl

ActiveX控件注册的几种方法

本文中的程序原为VC++所编写,略改动一些,将程序用C++Builder编写. ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程语言上开发的ActiveX控件可以无须作任何修改,即可在另一种编程语言中使用,其效果如同使用Windows通用控件一样.如:在VC++中开发的ActiveX控件,不作任何修改即可应用于VB中.由此可见,通过使用Activ

使用ActiveX控件开发网页常见的问题

1. 什么是ActiveX 控件? Microsoft ActiveX 控件是由软件提供商开发的可重用的软件组件.使用 ActiveX控件,可以很快地在网址.台式应用程序.以及开发工具中加入特殊的功能.例如,StockTicker控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性. 现在,已有1000多个商用的ActiveX控件,开发控件可以使用各种编程语言,如C,C++,下一代的Microsoft Visual Basic,以及微软公司的 Visual Java开发环境

VC写的ActiveX控件能不能被ASP.NET引用

active|activex|asp.net|控件   1.尊敬的合作伙伴:您好!   非常感谢您使用微软新闻组技术支持!关于您提到的ASP.NET无法引用VC写的控件的问题,我想请问您是想在服务器端引用VC控件中的一些功能,还是VC写了一个ActiveX的控件而无法在网页中使用.请您能否详细描述一下您目前遇到的错误.或者是您引用VC控件时遇到的具体错误信息,这样以方便我们能够更好的来帮助您解决问题,谢谢! 2.关于您提到C#与VC写的ActiveX控件进行交互的问题,从您的描述来看,根据我的理

COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)

声明:本文代码基于CodeProject的文章<A Complete ActiveX Web Control Tutorial>修改而来,因此同样遵循Code Project Open License (CPOL). 在上一篇文章<COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)>中介绍了ActiveX控件中使用多线程的基本需求,并提出了一个简单的线程模型,但却出现了意想不到的问题,本文将尝试给出问题的一个可行的解法,并同时解决上文中提出

使用VS2010 C#开发ActiveX控件(上)_C#教程

 要开发Web版的读卡程序,大体思路如下: 1.       使用C#对原始的Dll进行封装,这里要封装两部分内容,一部分是串口通信的功能,一部分是对卡读写的功能. 2.       开发ActiveX控件调用封装后的Dll,使用串口通信来对卡进行读写. 3.       打包并发布ActiveX控件. 4.  使用ActiveX控件. 思路1中封装代码有2个类SerialInterfaceHelper,串口通信的帮助类,MifareOneHelper,M1卡的读写帮助类,我们放在了项目Card