LabVIEW Tree Control 使用说明
一.控件简介    1
二.控件的常用属性、方法、事件    2
三.常见操作的实现方法    2
3.1 增加节点    2
3.2 删除节点    2
3.3 节点的移动    3
3.4 获取当前用户选中的节点    3
3.5 节点的查    3
3.6 节点的遍历    4
3.7  Tree Control界面显示内容操作    4
3.7.1 读取left Cell String 或Child Text的值    4
3.7.2 修给某Item的值    4
3.8 控件内容运行时修改    4
一.控件简介
    LabVIEW的Tree Control 控件以树型结构显示信息,每个节点带细节描述列。可以显示该节点的其它信息。如下图所示
1 . 控件外观
二.控件的常用属性、方法、事件
    控件的常用属性、方法、事件可以很方便的从LabVIEW的帮助或者编写简单的Demo获取,这里就不再赘述。
    只是有一点需要注意,控件属性结构上显示的字符是控件的Left Cell String,可以重复,再控件内部管理这些节点是用Tag属性,该属性为字符串类型,不可重复,如果增加节点时不设置该属性,LabVIEW会默认将Left Cell String作为Tag,遇到重复的情况以”下划线加数字”区分。如“张三_1”。在控件的方法、事件中获取到节点值都是控件的Tag
三.常见操作的实现方法
3.1 增加节点
使用控件的 Add Item 方法,如图所示:
如果只是增加一个节点作为树的最后一个节点,可以使用Add Item To End 方法。
3.2 删除节点
    使用控件的delete Item 方法
    Delete children 代表删除父节点是否要删除子节点。如果不删除子节点,子节点将往上移动一层替代原父节点的位置。如果该节点没有子节点而要求删除,将会产生错误。所以删除时最好先检测是否有子节点
3.3 节点的移动
LabVIEW 的树型结构控件节点的界面拖拽代码不需要设计者编写,只需要设置Allow
Draging ,Allow Draging of Parant Items ,Allow Draging Between Items 属性即可。
  如果在运行时需要由程序移动节点,使用方法Move Item 即可
    程序中要展开,收合节点使用Open/Close方法
3.4 获取当前用户选中的节点
  要获知当前用户选中的节点需要使用该控件的事件(ValueChange)
其中NewVal是当前选中节点的Tag,OldVal 是前一次选中节点的Tag
3.5 节点的查
  LabVIEW Tree Control 提供节点的查方法有
   
Get Child
获取父节点的第一个孩子节点
Get Next
获取节点同一层次的下一个节点
Get Parent
获取节点的父节点
Get Path
获取当前节点从上之下的父子节点关系,从顶节点开始,到目标节点的所有父系节点(包括当前节点),结果放于字符串数组中
3.6 节点的遍历
  看了节点的查方法后,我们不禁要问,难道我要全面遍历节点需要通过这些方法来编写复杂的遍历代码吗?答案是否定的。Tree Control有个属性是Display Items ,按照先序遍历顺序将所有节点的Tag存储在字符数组中,相当于delphi Tree Control 的Items。可以通过对数组的遍历实现对树节点的全面访问。
3.7  Tree Control界面显示内容操作
  前面提到了该控件内部管理树是通过Tag管理,界面显示与Tag无关,Tree Control管理界面显示的内容类似Grid,每一个格子为一个单元,可以设置其属性,也可读出值。
3.7.1 读取left Cell String Child Text的值
  使用两个属性节点,首先将要读取的格子置为Active(使用Active Item Properties和Active Cell Properties),再读取Active Cell String 即可。
附注:恶劣的设计,大大方方地给它一个数组产生的Child Text 这么卑劣地还给我。
3.7.2 修给某Item的值
  如果修改Item的Tag,可以使用方法节点 Set Tag,如果修改Left Cell String或者Child Text方法有二:
方法一:将该Item删除再添加。
方法二:仿照3.7.1
       
3.8 控件内容运行时修改
我们不难发现,该控件可以在设计时修改值,再进行增加节点,填入节点内容等等操作,但是当程序运行时却不能由用户修改Cell里的值。也就是不具备输入功能。
网站上LabVIEW官方的说法是我们目前使用的包是Base Package 。而要进行这项操作需要Full Package ,或Professional package 支持。可以通过
ohm.ni/advisors/ua?stayput=true 在线升级,目前该项功能我还在尝试。不过可能稍显麻烦,网站上升级问我要RMB ,如果项目中不需要用户在树型控件中输入就不升级了。
引用 Tree控件的使用
labview 2010-07-03 01:22:17 阅读90 评论0   字号: 订阅
 
引用
statemice Tree控件的使用
本节将重点讨论LabVIEW中的Tree控件,也许是控件本身的使用比较“麻烦”,导致很多程序员不愿意使用该控件。其实在大多数的应用程序中均可以看到Tree的身影,如Windows
操作系统中的“资源管理器”左侧的文件列表,通常Tree控件可以用来显示一些有组织的、分类明确的数据。

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