第7章 高级控件的运用
在设计应用程序显示界面时,简单的界面可以用基本控件构成,但是对复杂的程序而言,仅仅使用基本控件是远远不能满足界面显示需求的。Labview除了提供常规的控件外,还提供了丰富的图形显示控件,用于显示测量数据。
7.1 列表框
列表框是由一系列的项目组成的,每个项目都包括符号和文本。其中,符号为图形显示,文本为字符显示。列表框作为显示控件的时候比较多,比如用列表框显示一个文件夹中的所有文件名和图标。列表框作为输入控件时,其主要用途则是提供用户选择多个项目,形成新的列表。在前面板控件选板上到列表、表格和树选板,即可到列表框。如图7-1所示。
    控件的使用
7-1 列表框
列表框可以通过右键快捷菜单的显示项选择是否显示滚动条、列首、水平行和符号等。列表框控件内含的数据类型是I32,它本质是数值型控件。列表框控件具有众多属性,对于不需要经常改动的属性,可以通过控件的快捷菜单设置。需要动态设置的属性,则必须借助与属性节点来控制。
7.1.1 列表框应用实例
1、列出文件夹中的所有文件及文件夹
列出文件夹中的文件是列表框的典型应用之一。使用“罗列文件夹”函数获取Labview默认文件夹,即文件所在的文件夹下所有的文件和文件夹。在函数选板中文件I/O文件常量选择“默认目录”文件常量。利用“罗列文件夹”(函数选板文件I/O高级文件函数)将该目录下的所有文件和文件夹名称列表组成两个字符串数组。将文件和文件夹名称的字符串数组串接成一个字符串数组输入到列表框的“项名”属性。另外通过数组大小函数提取文件和文件夹的数量,并分别用文件和文件夹列表常量(函数选板对话框与用户界面列表框
符号下拉列表控件常量)初始化两个数组,并将两个数组进行连接输入到“项符号”属性。运行程序在前面板列表框得到文件夹中所有文件和文件夹名称列表,如图7-2所示。
 
图7-2 列出文件夹中所有文件和文件夹
2、列表框项目的添加与删除
从列表框中选择合适的项目并组成新的列表,也是列表框典型的用法。例如假设有A、B、C三台设备,设备的启动、停止和延时都给出了相应动作,用户可以自行选择相应动作和动作的次序。在左侧列表框中选择不同的项目,在右侧形成新的动作列表框。具体实现要求是:在“动作”列表框中双击项目或单击“选择添加”按钮,将自动把选择的项目添加到“选择动作”列表框中;单击“选择删除”按钮,则会把“选择动作”列表框中选中的项目删除。
首先在前面板添加两个列表框,命名为“动作”和“选择动作”,创建三个按钮,命名为“选择添加”、“选择删除”和“停止”。并在动作列表框添加动作,如图7-3所示。
图7-3 前面板添加控件
在程序框图创建while循环和事件结构,并创建一个包含布尔,数值和字符串的空簇。添加4个事件分支分别为“动作”:双击,“选择添加”:值改变,“选择删除”:值改变,“停止”值改变。
先来看“选择添加”:值改变事件。当“选择添加”按钮按下值改变事件发生时,如果按下(为真)时,将“动作”列表框的项名和值属性输出到索引数组函数,得到列表框中选中的列表项,然后通过创建数组将“选择动作”中现有的列表项和得到的新的列表项连接,并重新写入
到 “选择动作”完成列表项的添加。另外“选择添加”按钮默认操作为单击时触发,这种动作方式是在按键按下时状态会改变,但松开时又恢复到原值,这种触发型动作无法使用值属性。由于双击项目和“选择添加”按钮执行的是相同的功能,因此对于双击事件,不需要重新编程。通过“选择添加”按钮的“值信号”属性,触发“选择添加”的值变化事件,这样鼠标双击和“选择添加”按钮响应同一事件,简化了编程。为了保证能够使用按钮的“值信号”属性,要将“选择添加”按钮的操作由“单击时触发”修改为“单击时转换”,但是这样操作后,由于抬起时值不改变,第二次按下时值才改变,而程序中只有按键值为真时才移动列表项,导致按两次按键,才会移动一个列表项。而且前面板的按钮按下时,颜发生变化后,抬起时仍保持按下的颜,这样看起来也不符合要求。为了解决这个问题,为“选择添加”按钮添加一个局部变量,当“选择添加”按钮按下为真时,通过局部变量将其值修改为假,这样就可以解决上面存在的问题。如图7-4所示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。