2011年7月1日,第二稿
3.4 控件类型的定义
在LabVIEW的“控件选板”上我们已经看到很多实用的控件,包括系统、经典、新式等风格样式。这些控件统统属于通用控件或者说是标准控件(开发系统提供的)。但是在实际应用中,我们往往会遇到这样的问题:需要某些外观特殊的控件。我们自己能够设计外观特殊的控件吗?
是的,我们根据需要完全可以创建自己所需的外观特殊的控件。因为LabVIEW中提供了一种自定义控件的设计方法。采用自定义控件的设计方法可以使程序设计的更灵活、更方便、更高效。下面我们看看如何实现控件的自定义设计。
自定义控件的具体操作是:鼠标右键点击前面板上的控件,在弹出的快捷菜单中选择:高级》自定义,参见下图。
是的,我们根据需要完全可以创建自己所需的外观特殊的控件。因为LabVIEW中提供了一种自定义控件的设计方法。采用自定义控件的设计方法可以使程序设计的更灵活、更方便、更高效。下面我们看看如何实现控件的自定义设计。
自定义控件的具体操作是:鼠标右键点击前面板上的控件,在弹出的快捷菜单中选择:高级》自定义,参见下图。
选择点击自定义后,会弹出一个自定义控件的窗口,在这个窗口下可以编辑、设定这个控件的类型,参见下图。
在上图中,我们看到可供选择的自定义控件形式有三种,分别是:控件、自定义类型、严格自定义类型。下面我们就分别讨论。
3.4.1 控件
所谓自定义的“控件”实质就是创建一个特殊外观的控件。在有些应用场合的确需要一些特殊外观的控件。而这样的控件在控件选版上根本是无法找到的,所以需要我们通过一些自定义的控件来解决。下面我们就以风火轮(相当于进度条)控件为例设计一个自定义的控件。
首先,必须有12个不同位置的风火轮图片,这些图片应该是.png透明格式的,具体参见下图。
首先,必须有12个不同位置的风火轮图片,这些图片应该是.png透明格式的,具体参见下图。

图 3-27 图片下拉列表显示控件
创建一个新的VI,在它的前面板上放置一个图片下拉列表控件,具体操作是:在控件选版选择》新式》下拉列表与枚举》图片下拉列表,参见左图。
右键单击该控件在弹出的下拉菜单中选择:高级》自定义。打开控件编辑器。选择:控件,在自定义模式下修改外观,参见下图。
右键单击该控件在弹出的下拉菜单中选择:高级》自定义。打开控件编辑器。选择:控件,在自定义模式下修改外观,参见下图。
调整外观就是将3D外观的边框掩盖掉,然后切换到编辑模式。开始导入风火轮图片。具体操作是选择工具栏上的编辑》导入图片至剪切板》然后选择要被导入的图片,先将其导入剪切板。
首次导入选择从剪切板导入图片,参见下图。
首次导入选择从剪切板导入图片,参见下图。

图 3-29 首次导入图片
重复选择:编辑》导入图片至剪切板》然后每次导入都选择:在后面导入图片。直到所有的图片导入完毕(这里共12张图片)。
编辑图标、撰写说明等全部工作完成后将其命名为:风火轮.ctl保存在确定的文件夹中(通常在项目的控件文件夹中或者在使用者控件库中)。
下面我们给出实际的自定义风火轮控件供下载使用。
当然,我们也可以利用这个特性实现类似的动画功能,甚至将.gif图片拆解来进行动画显示。
这里需要说明的是:自定义控件与控件选版上的控件没有本质上的差别,仅仅是外观不同而已。
3.4.2 自定义类型
除了自定义外观不同的控件外,我们还可以自定义另一种控件——自定义类型。参见图3-25。
自定义类型也可以称为:非严格自定义类型。所谓非严格就是指这类控件也可以自定义它的外观。但是如果直接修改(控件编辑状态)这个控件的外观时,已经用于VI中的所有该控件的实例的外观都会跟随更改。这种连动的效果在实际应用中往往是需要的。
如果已经为自定义类型控件编辑了图标,那么在程序框图上,端子中会以它的图标显示出来,而上一节中的自定义控件端子则会与此不同,参见下图。
自定义类型也可以称为:非严格自定义类型。所谓非严格就是指这类控件也可以自定义它的外观。但是如果直接修改(控件编辑状态)这个控件的外观时,已经用于VI中的所有该控件的实例的外观都会跟随更改。这种连动的效果在实际应用中往往是需要的。
如果已经为自定义类型控件编辑了图标,那么在程序框图上,端子中会以它的图标显示出来,而上一节中的自定义控件端子则会与此不同,参见下图。
其实我们在程序设计中很少使用自定义类型的控件,原因是它的自由度还是太大,我们只能统一控制修改它的外观,实际应用中我们期待更严格的控件,这就是严格自定义类型控件。
3.4.3 严格自定义类型
下面我们来看看严格自定义类型控件。它统一了控件的外观和大小。主要应用在需要界面控件风格统一的场合。比如,在前面版上需要放置五个指示灯,并希望它的大小、样式一致,此时就可以设计一个严格自定义的显示控件,然后在面板上分别放置它们。当然,在其它VI前面板中也可以使用它们来保持整个用户界面风格的一致性。当然我们还需要为它创建一个名字和一个有个性的图标。
它具备自定义类型的基本特点,但是它更严格,比如我们不可以在前面板上修改它的外观和大小。在编辑状态下,如果我们修改控件中的文本它都会自动进行更改所有已经被使用的控件。
使用这种控件可以统一界面风格、统一进行修改控件的大小和外观。在实际应用中这是最佳的选择。
它具备自定义类型的基本特点,但是它更严格,比如我们不可以在前面板上修改它的外观和大小。在编辑状态下,如果我们修改控件中的文本它都会自动进行更改所有已经被使用的控件。
使用这种控件可以统一界面风格、统一进行修改控件的大小和外观。在实际应用中这是最佳的选择。
严格自定义的控件以.ctl文件保存,通常建议保存在项目中独立的控件文件夹中。关于它的具体应用我们会在应用程序设计中具体讲解。










