我用TreeView写了一个树,当我点击节点的副选框时候问题1 我如何同时选择这个节点下边的子节节点和孙节点
问题2 我是直接点击副选框的,并没有选择那个节点,可是我想得出我直接点击副选框节点的信息如 KEY,TEXT等难道非的用
FOR i=1 TO TreeView.Nodes.count-1
if TreeView.Nodes(i).checked=true then
.......
end if
next
我感觉这个办法好笨的,不知道各位高手能否给点办法,分不够可以在加!
问题2 我是直接点击副选框的,并没有选择那个节点,可是我想得出我直接点击副选框节点的信息如 KEY,TEXT等难道非的用
FOR i=1 TO TreeView.Nodes.count-1
if TreeView.Nodes(i).checked=true then
.......
end if
next
我感觉这个办法好笨的,不知道各位高手能否给点办法,分不够可以在加!
Private Sub CheckChild(ByVal Node As MSComctlLib.Node, ByVal bCheck As Boolean, Optional ByVal bNext As Boolean = True, Optional ByVal bChild As Boolean = True)
If Not Node Is Nothing Then
Node.Checked = bCheck
If Node.Children And bChild Then
Call CheckChild(Node.Child, bCheck, True, True) '对子节点
End If
If bNext Then
Call CheckChild(Node.Next, bCheck, True, bChild) '对同一层节点
End If
End If
End Sub 2.
Private Sub tvwDept_NodeCheck(ByVal Node As MSComctlLib.Node)
MsgBox Node.Key & " " & Node.TEXT
End Sub
写到NodeCheck里即可
Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Call CheckChild(Node, Node.Checked, False, True) '处理子节点
End Sub
“写到NodeCheck里即可”上面的都是第一个问题的
只有引用6.0的版本才有_NodeCheck事件需要使用VB+SP5补丁:)