Visual Basic 6.0 TreeView控件及右击弹出菜单Demo

来源:互联网 发布:linux源码分析 编辑:程序博客网 时间:2024/06/05 20:48

Visual Basic 6.0 TreeView控件及右击弹出菜单Demo

1.       新建一exe工程

2.       Ctrl+T 打开组件对话框,Microsoft Windows Common Controls 6.0(SP 6)添加进项目工程

3.       在窗体中添加一TreeView 将其命名为tvOrg

4.       右击窗体,选择编辑菜单,打开菜单编辑器。添加打开(mOpen),删除(mDelete) ,退出(mExit)菜单项。

5.       添加如下Code

Option Explicit

Dim sKey As String

Dim sValue As String

Private Sub Form_Load()

 

    Dim Node As Node

   

    With tvOrg

        .Nodes.Add , , "K10", "China"

       

        .Nodes.Add "K10", tvwChild, "K1001", "AnHui"

        .Nodes.Add "K1001", tvwChild, "K100101", "HeFei"

       

        .Nodes.Add "K10", tvwChild, "K1002", "JiangSu"

        .Nodes.Add "K1002", tvwChild, "K100201", "NanJing"

 

        .Nodes("K10").Expanded = True

 

    End With

   

End Sub

 

Private Sub mDelete_Click()

    MsgBox "Key=" & sKey & " Value=" & sValue, vbInformation + vbOKOnly

End Sub

Private Sub mExit_Click()

    MsgBox "Key=" & sKey & " Value=" & sValue, vbInformation + vbOKOnly

End Sub

 

Private Sub tvOrg_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

    Dim nodeSelected As Node

    If Button = vbRightButton Then

        Set nodeSelected = tvOrg.HitTest(x, y)

       

        If nodeSelected Is Nothing Then Exit Sub

       

        nodeSelected.Selected = True

       

        sKey = nodeSelected.Key

        sValue = nodeSelected.Text

       

        Me.PopupMenu mOpen

    End If

End Sub

 

 

 

 

注意事项:

1.  TreeView中添加结点时,结点的Key不能为数值类型,需要将数值类型转化一下再存入。

2.  TreeViewMouseDown事件中判断哪一个结点被选中是通过TreeViewHitTest(x, y)方法返回的结点与TreeView选中的结点加以比较,如果一样表示为右击事件。

原创粉丝点击