共3条
1/1 1 跳转至页
什么是ActiveX
-《VC ++ Master》
ActiveX是OCX 的高级形式(也许把它看作OLE的较简单形式更合适)。但是,这个简单定义不能表达ActiveX控件的实质,用户认为ActiveX 就是 OLE 。对程序员来说,ActiveX 还是一套用于Internet的实能技术。它提供了过去没有的一种信息交换方法。OCX和ActiveX控件的一个主要差别是ActiveX控件通常要小一些(轻一些)。
用Visual C++创建ActiveX控件有两种方法:ATL和MFC。确实没有任何理由能肯定地说,在给定的情况下,创建控件使用哪种方法,真正需要做的是弄清楚:你期待控件做些什么,你打算对什么进行开发从而获得所需功能,以及你的专业知识水平。显然,有些情况下,创建控件用这种方法比另一种方法更好,因为,两种方法确实各有利弊。当把一个ATLActiveX控件与一个MFC ActiveX控件作对比时,需要考虑一些因素,为了给你一些对这个问题的基本看法,请读完下面列出的各条注意事项,从这里会发现一些对你有用的基本思路,从而帮助你选择一种最好的方案。
开发速度:使用MFC ActiveX Control Wizard(MFC ActiveX 控件生成向导)是创建控件的最快方法。这个向导将大部分接口细节管理起来,使你最终得到控件逻辑的一个轮廓。事实上,使用ATL方法创建控件通常要使开发人员用两倍(于MFC方法)的时间。显然,这还取决于诸如控件复杂度以及程序设计经验之类的因素。
维护 : MFC和ATL共有的特色是使得用它们产生的代码,比那些从头开始写出的代码,维护起来要容易得多。但是,当对一个原来的控件作一些与维护有关的变化(比如找出小毛病后修改掉它)时,就要考虑一下了。ATL控件通常包含不多的由向导生成的“锅炉钢板型”(即难懂的)代码。因为对自己写出的代码会更加熟悉,因而改变起来就更快更容易。另一方面,Microsoft维护着你使用的MFC中所有控件,这就是说,许多小毛病的改正和其它种类的更新,只要简便地再把代码编译一次,就可以自动地完成。在这种情况下作何种选择,确实难以回答,因为没有办法能确切地确定在将来你需要对你的控件作什么样的维护变化。
控件大小 :如果要创建最小的ActiveX控件,那么采取ATL方案最好。ATL把控件的各方面控制权都留给你,使得你可以方便地手工调节控件的每个元素,而不至于陷于MFC专用代码的泥潭。基于MFC的控件不仅规模大,而且在用户使用这一控件之前还必须下载MFC库,这个库也有相当多的代码。
学习难度 : 由于创建ATL控件时不得不考虑更多的事情(比如接口),所以创建起来比MFC控件就更困难。多数情况下,先用MFC ActiveX ControlWizard(MFC ActiveX控件生成向导)创建几个控件,从中学习创建控件逻辑的规则,这样做是值得的。
定义一个具体的ActiveX控件必须记住哪些规则:
u 保持代码小型化,经验告诉我们,应该保持ActiveX控件的体积在40KB以下。通常用户不想下载庞大的、仅能用于对页面图形作动画处理的控件。实在没办法时,把一个大的组件分成几个小的功能块来实施。(技巧 ) 把控件压缩进CAB文件也能够减少下载规模。
u 使用最少的持久数据,持久数据不仅增加装入时间和内存需求,而且扩大了控件自身的规模。
u 将功能特色限制在最低限度,为本地机器编写OCX时,几个额外特色不会增加什么问题,但传输时间的确是Internet的一大问题。
u 功能单一是关键,建库的原始动机之一是,用容易访问的形式,存贮大量预编译过的函数调用。作为OCX的前辈,DLL存在的理由正在于此。你会发现市场上的许多OCX (如DLL)都不止包含一个对象(如按钮)。事实上它们包含了一簇对象。这一策略对于桌面系统来说当然很不错,但到了Internet上就行不通了。要保证在一个控件中保持一个对象。遵循这样的原理去模块化控件,确保了用户不必下载他们绝对需要功能以外的东西。
关键词: 什么 ActiveX 控件 一个 创建
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |