简介
如果一个界面组件极为特殊,且只可能用在某个特定的程序中,那也许就没有必要将其制作成单独的控件了。可以把这个界面组件做成一个独立的子界面 VI,然后通过子面板控件调用这个界面。
如果这个组件需要被多次使用,那么就应该考虑把它做成可重用的独立控件。如果这个控件不包含任何特殊行为,比如一个新型按钮,仅其外观与一般的按钮不同,其它行为都与传统的按钮一模一样。这样的控件适合制作成用户自定义控件。
LabVIEW的XControl,这个控件是可以改变外观和功能的,它可以后台进行编程增加功能,这个是比较复杂的一种自定义控件。
创建XControl
新建XCtrl:
Data.ctl: 指定了XCtrl的数据类型;
State.ctl: 指定了除数据类型之外其他影响XCtrl外观的信息,其他所有数据的定义放在此处;
Init.vi: 当XCtrl第一次被放置在前面板上或含有XCtrl的vi第一次被载入内存时,初始化显示状态。
新建Method,定义XCtrl支持的方法(类似于类的成员函数),用于操作State中的数据;这里实现各种具体的操作。
新建Property,定义了XCtrl的可读取属性(类似于LabVIEW类的accessor的工作),用于读取XCtrl中的数据;
修改facade vi,用于定制XControl的外观,创建各种状态改变事件。
X控件的本质是为控件事先定义好一系列可以响应的事件,之后使用控件时,就可以在控件的属性或调用节点中看到这些事件,像操作普通控件一样,调用这些节点来执行特定操作。
以LabVIEW自带的摄氏华氏温度转换XCtrl为例: