新闻中心

EEPW首页 > 测试测量 > 设计应用 > Tree控件的使用

Tree控件的使用

作者: 时间:2017-01-09 来源:网络 收藏



图 6 Edit Tree Items对话框

1.2Tree控件对应的事件

本文引用地址:https://www.eepw.com.cn/article/201701/337511.htm

在背面板上放置一个事件结构,并且选择Tree控件,可以看到其对应的所有事件,如图 7所示。本节只介绍一些特殊的Tree事件。


图 7 Tree控件的事件

  • Edit Cell事件

该事件与multicolum listbox中的Edit Cell事件一样,当用户编辑控件中的内容时被触发。分为Edit Cell消息型事件和Edit Cell?过滤型事件,后者可以根据程序员的设计取消掉该事件。
如程序运行时只允许用户修改Tree控件第1列的值,而不允许修改其他列的值。可以使用Edit Cell?过滤型事件实现该功能,具体如图 8所示。要允许用户在程序运行时编辑Tree控件的值需要首先勾选Tree控件右键快捷菜单中的Editable Cells菜单项,然后运行该程序,在需要修改的单元格中单击并输入响应的字符。可以看出除了修改第1列的值以外,对其它列的修改都不会成功。
也可以把本例延伸一下,比如只允许用户输入特定的字符串(大写字母,数字等),应该如何处理呢?


图 8 Tree控件的Edit Cell?过滤型事件

  • Double Click事件

从名称可以看出,该事件在用户双击Tree控件时被触发,如图 9所示。图中事件数据节点中的Tag表示用户双击了哪一行,但是是否有一种方式明确了用户到底双击了Tree控件中的哪一个区域呢,具体为哪一行哪一列呢?显然左侧的Coords表示双击的坐标值,我们可以通过Tree控件的“Point To Row Column”方法(Create→Invoke Node)将Coords坐标值转化为具体的行和列值。此外,如何表示用户双击了Tree控件的行头和列头呢?具体可以参考LabVIEW中关于“Point To Row Column”方法的帮助文档。



图 9 Tree控件的Double Click过滤型事件

  • Item Close和Item Open事件

这两个事件是对立的,分别具有一个消息型事件和一个过滤型事件。它们是在用户展开或收缩某一个父层次项时被触发的,如上述Tree控件中的第2行,当展开或收缩该行时会触发该事件(可以通过单击该行左侧的“+”和“—”符号或者双击该行实现展开和收缩操作)。
如果不希望用户收缩Tree控件的第2行,可以使用如图 10所示的代码。运行该VI,可以看出,无论用户如何单击Tree控件第2行左侧的“—”符号,都不会收缩该行。


图 10 Tree控件的Item Close过滤型事件

1.3Tree控件对应的属性

Tree控件的属性众多,如图 11所示,主要是为了动态地改变Tree控件的属性(利用程序修改)。绝大部分的属性与multicolum listbox类似,本节只介绍几个典型的属性节点,重在说明Tree属性节点的使用方法。



关键词: Tree控件LabVIE

评论


技术专区

关闭