• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Treeview 控件的使用方法

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 33次 | 进入软件测试论坛讨论

领测软件测试网

   
  相信很多编程爱好者都使用过网络蚂蚁或 FoxMail 软件,其软件运行主界面的左侧有一显示等级结构的树状外观控件,不仅美观大方,而且非常方便使用。其实,在 VB 中利用 Treeview 控件很容易就能编写出同样效果的程序。

  首先在 VB 中建立一个新工程,单击“工程/部件”,在控件列表中选中“Microsoft Windows command controls6.0(sp4)”,按下“确定”按钮返回主界面,在左侧控件窗体中选中 Treeview 控件置于窗体上,再放置一个 Imagelist 控件、两个 Label 控件、两个Textbox 控件、六个 commandbutton 控件,其属性分别如下:

  Treeview 控件:名称 Treeview1;

  Imagelist 控件:名称 Imagelist1,并在该控件中放置三张个性图片(32×32),建立索引1、2、3;(方法:在Imagelist 控件上单击鼠标右键选择属性)

  Label 控件:名称分别为Lab(0)、Lab(1),Caption分别为“父节点:”、“子节点:”;

  Textbox 控件:名称分别为Txt(0)、Txt(1),text都为“”;

  commandbutton 控件:名称为系统默认,Caption分别为“添加”、“展开”、“收起”、“排序”、“删除”、“退出”;

  将下列代码加入到代码框:

Option Explicit

Dim I As Integer
Dim J As Integer
Dim nodx As Node
Dim CunZai As Boolean 注释:定义变量

Private Sub Command1_Click()
 If Txt(0).Text <> "" And Txt(1).Text <> "" Then 注释:不允许建立零字节的父节点和子节点
  CunZai = False
  J = TreeView1.Nodes.Count
  For I = 1 To TreeView1.Nodes.Count 注释:检查新输入的父节点名称是否存在
   If TreeView1.SelectedItem.Children > 0 Then
    If Txt(0).Text = TreeView1.Nodes(I).Text Then CunZai = True
    End If
  Next I
  If CunZai = True Then 注释:若存在, 则在父节点下建立子节点
   Set nodx = TreeView1.Nodes.Add(Txt(0).Text, tvwChild, "child" & J,
               Txt(1).Text, 3)
  Else ,若不存在,则建立父节点和子节点
   Set nodx = TreeView1.Nodes.Add(, , Txt(0).Text, Txt(0).Text, 1)
   Set nodx = TreeView1.Nodes.Add(Txt(0).Text, tvwChild, "child" & J,_
          Txt(1).Text, 3)
  End If
  TreeView1.Refresh
 ElseIf Txt(0).Text = "" Then MsgBox "请输入父节点名称!", vbInformation, "警告!"
  注释:系统提示
 ElseIf Txt(1).Text = "" Then MsgBox "请输入子节点名称!", vbInformation, "警告!"
 End If
End Sub

Private Sub Command2_Click()
 For I = 1 To TreeView1.Nodes.Count
  TreeView1.Nodes(I).Expanded = True 注释:展开所有节点
 Next I
End Sub

Private Sub Command3_Click()
 For I = 1 To TreeView1.Nodes.Count
  TreeView1.Nodes(I).Expanded = False 注释:收起所有节点
 Next I
End Sub

Private Sub Command4_Click()
 TreeView1.Sorted = True 注释:排列顺序
End Sub

Private Sub Command5_Click()
 If TreeView1.SelectedItem.Index <> 1 Then
  TreeView1.Nodes.Remove TreeView1.SelectedItem.Index 注释:删除选定的节点
 End If
End Sub

Private Sub Command6_Click()
 End 注释:退出程序
End Sub

Private Sub Form_Load()
 TreeView1.LineStyle =TvwTreeLines 注释:在兄弟节点和父节点之间显示线
 TreeView1.ImageList = ImageList1 注释:链接图像列
 TreeView1.Style = tvwTreelinesPlusMinusPictureText
 注释:树状外观包含全部元素
 Set nodx = TreeView1.Nodes.Add(, , "蒲子明", "蒲子明", 1)
 注释:建立名称为"蒲子明"的父节点,选择索引为1的图像
 Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child01", "收件箱", 3)
 注释:在"蒲子明"父节点下建立"收件箱"子节点,选择索引为3的图像
 Set nodx = TreeView1.Nodes.Add("蒲子明", tvwChild, "child02", "发件箱", 3)
 注释:在"蒲子明"父节点下建立"发件箱"子节点,选择索引为3的图像
 CunZai = False
End Sub

Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node)
 Node.ExpandedImage = 2 注释:节点被展开时,选择索引为2的图像
End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
 If TreeView1.SelectedItem.Children = 0 Then 注释:检查是否有子节点,0为无
  For I = 1 To TreeView1.Nodes.Count
  If TreeView1.Nodes(I).Selected Then
   MsgBox "您选择的是:“" & TreeView1.Nodes(I).FullPath & "”子节点!"
    注释:系统提示
  End If
  Next I
 End If
End Sub

  程序运行界面如下:

  通过改变图像信息,增加存储信息则能编写出更倩的程序。本程序在WIN98、VB6.0下调试通过。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网