不要急,出错了:)Do While (nodX.Next Is Nothing And nodX.Key <> mNode.Key)
Set nodX = nodX.Parent
Loop还要修改一下:(
Set nodX = nodX.Parent
Loop还要修改一下:(
解决方案 »
- MSFLEXGRID标题
- 关于vb远程访问数据库的新问题,希望高手能给出高论
- 自定义类型变量不能作为参数传递吗? 急
- 怎在使TextBox.text通过拖动Label控件获得Label.caption值?
- 在VB窗体中加入的菜单栏,工具栏,状态栏能不能换个颜色??
- VB应用程序打包安装问题,敬请各位高手赐教,非常感谢
- 请问哪有中文发声控件?高分相送!
- 请问!!哪儿有员工考勤管理系统,如果是WEB版的话,更好。谢谢
- 用vb写Excel文件
- (急需各位高手帮忙)关于监控控制的问题:
- 急,请高手帮助我解决这个问题!
- 紧急求助--在DataGrid里录入数据,涉及到两个表,但只将录入数据写入到一个表中,该怎么办?
'/*改变所有子节点状态
Dim nodX As Node
Dim nodTmp As Node
If mNode.Child Is Nothing Then Exit Sub
Set nodX = mNode.Child
Do While (Not nodX.Key = mNode.Key)
If selected Then
nodX.Image = "selall"
Else
nodX.Image = "selno"
End If
If Not nodX.Child Is Nothing Then '/*有子节点,指向子节点
Set nodX = nodX.Child
Else '/*如果没有子节点,则指向下一个兄弟节点
If Not nodX.Next Is Nothing Then '/*如果有下一个兄弟节点,则指向下一个兄弟节点
Set nodX = nodX.Next
Else '/*兄弟已尽,指向父节点,然后指向下一个兄弟节点
Do
Set nodX = nodX.Parent
If nodX.Key = mNode.Key Then Exit Sub '/*已指到最初节点,可以结束遍历
Loop While (nodX.Next Is Nothing And nodX.Key <> mNode.Key)
Set nodX = nodX.Next
If nodX Is Nothing Then Exit Sub '/*没有相关兄弟节点,可以结束遍历:)
End If
End If
Loop
End Sub
'/*如果变为选中状态,则所有子节点变为选中
'/*如果变为未选中状态,则所有子节点变为未选中Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Dim nodx As Node
Dim i As Integer
Dim k As Integer
Dim j As Integer
If Node.Checked = True And Node.Children <> 0 Then
k = Node.Children
Node.Child.Checked = True
Set Node = Node.Child
If k > 1 Then
For i = 1 To k - 1
If Node.Children <> 0 Then
Set nodx = Node.Child
nodx.Checked = True
For j = 1 To Node.Children - 1
Set nodx = nodx.Next
nodx.Checked = True
Next j
End If
Set Node = Node.Next
Node.Checked = True
Next i
Else
If Node.Children <> 0 Then
Set nodx = Node.Child
nodx.Checked = True
For j = 1 To Node.Children - 1
Set nodx = nodx.Next
nodx.Checked = True
Next j
End If
'Set Node = Node.Next
Node.Checked = True
End If
ElseIf Node.Checked = False And Node.Children <> 0 Then
k = Node.Children
Node.Child.Checked = False
Set Node = Node.Child
If k > 1 Then
For i = 1 To k - 1
If Node.Children <> 0 Then
Set nodx = Node.Child
nodx.Checked = False
For j = 1 To Node.Children - 1
Set nodx = nodx.Next
nodx.Checked = False
Next j
End If
Set Node = Node.Next
Node.Checked = False
Next i
Else
If Node.Children <> 0 Then
Set nodx = Node.Child
nodx.Checked = False
For j = 1 To Node.Children - 1
Set nodx = nodx.Next
nodx.Checked = False
Next j
End If
'Set Node = Node.Next
Node.Checked = False
End If
End If
Node.EnsureVisible
End Sub