深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

TreeView控件的应用


2016年8月11日 作者: 来源:

TreeView控件是一个树形结构的控件,该控件用于显示分层数据,如目录或文件目录,使程序的表现更为灵活,用户的操作更加方便,示例代码如下:
#001  Private Sub UserForm_Initialize()
#002      Dim c As Integer
#003      Dim r As Integer
#004      Dim rng As Variant
#005      rng = Sheet1.UsedRange
#006      With Me.TreeView1
#007          .Style = tvwTreelinesPlusMinusPictureText
#008          .LineStyle = tvwRootLines
#009          .CheckBoxes = False
#010          With .Nodes
#011              .Clear
#012              .Add Key:="科目", Text:="科目名称"
#013              For c = 1 To Sheet1.UsedRange.Columns.Count
#014                  For r = 2 To Sheet1.UsedRange.Rows.Count
#015                      If Not IsEmpty(rng(r, c)) Then
#016                          If c = 1 Then
#017                              .Add relative:="科目", relationship:=tvwChild, Key:=rng(r, c), Text:=rng(r, c)
#018                          ElseIf Not IsEmpty(rng(r, c - 1)) Then
#019                              .Add relative:=rng(r, c - 1), relationship:=tvwChild, Key:=rng(r, c), Text:=rng(r, c)
#020                          Else
#021                              .Add relative:=CStr(Sheet1.Cells(r, c - 1).End(xlUp)), relationship:=tvwChild, Key:=rng(r, c), Text:=rng(r, c)
#022                          End If
#023                      End If
#024                  Next
#025              Next
#026          End With
#027      End With
#028  End Sub
代码解析:
在窗体初始化时将工作表中的科目名称填充TreeView控件。
第7行代码,设置TreeView控件每个列表的组成方式。Style属性设置值如下表所示。
常量                         值 描述
tvwTextOnly                 0 文本
tvwPictureText                 1 图像文本
tvwPlusMinusText          2 符号文本
tvwTreelinesText         4 直线文本
tvwTreelinesPlusMinusPictureText7 正常显示

第8行代码,设置TreeView控件显示根节点连线。TreeView控件的LineStyle属性设置为tvwRootLines显示根节点连线,设置为tvwTreeLines则隐藏根节点连线。
第9行代码,设置TreeView控件不显示复选框。
第10行代码使用Nodes属性返回对TreeView控件的Node对象的集合的引用。
第11行代码,清除TreeView控件所有的节点。
第12行代码,使用Add方法在Treeview控件的Nodes集合中添加一个Node对象。,Add方法语法如下:
object.Add(relative, relationship, key, text, image, selectedimage)
参数Object是必需的,一个有效的对象。
参数Relative是可选的,代表已存在的Node对象的索引号或键值。
参数relationship是可选的,代表新节点与已存在的节点间的关系,指定的Node对象的相对位置。relationship的设置值如下表所示。
常量 值 说明
tvwFirst 0 首节点,该Node和在relative中被命名的节点位于同一层,并位于所有同层节点之前。
tvwLast         1 最后的节点,该Node和在relative中被命名的节点位于同一层,并位于所有同层节点之后。任何连续地添加的节点可能位于最后添加的节点之后。
tvwNext         2 下一个节点,该Node位于在relative中被命名的节点之后。
tvwPrevious 3 前一个节点,该Node位于在relative中被命名的节点之前。
tvwChild 4 子节点。该Node 为在relative中被命名的节点的子节点。

参数key是可选的,唯一的字符串,可用于用Item方法检索Node。
参数text 是必需的,在Node中出现的字符串。
参数image是可选的,代表一个图像或在ImageList控件中图象的索引。
参数selectedimage是可选的,代表一个图像或在ImageList控件中图象的索引,在 Node被选中时显示。
第13行到第25行代码代,在根节点下添加子节点。添加子节点仍然使用Add方法,需要一个唯一的Key值,必须提供根节点的Key值(参数relative)和参数relationship值(tvwChild)。要将子节点链接到根节点的下面,参数relative必须与根节点的Key值一致,参数relationship必须设置为tvwchild。要使子节点有效,子节点必须也有自已唯一的Key值。
获得双击TreeView控件后的返回值的代码如下:
#001  Private Sub TreeView1_DblClick()
#002      If TreeView1.SelectedItem.Children = 0 Then
#003          Sheet1.Range("A65536").End(xlUp).Offset(1) = TreeView1.SelectedItem.Text
#004      Else
#005          MsgBox "所选择的不是末级科目,请重新选择科目!"
#006      End If
#007  End Sub
代码解析:
TreeView1_ DblClick过程是TreeView控件的双击事件,将所选的科目名称写入到工作表中。
第2行代码判断所选节点是否是末级科目。TreeView控件的SelectedItem属性返回当前所选择的节点,而Children属性检查所选节点是否还有子节点,如没有子节点则返回0。


阅读:2042 上一则:在vba中进行进度条的制作 下一则:vba如何在用户窗体标题栏中添加图标

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训