登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

vb treeview 详解  

2007-02-13 16:18:29|  分类: Visual Basic |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

一、概述
TreeView 控件显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。TreeView 一般用于显示文档标题、索引入口、磁盘上的文件和目录、或能被有效地分层显示的其它种类信息。创建了 TreeView 控件之后,可以通过设置属性与调用方法对各 Node 对象进行操作,这些操作包括添加、删除、对齐和其它操作。可以编程展开与折回 Node 对象来显示或隐藏所有子节点。Collapse、Expand 和 NodeClick 三个事件也提供编程功能。

Node 对象使用 Root、Parent、Child、FirstSibling、Next、Previous 和 LastSibling 属性。在代码中可通过检索对 Node 对象的引用,从而在树上定位。也可以使用键盘定位。UP ARROW 键和 DOWN ARROW 键向下循环穿过所有展开的 Node 对象。从左到右、从上到下地选择 Node 对象。若在树的底部,选择便跳回树的顶部,必要时滚动窗口。RIGHT ARROW 键和 LEFT ARROW 键也穿过所有展开的 Node 对象,但是如果选择了未展开的 Node之后再按 RIGHT ARROW 键,该 Node 便展开;第二次按该键,选择将移向下一个 Node。相反,若扩展的 Node 有焦点,这时再按 LEFT ARROW 键,该 Node 便折回。如果按下 ANSI 字符集 中的键,焦点将跳转至以那个字母开头的最近的 Node。后续的按该键的动作将使选择向下循环,穿过以那个字母开头的所有展开节点。

控件的外观有八种可用的替换样式,它们是文本、位图、直线和 +/- 号的组合,Node 对象可以任一种组合出现。

TreeView 控件使用由 ImageList 属性指定的 ImageList 控件,来存储显示于 Node 对象的位图和图标。任何时刻,TreeView 控件只能使用一个 ImageList。这意味着,当 TreeView 控件的 Style 属性被设置成显示图象的样式时,TreeView 控件中每一项的旁边都有一个同样大小的图象。

发行注意 TreeView 控件是 COMCTL32.OCX 文件中的一组 ActiveX 控件的一部分。为了在应用程序中使用 TreeView 控件,必须将 COMCTL32.OCX 文件添加到工程中。在发行应用程序时,要在用户的 Microsoft Windows System 或 System32 目录中安装 COMCTL32.OCX 文件。 

二、常用属性
1、Nodes属性返回对 TreeView 控件的 Node 对象的集合的引用。
 语法:object.Nodes
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
说明:可以使用标准的集合方法(例如 Add 和 Remove 方法)操作 Node 对象。可以按其索引或存储在 Key 属性中的唯一键来访问集合中的每个元素。

2、Style属性返回或设置图形类型(图象、文本、+/- 号、直线)以及出现在 TreeView 控件中每一 Node 对象上的文本的类型。
语法:object.Style [ = number]
Style 语法包含下面部分:
部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
number 指定图形类型的整数,请参阅“设置值”中的描述。
设置值
number 的设置值是:
设置值 描述
0 仅为文本。
1 图象和文本。
2 +/- 号和文本。
3 +/- 号,图象和文本。
4 直线和文本。
5 直线,图象和文本。
6 直线,+/- 号和文本。
7 (缺省)直线,+/- 号,图象和文本。
说明:若 Style 属性设置为包含直线的值,则 LineStyle 属性就确定了直线的外观。如果 Style 属性设置为不含直线的值,则 LineStyle 属性将被忽略。

