1.TreeView中选择父节点时,其子节点也被选取
2.且选择后还能获取到所有被选取节点信息,如点击按钮
我的选取代码如下,只能实现下一级被选中,请教各位了,谢谢
Private Sub Form_Load()
With Me.TreeView1
.Nodes.Add , , "nodBoot", "Boot"
.Nodes.Add "nodBoot", tvwChild, "Child1", "Child1"
.Nodes.Add "nodBoot", tvwChild, "Child2", "Child2"
.Nodes.Add "Child1", tvwChild, "Child3", "Child3"
.Nodes.Add "Child1", tvwChild, "Child4", "Child4"
End With
End SubPrivate Sub TreeView1_NodeCheck(ByVal node As MSComctlLib.node)
Dim objCurrentNode As node
If node.Children > 0 Then
Set objCurrentNode = node.Child
objCurrentNode.Checked = node.Checked
Do While objCurrentNode <> objCurrentNode.LastSibling
Set objCurrentNode = objCurrentNode.Next
objCurrentNode.Checked = node.Checked
Loop
End If
End Sub
2.且选择后还能获取到所有被选取节点信息,如点击按钮
我的选取代码如下,只能实现下一级被选中,请教各位了,谢谢
Private Sub Form_Load()
With Me.TreeView1
.Nodes.Add , , "nodBoot", "Boot"
.Nodes.Add "nodBoot", tvwChild, "Child1", "Child1"
.Nodes.Add "nodBoot", tvwChild, "Child2", "Child2"
.Nodes.Add "Child1", tvwChild, "Child3", "Child3"
.Nodes.Add "Child1", tvwChild, "Child4", "Child4"
End With
End SubPrivate Sub TreeView1_NodeCheck(ByVal node As MSComctlLib.node)
Dim objCurrentNode As node
If node.Children > 0 Then
Set objCurrentNode = node.Child
objCurrentNode.Checked = node.Checked
Do While objCurrentNode <> objCurrentNode.LastSibling
Set objCurrentNode = objCurrentNode.Next
objCurrentNode.Checked = node.Checked
Loop
End If
End Sub
解决方案 »
- 一个文件操作的问题(如何跳过拒绝访问的文件)
- 如何获得vba的2维字符串数组的长度
- 谁有介绍INI文件的资料,可否发给我
- 利用wininet.dll进行FTP上传时,如何判断上传的文件已经存在于服务器了?
- ◆打包问题,我真的想不出了,各位兄弟姐妹们!◆
- 程序的标题如何修改???
- 怎么样查找一维数组中的最大值?
- 判断当前输入法关闭/打开的api函数是什么?在线求解。
- 想请教一下有什么办法可以自动输入字符串到FLASH中的文本框里面吗
- wqb(啊喂) 、crystal_heart(笑看风云)两位,进来!!感谢对“分没了,可以给钱(如果你非要的话)”的支持!给分了!
- VB如何控制WebBrower.ocx控件?
- 我想用API做一个无模式窗口,也就是说,点击某个按键,打开一个窗口,不用等待新开的窗口关闭,原来的程序可以当作后台程序仍然运行
With Me.TreeView1
.Nodes.Add , , "nodBoot", "Boot"
.Nodes.Add "nodBoot", tvwChild, "Child1", "Child1"
.Nodes.Add "nodBoot", tvwChild, "Child2", "Child2"
.Nodes.Add "Child1", tvwChild, "Child3", "Child3"
.Nodes.Add "Child1", tvwChild, "Child4", "Child4"
End With
End SubSub CheckNodes(tv As TreeView, oNode As Node, Optional fChecked As Boolean = False, Optional lLevel As Long = 0)
'打上勾
oNode.Checked = fChecked
'有孩子的先抱孩子
If Not oNode.Child Is Nothing Then
CheckNodes tv, oNode.Child, fChecked, lLevel + 1
End If
'有兄弟的再抱兄弟
If (Not oNode.Next Is Nothing) And lLevel > 0 Then
CheckNodes tv, oNode.Next, fChecked, lLevel
End If
End SubPrivate Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Call CheckNodes(TreeView1, Node, Node.Checked)
End Sub
CheckNodes tv, oNode.Next, fChecked, lLevel
End If
这段代码溢出