Paste this into the Init of a treeview control:
#DEFINE tvwFirst 0
#DEFINE tvwLast 1
#DEFINE tvwNext 2
#DEFINE tvwPrevious 3
#DEFINE tvwChild 4
WITH This
oNode = .Nodes.Add(, , "RootKey", "Root Level")
oNode.Expanded = .T.
oNode.Checked = .T.
oNode = .Nodes.Add("RootKey", tvwChild, "Node1Key", "Node 1")
oNode.Expanded = .T.
oNode.Checked = .T.
oNode = .Nodes.Add("RootKey", tvwChild, "Node2Key", "Node 2")
oNode.Expanded = .T.
oNode.Checked = .T.
oNode = .Nodes.Add("RootKey", tvwChild, "Node3Key", "Node 3")
oNode.Expanded = .T.
oNode.Checked = .T.
oNode = .Nodes.Add("Node2Key", tvwChild, "Node2aKey", "Node 2a")
oNode.Expanded = .T.
oNode.Checked = .T.
ENDWITH
Everything makes sense in someone's mind
public class SystemCrasher :ICrashable
In addition, an integer field is not for irrational people