关于用C#编写ActiveX控件1

来源:互联网 发布:怎样学好美工 编辑:程序博客网 时间:2024/05/01 01:18

ActiveX简介  

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

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

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

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

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

现在的ActiveX 控件等价与以前的OLE控件或OCX,一个典型的控件包括设计时和运行时的用户界面,唯一的IDispatch接口定义了控件的属性和方法,唯一的 IConnectionPoint接口定义控件可引发的事件。一个控件可以在容器中运行,所以从运行的角度看它类似与一个DLL。由于在IE中添加了对控 件的支持,所以你可以在WEB页面中通过VBScript对控件进行操纵。

  此外COM 组件间在二进制上兼容,当其中一个组件的代码被修改并且被重新编译连接后只要能够保持原来已经存在并被使用的接口不变化(可以添加其他接口)那么其他使用 这个组件的文件都不需要重编译。所以利用COM组件技术可以很大程度上的提高软件重用性。同样如果在程序中使用了ActiveX控件那么你在以后升级程序 时可以单独升级控件而不需要升级整个程序。在提供灵活性的同时会带来性能上的牺牲,但和ActiveX为我们代码的好处上看来这些牺牲都算不了什么。

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

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

 

由于最近项目需要利用ActiveX实现cs应用程序的一些功能,从网上学习了一下ActiveX的制作方法。

下篇将介绍C#开发的ActiveX控件

原创粉丝点击