- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
labview 深入探索 xcontrol
control 是 LABVIEW8.x 新增的功能,LV中的CONTROL我们是再熟悉
不过了,这个"X"到底代表什么那, 到NI网站上也没找到它的英文定义, 可
能相当与ACTIVEX中的"X"?虽然无法弄清楚它的定义, 但是它的作用
是清楚的, 我个人理解它更象VC中MFC的控件自画, 也具备了一些ACTI
VEX的能力,与ACTIVEX的最大区别是ACTIVEX是独立于平台
的,可用于各种编程环境, 从这点来说, 可以把它看做LV内部的 activex,MFC
中的控件自画是这样的, 当我们要做一个特殊形状的控件时, 可以设置它的一个
属性是自画, own draw, 也就是说,这个控件是用户自己画出来的,比如一个
按钮,当鼠标进入它的控制区域,会自动显示凸起状态,还可以自动改变颜色,
IE 菜单就是这样,当鼠标移入的时候,背景色自动变成兰色,离开后,又自动
恢复,实际上,它是在响应两个事件 ,MOUSE_ENTER 和 MOUSE_LEAVE 事
件.
在 xcontrol 出现以前,我们也可以对一个控件通过属性节点和事件结构实现这
种动态变化,但是有着本质的区别, xcontrol 通过事件结构判断事件,利用属
性节点改变其显示方式是完全在内部实现的, 因此它是可以重用的, 从使用方法
上它和LV一般的控件没有任何区别, 我们完全可以把它看成LV又给我们提供
了新的控件,我的文章里多次提到AE的概念,有了 XCONTROL ,我们不但可
以保存数据,而且有了显示的能力,所以说,对于基于组件编程的LV,能力有
了很大的提高.
虽然 xcontrol 是一个新增的特性,但是它的制作方法实际上我们或多或少地都
涉及到了,这就使得制作 XCONTROL 变得相对容易了.
可以看出 ,我们通过事件结构编程实现了当鼠标移入 BOOLEAN 控件区域
时,BOOLEAN 控件的 CAPTION 和 COLOR 自动发生了改变 ,但是所有的控制代
码都是在主循环里完成了 ,是通过控件外部改变的 , 因此,我们无法重用这个控件 ,
假如我们需要 100 个这样的控件 ,我们需要在事件结构中分别对 100 个控件做
类似的编程 ,这显然是非常麻烦的 .
最好的办法是让这段代码在控件内部完成 ,这样对于使用者来说 , 这和一般的控
件没有区别 ,这样有效地实现了封装 , 所有的一切从用户的角度看 ,就象调用一个
ACTIVEX.
XCONTROL 可以轻松实现这个功能
我们知道 LV 的控件是面向对象的层次继承结构 ,每个控件都继承了它的父类的
属性和方法 ,但是对于一个具体的控件 ,它的属性和方法都是固定的我们无法删
除或者增加这个控件的属性和方法 .对于 XCONTROL, 我们可以简单地理解成继
承了一个基本控件 ,并在此基础上 , 用户增加的自己的属性和方法 ,是一个重新定
义的 ,增加的大量功能的新的控件 .
下面看看制作 XCONTROL 的具体过程 .
这样一个基本的 XCONTROL 的结构就建立起来了,
原创力文档


文档评论(0)