labview 深入探索----xcontrol
control 是 LABVIEW8.x 新增的功能,LV中的CONTROL我们是再熟悉
不过了,这个"X"到底代表什么那,到NI网站上也没找到它的英文定义,
可能相当与ACTIVEX中的"X"?虽然无法弄清楚它的定义,但是它的
作用是清楚的,我个人理解它更象VC中MFC的控件自画,也具备了一些A
CTIVEX的能力,与ACTIVEX的最大区别是ACTIVEX是独立
于平台的,可用于各种编程环境,从这点来说,可以把它看做LV内部的
activex,MFC 中的控件自画是这样的,当我们要做一个特殊形状的控件时,可
以设置它的一个属性是自画,own draw,也就是说,这个控件是用户自己画出
来的,比如一个按钮,当鼠标进入它的控制区域,会自动显示凸起状态,还可
以自动改变颜色,IE 菜单就是这样,当鼠标移入的时候,背景色自动变成兰色,
离开后,又自动恢复,实际上,它是在响应两个事件,MOUSE_ENTER 和
MOUSE_LEAVE 事件.
在 xcontrol 出现以前,我们也可以对一个控件通过属性节点和事件结构实现这
种动态变化,但是有着本质的区别,xcontrol 通过事件结构判断事件,利用属
性节点改变其显示方式是完全在内部实现的,因此它是可以重用的,从使用方
法上它和LV一般的控件没有任何区别,我们完全可以把它看成LV又给我们
提供了新的控件,我的文章里多次提到AE的概念,有了 XCONTROL,我们
不但可以保存数据,而且有了显示的能力,所以说,对于基于组件编程的LV,
能力有了很大的提高.
虽然 xcontrol 是一个新增的特性,但是它的制作方法实际上我们或多或少地都
涉及到了,这就使得制作 XCONTROL 变得相对容易了.