我发出来吧:
楼主看看:
'*****对所选择的节点进行打勾操作******
Private Sub TrvMK_NodeCheck(ByVal Node As MSComctlLib.Node)
If Not Node.Parent Is Nothing Then
If Node.Parent.Checked = False Then
Node.Parent.Checked = Node.Checked
End If
End If
CheckNode Node
End Sub
Private Sub Form_Load()
With Me
With .TreeView1
With .Nodes
.Add , , "R", "Root"
.Add "R", 4, "a", "A"
.Add "R", 4, "B", "B"
.Add "R", 4, "C", "C"
.Add "R", 4, "D", "D"
End With
End With
End With
End Sub
Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Dim i As Integer
Dim cNode As Node
Set cNode = Node.FirstSibling
For i = 1 To Node.Parent.Children
If cNode.Key <> Node.Key Then
cNode.Checked = False
End If
Set cNode = cNode.Next
Next i
Set cNode = Nothing
End Sub
Private Sub Form_Load()
With Me
With .TreeView1
.Indentation = 10
With .Nodes
.Add , , "a", "a"
.Add "a", 4, "b", "b"
.Add "b", 4, "c", "c"
End With
.Nodes(1).Expanded = True
End With
End With
End Sub
Private Sub TreeView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim cur_Node As Node
Set cur_Node = Me.TreeView1.HitTest(x, y)
If Button = 2 Then
If Not cur_Node Is Nothing Then
MsgBox "您现在点击的是:" & cur_Node.Key & "类型的节点!"
Set TreeView1.SelectedItem = cur_Node
End If
ElseIf Button = 1 Then
Debug.Print "左键!"
End If
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim buff() As String
buff = Split(Node.FullPath, Me.TreeView1.PathSeparator)
MsgBox "点击的节点位于第" + CStr(UBound(buff) + 1) + "层"
End Sub