AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > VB编程

ActiveX控件的创建

51自学网 http://www.wanshiok.com

1)概述

   ActiveX是一个Microsoft的术语,它指的是一组包括控件,DLL和ActiveX文档的组件,它通常是以动态链接库的形式存在,因此必须在一个叫容器的独立执行软件中运行。这样的容器包括Authorware、Delphi,Visual Basic,Visual C++,Internet Explorer和Access等等。

   ActiveX控件数据输入和函数功能执行都必须通过容器,因此ActiveX控件和容器都必须支持一些特定的接口协议。根据Microsoft 相应的规格标准,ActiveX控件应具备如下的性能机制。

属性和方法:ActiveX控件必须提供属性的名称、方法的名称及参数,通过这项机制容器可以存取和改变ActiveX控件的属性参数。

事件:ActiveX控件由这项机制通知容器在ActiveX控件中发生的事件,比如属性参数的改变,用户按下鼠标左键等。

存储:容器由这项机制通知ActiveX控件存储和提取有关信息数据等。

   ActiveX控件只要在Windows的Registry数据库中注册后,就可以像其他Windows应用程序一样发挥各自的功能。

   ActiveX控件是一个模块化的灵活对象,如果某个应用程序或网页需要增加一项特殊的功能,无须重写整个程序,只要灵活地插入一个具有此项功能的ActiveX控件即可实现。ActiveX的优势还在于它的动态可交互性,用户可以动态地在使用过程中,通过改变它的属性和参数,在应用程序中实现自己的特殊要求。

   也许有的读者会问:目前在市面上可以找到各种各样现成的ActiveX控件,还有没有必要自己创建ActiveX控件呢?关于这个问题很容易解释,现有的控件种类是很多,功能也比较齐全,问题是有许多时候会遇到这种情况:使用现成的控件虽能完成任务,但自己需要的一些特性(属性、事件或方法)该控件却没有提供,还需要自己手工写代码来实现,而这些特
性偏偏在自己的应用系统中又经常会用到,为了避免大量的重复劳动,一劳永逸的办法就是在创建自己的ActiveX控件。

   目前可以使用Visual Basic或其它开发工具创建 ActiveX控件。无论按照哪种标准,Visual Basic都是计算机历史上最为成功的(同时也是最流行的)编程语言,其中最令人兴奋的特性就是可以创建用户自己的控件并可以像其他控件一样应用于支持 ActiveX控件技术的应用程序中。下面通过一个具体实例来阐述如何在Visual Basic 6.0(中文企业版)下进行
ActiveX控件创建。

  2)创建ActiveX控件的步骤

   使用Visual Basic编程语言编写过应用程序的用户,一定非常熟悉诸如TextBox、Label和Data等控件。要利用这些控件,可以将它们绘制在窗体中,通过属性,方法和事件控制它们的行为。当用户创建自己的ActiveX控件时,除了确定属性、方法和事件以外,用户是在创建一个相似的对象。当创建了自己的ActiveX控件以后,就可以在其他Visual Basic 工程中使
用它,就像使用TextBox控件一样。可以在能使用ActiveX控件的任何应用程序或开发工具(包括其他Visual Basic工程、Authorware或者Microsoft Internet Explorer)中使用自己的控件。

   在Visual Basic中创建一个ActiveX控件不同于创建一个Standard EXE
应用程序。因此当创建一个新控件时,一般应遵循的步骤是:

(1)确定控件将要提供的功能。因为ActiveX控件类似于一个独立的对象,所以需要明确这个对象的目的,希望它在屏幕上有什么样的外观?使用此控件时,需要什么属性、方法以及事件用于应用程序中?
(2)设计控件的外观。
(3)设计控件的接口,即属性、事件和方法。
(4)创建由控件工程和测试工程组成的工程组。
(5)通过把控件和或代码添加到 UserControl 对象中来实现控件的外观。
(6)实现控件的接口和功能。
(7)编译控件部件(.ocx 文件)。

下面按照上述步骤建立一个可直接显示数据库内容的DataListView控件。

3)具体实现方法

(1)确定DataListView控件的功能

   标准的ListView控件在显示数据库记录时还存在一些不足,如必须编写大量的代码等,DataListView通过在ListView的基础上添加部分功能而弥补了ListView的不足,因此它除了本身固有的属性、方法和事件外,添加了如下成员:

◆ DataServerName属性 -- 确定所操作的数据库服务器。
◆ DataBaseName属性 -- 确定所操作的数据库。
◆ AdministratorName属性 -- 确定操作数据库的管理员名称。
◆ PasswordName属性 -- 确定操作数据库的管理员口令。
◆ ShowDataBase方法 -- 显示Select命令所执行的数据库操作结果。
◆ErrorDataBase事件 -- 当遇到错误的数据库操作时引发该事件。

(2)设计控件的外观

   DataListView由于仅包含一个ListView控件,所以其外观没有太多需要考虑的问题。如果要创建的控件是多个控件构成,或新控件不包括任何现存控件即完全从头开始创建一个全新的控件的话,则外观问题是一个很重要的问题。

(3)设计控件的接口,即属性、事件和方法

   对ListView控件所作的改进是为了让ListView控件支持数据库的内容显示,以便在所有能支持ActiveX控件的应用程序中使用。通过添加用户自己的属性DataServername、DataBaseName、AdministratorName、PasseordName和方法ShowDataBase等可以实现这项功能。DataListView的其他属性、事件和方法都和标准ListView一样。

<

 

 

 
上一篇:在VB6中实现Kodak控件编程  下一篇:VB6中用Oracle数据控件访问Oracle