top
Loading...
Treeview控件的使用方法

相信很多編程愛好者都使用過網絡螞蟻或 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下調試通過。


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