用数组记录TREEVIEW 的初始状态:
Option Explicit
Dim c() As Boolean
Dim num As Integer
Private Sub Command1_Click()
Dim i As Integer
With TreeView1
.Style = tvwTextOnly
.LineStyle = tvwTreeLines
.Checkboxes = True
.Nodes.Add , , "root", "ALL"
.Nodes(1).Expanded = True
For i = 1 To 10
.Nodes.Add "root", 4, Chr(i + 64), Chr(i + 64)
.Nodes(i).ForeColor = RGB(i * 5, i * 10, i * 20)
Next
.Nodes(7).Checked = True
num = TreeView1.Nodes.Count
ReDim c(1 To num)
For i = 1 To num
c(i) = .Nodes(i).Checked
Next
End With
End Sub
Private Sub TreeView1_Click()
Dim i As Integer
For i = 1 To num
TreeView1.Nodes(i).Checked = c(i)
Next
End Sub