ActiveX控件在虚拟仪器面板设计中的应用

2009-03-06 05:17张永萍张巧玲
管理观察 2009年5期
关键词:虚拟仪器组件

董 妍 张永萍 张巧玲

摘要:介绍了ActiveX控件的特点和创建方法,通过实例证明了ActiveX控件在虚拟仪器面板设计方面的可行性、合理性和高效性。

关键词:虚拟仪器 组件 ActiveX控件

1.引言

虚拟仪器是计算机技术介入仪器领域所形成的一种新型的、富有生命力的仪器种类,在虚拟仪器中计算机处于核心地位,尽可能利用软件来实现与硬件同样甚至更多的功能,虚拟仪器利用PC计算机强大的图形环境,建立界面友好的虚拟仪器面板(即软面板),操作人员通过友好的图形界面及图形化编程语言控制仪器运行,完成对被测试量的采集、分析、判断、显示、存储及数据生成。虚拟仪器可以利用一台计算机集成多个仪器的功能,从而节约硬件空间和成本。但是,由于各种类型实物面板组件的形状、颜色和功能不尽相同,很难将一种组件同时作为不同的虚拟仪器面板组件。因此,很有必要设计具有可移植性、可重用性、可修改的个性化虚拟仪器面板控件。而ActiveX控件正具有上述优势。

2.ActiveX技术及其特点

实现应用程序之间的相互通信和交换,一直是困扰软件开发者和使用者的难题。Microsoft提出的组件对象模型(COM)真正实现了与编程无关,而ActiveX技术是COM与Internet的结合,功能更强大,使用更方便。ActiveX技术为我们引入了“软件组件”这个新的概念,不必再将电脑软件编写成一个大型完整且独立运行的工具。为了能使软件完成更大更复杂的任务,现在可将它分割成小的模块,这种模块便是组件。各组件的宗旨便是完成特定的任务,而且组件能够跨运用程序、跨平台、跨网络运行。采用组件思想为构造虚拟仪器带来了很大方便。

简单地说,ActiveX是一种体系结构,它允许使用不同编程语言开发的软件组件在网络环境中相互操作。ActiveX体系结构使用了Microsoft的组件对象模型及分布式组件对象模型标准,允许不同组件对象实现本地相互对话及网络上对象之间通信。ActiveX这种重复使用和自包含的本质来源于微软更早的面向对象的应用程序设计思想,也就是由原来的OLE控制,或OCX控件而发展成为现在能够运行在Web页面上的软件组件,使得创建的运用程序能供客户端下载运行。

由于ActiveX是一种开放的技术,开发者可以创建自己的ActiveX控件,ActiveX控件是程序的自包含片断或独立的组件,不但可以在程序中重复调用,也可以调入其它应用程序而成为其一部分。比如我们可以在VB中使用ActiveX技术,开发出各种常见的参数调节旋钮、数字显示屏等通用ActiveX控件(如称为旋钮控件和现实控件)。这样可以在构造不同仪器中反复使用,不但可以由控件组成仪器,还可以由小仪器组成复杂的大仪器。

ActiveX控件的开发工具有VB5.0,VC++,Delphi等,在VB中建立自己的ActiveX控件最为简单,他保留了人们熟悉的属性、事件和方法,通过在程序设计和运行时修改程序的属性、调用控件、在控件的事件中加入程序代码即可方便的组建运用程序。ActiveX控件与普通控件最大的不同点是它的属性和方法。ActiveX控件不象普通控件那样,发送通知信息给它的包容器窗口,而是“激发事件”。同时ActiveX控件一旦创建,它就与编程语言无关,所以用某种语言编程创建的ActiveX控件,在另一种语言中同样可以使用,具有可移植性,并可以转让给其他开发者使用,另外,ActiveX控件可以发布到Web进行共享。这些优势为虚拟仪器面板设计带来很大方便。

3.虚拟仪器面板的ActiveX控件设计方法

下面我们以型号为QF1022的信号发生器面板的按钮和旋钮为例,谈一谈虚拟面板控件设计过程中的几个主要环节。

首先,要确定该控件应具备的基本功能及大体外观。这是设计过程中非常重要的环节,这样才能决定程序的整体框架和内容要点。在此要充分考虑将来的移植使用,而不应局限于某一种面板。

第二步,根据上述要求设计ActiveX控件。设计ActiveX控件时,并不需要从头开始,而是利用面向对象语言的继承性,继承已有相关控件的特性并加以修改和补充,这样就大大提高了编程的效率。例如,要在Delhpi语言环境中创建ActiveX控件,首先创建了一个ActiveX控件文件。该文件有3个子文件,即工程文件、接口声明文件和接口实现文件。然后根据设计要求对这些文件进行修改和补充,就可以变成适合于所需控件的文件。选择“Project|BuildActiveXControl”命令,就可生成扩展名为OCX的文件。最后,可以选择“Run|Register ActiveXServer”将其注册到系统注册表中。这样,符合要求的ActiveX控件就创建完成了。

第三步,设计虚拟仪器面板。根据实物,在虚拟面板上放置设计好的控件,在对象监视器中对各个控件的参数进行修改,使其与实际相符,并按照某一光线入射角设定阴影效果。再对各个控件进行编程,使其实现实际控件所具备的功能及各个控件之间的逻辑控制关系。如果再将其与硬件联系起来,一个真正的虚拟仪器就实现了。

设计时选用Delhpi高级语言作为开发工具。如图一所示。首先,利用Delphi语言的可继承性,将Tcustomcontrol类作为父类,设计各控件的基本外型。然后,设计其基本事件属性,在此充分考虑了将来的功能扩展,将程序设计成模块化结构。同时,设计中还考虑到虚拟仪器面板的自然度,为其添加了阴影效果。设计的控件具有属性特性和事件特性。属性特性包括颜色、物体尺寸、阴影尺寸与阴影角度调整等,事件特性包括按下、弹出、拖动、移过等。这些都可以通过对象监视器很方便地进行修改,无需编程。除了能完成上述基本的控制功能外,还能对其追加其它所需功能,操作十分方便。设计完成后,将其安装在VB和VC语言环境中,结果使用一切正常。

参考文献:

1.杨乐平,李海涛.《虚拟仪器技术概论》.电子工业出版社,2003。

2.刘君华.《现代检测技术与测试系统设计》. 西安交通大学出版社,1999。

3.朱晓华,冯玉田,章玉鉴.基于组件技术的虚拟仪器开发方法的研究.上海大学学报,1999,第5卷,第4期。

猜你喜欢
虚拟仪器组件
无人机智能巡检在光伏电站组件诊断中的应用
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
桥梁组件搭配分析
虚拟仪器及其在电工电子实验中的应用
一种基于虚拟仪器的电控柴油机实验台的设计
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器的DMFC实时监控系统
风起新一代光伏组件膜层:SSG纳米自清洁膜层