3、Sorted属性返回或设置一值,此值确定 Node 对象的子节点是否按字母顺序排列;返回或设置一值,此值确定 TreeView 控件的根层节点是否按字母顺序排列。
语法:object.Sorted [ = boolean]
Sorted 属性语法包含下面部分:
部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
boolean 布尔表达式,表示 Node 对象是否已被排序如“设置值”中描述。
boolean 的设置值是:
设置值 描述
True Node 对象根据它们的 Text 属性按字母顺序排列。其 Text 属性由数字开始的 Node 对象也作为字符串排序,第一个数字确定在排序中的初始位置,后面的数字确定以后的排序。
False Node 对象不排序。
说明:Sorted 属性有两种用法,第一,在 TreeView 控件的根(顶)层排列 Node 对象,第二,对任何单个 Node 对象的立即子节点排序。例如,下面的代码是对 TreeView 控件的根节点排序:
TreeView1.Sorted = True '顶层 Node 对象被排序。
下面的例子表示创建 Node 对象时如何设置 Sorted 属性:
Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(,,,"Parent Node")
nodX.Sorted = True
设置 Sorted 属性为 True 仅对当前 Nodes 集合排序。在 TreeView 控件中添加新的 Node 对象时,必须再次设置 Sorted 属性为 True,以便对添加的 Node 对象排列。

三、常用方法
1、Add 方法在 Treeview 控件的 Nodes 集合中添加一个 Node 对象。
语法:
object.Add(relative, relationship, key, text, image, selectedimage)
Add 方法的语法包含下面部分:
部分 描述
object 必需的。对象表达式,其值是“应用于”列表中的一个对象
relative 可选的。已存在的 Node 对象的索引号或键值。新节点与已存在的节点间的关系,可在下一个参数 relationship 中找到。
relationship 可选的。指定的 Node 对象的相对位置,如设置值中所述。
key 可选的。唯一的字符串,可用于用 Item 方法检索 Node。
text 必需的。在 Node 中出现的字符串。
image 可选的。在关联的 ImageList 控件中的图象的索引。
selectedimage 可选的。在关联的 ImageList 控件中的图象的索引,在 Node 被选中时显示。
设置值
relationship 的设置值是:
常数 值 描述
tvwFirst 0 首的节点。该 Node 和在 relative 中被命名的节点位于同一层,并 位于所有同层节点之前。
tvwLast 1 最后的节点。该 Node 和在 relative 中被命名的节点位于同一层,并 位于所有同层节点之后。任何连续地添加的节点可能位于最后添加的节点之后
tvwNext 2 (缺省)下一个节点。该 Node 位于在 relative 中被命名的节点之后。
tvwPrevious 3 前一个节点。该 Node 位于在 relative 中被命名的节点之前。
tvwChild 4 (缺省)子节点。该 Node 成为在 relative 中被命名的节点的子节点。
注意如果在 relative 中没有被命名的 Node 对象,则新节点被放在节点顶层的最后位置。
说明:
Nodes 集合是一个基于 1 的集合。
在添加 Node 对象时,它被指派一个索引号,该索引号被存储在 Node 对象的 Index 属性中。这个最新成员的 Index 属性值就是 Node 集合的 Count 属性的值。
因为 Add 方法返回对新建立的 Node 对象的引用,所以使用这个引用来设置新 Node 的属性十分方便。
2、GetVisibleCount方法返回固定在 TreeView 控件的内部区域的 Node 对象的个数。
语法:object.GetVisibleCount
object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
说明: Node 对象的个数取决于在一个窗口中能固定多少行。总的行数取决于控件的高度和 Font 对象的 Size 属性。该计数包括列表底部的只能看到一局部的项。
可以使用 GetVisibleCount 属性确保可视的最小行数,这样可以精确地访问一个层。如果最小行数是不可视的,可以用 Height 属性重新设置 TreeView 的大小。

四、常用事件
NodeClick 事件在一个 Node 对象被单击时,这个事件便发生。语法:Private Sub object_NodeClick(ByVal node As Node)
NodeClick 事件的语法包含下面部分::
部分 描述
object 对象表达式,其值是“应用于”列表中的一个对象。
node 对被点取的 Node 对象的引用。
说明:
在单击节点对象之外的 TreeView 控件的任何部位,标准的 Click 事件发生。当单击某个特定的 Node 对象时,NodeClick 事件发生;NodeClick 事件也返回对特定的 Node 对象的引用,在下一步操作之前,这个引用可用来使这个 Node 对象可用。
NodeClick 事件发生在标准的 Click 事件之前。

其他
N.Nodes.Remove   (N.SelectedItem.Key)这是删除当前节点。

  评论这张
 
阅读(712)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018