目录
一、插入控件
二、初始化代码
Sub OnClick(ByVal Item)
Dim TV,NodeIndex
Set TV=ScreenItems("TV")
TV.Style=6 '6.直线、+/-和文本;
TV.LineStyle =1
Set NodeIndex=TV.Nodes.Add(,,"Class0","城市")
NodeIndex.Expanded=True
Set NodeIndex=TV.Nodes.Add("Class0",4,"Class1","四川省")
NodeIndex.Sorted=True
NodeIndex.Expanded=True
Set NodeIndex=TV.Nodes.Add("Class0",4,"Class2","山西省")
NodeIndex.Sorted=True
Set NodeIndex=TV.Nodes.Add("Class1",4,"Class11","自贡市")
Set NodeIndex=TV.Nodes.Add("Class1",4,"Class12","成都市")
NodeIndex.Expanded=True
Set NodeIndex=TV.Nodes.Add("Class1",4,"Class13","宜宾市")
NodeIndex.Sorted=True
Set NodeIndex=TV.Nodes.Add("Class12",4,"Class111","成华区")
Set NodeIndex=TV.Nodes.Add("Class12",4,"Class112","双流")
End Sub
三、语句分析
(1)TreeView1.Nodes.Add(relative, relationship, key, text, image, selectedimage)
① relative:可选的。已存在的Node对象的索引号或键值
② relationship:可选的。指定的Node对象的相对位置。
tvwFirst | 0 | 首节点。该Node和在relative中 被命名的节点位于同一层,并位于所有同层节点之前。 该节点和第一个参数节点同级,且在最前面 |
tvwLast | 1 | 最后的节点。该Node和在relative中 被命名的节点位于同一层,并位于所有同层节点之后。 该节点和第一个参数节点同级,且在最后面 |
tvwNext | 2 | (缺省)下一个节点。该Node位于在relative中被命名的节点之后。 和第一个参数节点同级,且在第一个参数节点后面 |
tvwPrevious | 3 | 前一个节点。该Node位于在relative中被命名的节点之前。 和第一个参数节点同级,且在第一个参数节点前面 |
tvwChild | 4 | (缺省)子节点。该Node成为在relative中被命名的节点的子节点。 是第一个参数节点下一级 |
代码中的“4”改为“0”,结果如下图: 代码中的“4”改为“1”,结果如下图:
代码中的“4”改为“2”,结果如下图: 代码中的“4”改为“3”,结果如下图:
③ Key:可选的。唯一的字符串,可用于用Item方法检索Node。
④ Text:必需的。在Node中出现的字符串。
⑤ Image:可选的。在关联的ImageList控件中的图像的索引。
⑥ Selectedimage:可选的。在关联的ImageList控件中的图像的索引,在Node被选中时显示。
(2)TV.Style=6
控件的样式Style有7种:
0 | 仅为文本 |
1 | 图像和文本 |
2 | +/-和文本 |
3 | +/-、图像和文本 |
4 | 直线和文本 |
5 | 直线、图像和文本 |
6 | 直线、+/-和文本 |
7 | (缺省)直线、+/-、图像和文本 |
(3)TV.Linestyle=1 TV.Linestyle=0
(4)NodeIndex.Sorted=True
对子节点进行排序(按首字母),对子节点的子节点无效。
(5)NodeIndex.Expanded=True
自动展开节点,不用手动去点
四、清空节点
Sub OnClick(ByVal Item)
Dim TV,i
Set TV=ScreenItems("TV")
TV.Nodes.Clear
End Sub
五、修改节点
1.插入一个静态文本,对象名称改为Key
2.插入一个输入输出域,对象名称改为Text,域类型为输入,数据格式为字符串
3.插入一个按钮,代码如下。
Sub OnClick(Byval Item)
Dim TV,Key,Text
Set TV=ScreenItems("TV")
Set Key=ScreenItems("Key")
Set Text=ScreenItems("Text")
TV.nodes.item(Key.text).text=text.InputValue
End Sub
4. 对TreeView的NodeClick编辑代码
Sub NodeClick(ByVal Item, ByRef Node)
Dim Key,Text
Set Key=ScreenItems("Key")
Set Text=ScreenItems("Text")
Key.text=node.key
Text.OutputValue=node.text
End Sub
5.效果如下:
点击节点后,在静态文本中显示Key值,在输入输出域中显示Text值。
选中一个节点后,在输入输出域中写入新的字符串,点击“确认修改”按钮,更改节点值。