| ||||||||||||
我们都知道在使用Visual Basic的时候可以使用很多现有的控件,像VB中的基本控件。然而,只有这些基本的控件在很多的时候都不能满足我们的实际需要,因此还需要更多的能够实现其他特有功能的控件。我们可以看到,在VB的部件中包含了大量的控件。这些控件包含在VB中自带的ActiveX控件库中。这些控件大大补充了VB的功能,其实可以这么说,在VB中谁掌握了对控件的使用,谁将更成功的运用VB写出功能强大的程序。在VB中不但可以使用现有的ActiveX控件,更叫人兴奋的是可以利用VB创建自己的ActiveX控件。下面我们一起讨论一下关于VB中创建ActiveX控件的基本知识。 ActiveX是Microsoft的术语,他是一组包括控件、DLL和ActiveX文档的组件,他通常是以动态连接库形势存在,因此必须在一个叫容器的可独立执行的软件中运行,比如VisualBasic,VisualC++,Internet Explorer等。因此ActiveX控件和容器必须都支持一些特定的接口协议。ActiveX应包括属性,事件和方法这些特殊机制,他也是创建ActiveX控件的核心。 从VisualBasic5.0开始,我们就可以用VB创建控件,VB6.0继承了VB5.0的开发第三方控件的能力。创建ActiveX控件有一定的步骤: 在这个制作步骤中我们看到要利用一个VB中的UserControl对象,他是创建ActiveX控件的基础。我先简单介绍一下UserControl对象的基本知识吧。 VB创建的ActiveX控件包括UserControl控件和构成ActiveX控件的基本控件,称为构成控件。这些基本控件实际上就是像CommandButton和Label控件等。 我们首先打开VB6.0选择ActiveX控件选项,打开后如图所示:
其中可以看到UserControl对象的设计界面和标准工程的Form设计界面没有什么差别。我们可以直接在UserControl对象上面设计控件的外观,将代码添加在Code页面中,一切都是那么的熟悉。UserControl以普通的文本文件格式存储,该文件包含UserControl以及他的构成控件源代码和属性值。在VB中这些文件的扩展名为.ctl如果控件中用到图形元素,VB就将她存放在同名的.ctx文件中。 UserControl对象有许多的属性,事件和方法和普通的Form窗体一样。ActiveX控件的属性,方法和事件由UserControl对象的成员来实现。通过封装,这些成员对于用户来说可以是不可见的。 在VB中创建ActiveX控件有三种方法。 在这里我将用一个非常简单的例子说明如何从零开始制作一个自己的控件。我们要做的控件是一个能显示系统时间的控件。这里是为了是从来没制作过控件的同学而准备的,在下一篇文章中我将介绍更加复杂的ActiveX控件的创建方法。 下面我们按照前面提到的创建控件的步骤进行设计:
第三步:我们这是就要在UserControl中添加代码了。在Timer1_Timer()过程中加入下面的代码: Private Sub Timer1_Timer() 这时我们可以看到在Label1中显示的是系统时间。
单击确定在代码编辑器中的自动加载的过程里添加下列代码: Public Property Get ModifyInterval() As Variant 'Get过程获取ModifyInterval的值 Public Property Let ModifyInterval(ByVal vNewValue As Variant) PropertyChanged()方法,它的功能是通知容器属性值已经改变,其实可以理解为当属性值改变的 Private Sub Label1_Click() Private Sub UserControl_Click() RaiseEvent的作用是激活Label1和UserControl的Click事件。 Public Function TestFunction() 调用这个方法是将弹出一个对话框上面写着"Test Function Successfully!"
第五步:对刚刚创建好的控件进行调试: Private Sub UserControl11_Click() 执行后我们看到如图:
到此为止,我们对控件的测试已经完成。 通过对这个控件的创建我们可以看到用VB创建ActiveX控件时非常简单的,但是我指的简单并不是说设计任何控件都是那么的简单,我指的简单是是创建方法的方便与高效。上面的例子仅仅是一个设计控件的最简单的例子,但是他具有很好的通用价值,其实再复杂的控件也是按照这个一般的步骤一点一点的设计出来的。在以后我还将用一个更加复杂的例子深入的说明ActiveX控件的制作方法。这里应该说明一下ActiveX是一组事物,包括控件,DLL和ActiveX文档,在以后的文章中我们还将学习到ActiveX文档的创建等工作。本文旨在学习在VB中创建ActiveX控件的方法。 ActiveX技术可以灵活,高效的实现交互,重用,完全分布式并与语言完全无关的各种应用。随着ActiveX技术的发展,ActiveX控件处于越来越重要的地位,那么创建一个有自己个人特色并具有特殊功能的控件将显得越来越具有现实意义。只要掌握创建ActiveX控件的基本方法就不难创建更加复杂的控件。但是ActiveX控件只依赖于Windows平台,对UNIX平台目前来说并不支持,ActiveX技术仍在不断的完善中。 |
Visual Basic中ActiveX控件的制作(一)
版权声明:本文为likaier原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。