56
ImageSize property on 32 (specifies the size of the control' icons)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 32
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to 16
	Send Destroy to hoStdFont
	Set ComNodeHeight to 32
	Set ComLevelWidth -1 to (ComImageSize(Self))
	Send ComImages ("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" + ;
"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Set ComExpandBarVisible to True
	Set ComExpandButtons to OLEexCustom
	Set ComExpandButtonsCustom False to 1
	Set ComExpandButtonsCustom True to 2
	Send ComEndUpdate
End_Procedure
55
ImageSize property on 16 (specifies the size of the control' icons)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComImageSize to 16
	Send ComImages "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Set ComExpandBarVisible to True
	Set ComExpandButtons to OLEexCustom
	Set ComExpandButtonsCustom False to 1
	Set ComExpandButtonsCustom True to 2
	Send ComEndUpdate
End_Procedure
54
How can I create a new node with attribute, something like <newnode attr1='at1'/>

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf+Pt2RrmazF3zlez+duGhsGk0Vp01i1On0GV1dU1ev1lf2VWymX2e53W73m9327iw+lfCj0gkUkAEllHKnG13j/cHQjb/eHU6b4f74jbwOncjbAB3gjaAB/k8flB8oA4A9cb9ftjXv9Xs+fwAHk80a/HpjTAD7/O2P54D+jaAg="
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "newnode" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComImage of hoNode to 1
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "attr1" "at1" Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComImage of hoNode1 to 2
				Send Destroy to hoNode1
			Send Destroy to hoNodes1
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Send ComExpandAll
	Variant d
	Get Comcreateobject "MSXML.DOMDocument" to d
	Get ComSaveXML d to Nothing
	Showln d
End_Procedure
53
Is it possible to load the XML with a different version of XML DOM
Procedure OnCreate
	Forward Send OnCreate
	Variant d
	Get Comcreateobject "Msxml2.DOMDocument.3.0" to d
		Get ComloadXML "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>" to Nothing
	Get ComLoadXML d to Nothing
	Send ComExpandAll
End_Procedure
52
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 2)

// Fires when the user changes the selection.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	// SelectedNode(0).Editor = "edit"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Get ComAdd of hoEditors "edit" OLEEditType to Nothing
	Send Destroy to hoEditors
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComPicture of hoNode to "pic1"
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes2 "Child <b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 103
				Send Destroy to hoNode3
			Send Destroy to hoNodes2
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
End_Procedure
51
How can I specify a default editor

// Occurs when a node is added to the nodes collection.
Procedure OnComAddNode Variant   llNewNode
	Forward Send OnComAddNode llNewNode
	// NewNode.Editor = "calc"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Get ComAdd of hoEditors "calc" OLECalculatorType to Nothing
	Send Destroy to hoEditors
	Get ComLoadXML "<numbers><first_number>100</first_number><second_number>200</second_number></numbers>" to Nothing
	Send ComExpandAll
End_Procedure
50
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 1)

// Occurs when a node is added to the nodes collection.
Procedure OnComAddNode Variant   llNewNode
	Forward Send OnComAddNode llNewNode
	// NewNode.Editor = "edit"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComSelForeColorChild to (RGB(128,128,128))
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Get ComAdd of hoEditors "edit" OLEEditType to Nothing
	Send Destroy to hoEditors
	Get ComLoadXML "http://www.exontrol.net/testing.xml" to Nothing
	Send ComExpandAll
End_Procedure
49
How can I assign editors to nodes

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAllowDuplicateEntries to True
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Variant voEditor
		Get ComAdd of hoEditors "name" OLEEditType to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComAppearance of hoEditor to OLEEtchedApp
		Send Destroy to hoEditor
		Variant voEditor1
		Get ComAdd of hoEditors "phone" OLEMaskType to voEditor1
		Handle hoEditor1
		Get Create (RefClass(cComEditor)) to hoEditor1
		Set pvComObject of hoEditor1 to voEditor1
			Set ComMask of hoEditor1 to "(###)-######"
			Set ComAppearance of hoEditor1 to OLEEtchedApp
		Send Destroy to hoEditor1
		Variant voEditor2
		Get ComAdd of hoEditors "date" OLEDateType to voEditor2
		Handle hoEditor2
		Get Create (RefClass(cComEditor)) to hoEditor2
		Set pvComObject of hoEditor2 to voEditor2
			Set ComAppearance of hoEditor2 to OLEEtchedApp
		Send Destroy to hoEditor2
	Send Destroy to hoEditors
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Customer" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComPicture of hoNode to "mihai"
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Name" "Mihai Filimon" Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComEditor of hoNode1 to "name"
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Phone" "(0744)-845287" Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComEditor of hoNode2 to "phone"
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "BirthDay" "12/31/1971" Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComEditor of hoNode3 to "date"
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 82
	Send ComEndUpdate
End_Procedure
48
I use LoadXml, then inside onNodeAdd event, I add the picture. But the picture doesnt show up. Does the picture have to be a bitmap

// Occurs when a node is added to the nodes collection.
Procedure OnComAddNode Variant   llNewNode
	Forward Send OnComAddNode llNewNode
	// NewNode.Picture = LoadPicture("c:\exontrol\images\colorize.gif")
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes2 "Child <b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 103
				Send Destroy to hoNode3
			Send Destroy to hoNodes2
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
End_Procedure
47
How can I assign a picture to a node ( method 3 )

Procedure OnCreate
	Forward Send OnCreate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComPicture of hoNode to "pic1"
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes2 "Child <b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 103
				Send Destroy to hoNode3
			Send Destroy to hoNodes2
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
End_Procedure
46
How can I save the control's content using a different version of XML DOM
Procedure OnCreate
	Forward Send OnCreate
	Variant d
	Get Comcreateobject "Msxml2.DOMDocument.3.0" to d
	Get ComLoadXML "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>" to Nothing
	Get ComSaveXML d to Nothing
	Showln d
	Send ComExpandAll
End_Procedure
45
How can I load the control's content using a different version of XML DOM
Procedure OnCreate
	Forward Send OnCreate
	Variant d
	Get Comcreateobject "Msxml2.DOMDocument.3.0" to d
		Set Comasync to False
		Get ComloadXML "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>" to Nothing
	Get ComLoadXML d to Nothing
	Send ComExpandAll
End_Procedure
44
How can I get the XML string from the control's content
Procedure OnCreate
	Forward Send OnCreate
	Variant d
	Get Comcreateobject "MSXML.DOMDocument" to d
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Root" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComImage of hoNode to 1
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComImage of hoNode1 to 2
					Set ComValue of hoNode1 to "Value <b>1"
				Send Destroy to hoNode1
			Send Destroy to hoNodes1
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode2
				Get ComAdd of hoNodes2 "Child2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComImage of hoNode2 to 2
					Set ComValue of hoNode2 to "Value <b>2"
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Send ComExpandAll
	Send ComResizeToFit 0 Nothing
	Get ComSaveXML d to Nothing
	Showln d
End_Procedure
43
How can I load the control from a XML DOM object

Procedure OnCreate
	Forward Send OnCreate
	Variant d
	Get Comcreateobject "Msxml2.DOMDocument.3.0" to d
		Get ComappendChild (ComcreateElement(Self,"Root")) to Nothing
		Variant voIXMLDOMNodeList
		Get ComchildNodes to voIXMLDOMNodeList
		Handle hoIXMLDOMNodeList
		Get Create (RefClass(cComIXMLDOMNodeList)) to hoIXMLDOMNodeList
		Set pvComObject of hoIXMLDOMNodeList to voIXMLDOMNodeList
			Variant voIXMLDOMElement
			Get Comitem of hoIXMLDOMNodeList 0 to voIXMLDOMElement
			Handle hoIXMLDOMElement
			Get Create (RefClass(cComIXMLDOMElement)) to hoIXMLDOMElement
			Set pvComObject of hoIXMLDOMElement to voIXMLDOMElement
				Variant voIXMLDOMNamedNodeMap
				Get Comattributes of hoIXMLDOMElement to voIXMLDOMNamedNodeMap
				Handle hoIXMLDOMNamedNodeMap
				Get Create (RefClass(cComIXMLDOMNamedNodeMap)) to hoIXMLDOMNamedNodeMap
				Set pvComObject of hoIXMLDOMNamedNodeMap to voIXMLDOMNamedNodeMap
					Get ComsetNamedItem of hoIXMLDOMNamedNodeMap d to Nothing
					Variant voIXMLDOMAttribute
					Get Comitem of hoIXMLDOMNamedNodeMap 0 to voIXMLDOMAttribute
					Handle hoIXMLDOMAttribute
					Get Create (RefClass(cComIXMLDOMAttribute)) to hoIXMLDOMAttribute
					Set pvComObject of hoIXMLDOMAttribute to voIXMLDOMAttribute
						Set Comvalue of hoIXMLDOMAttribute to "value <b>1"
					Send Destroy to hoIXMLDOMAttribute
					Get ComsetNamedItem of hoIXMLDOMNamedNodeMap d to Nothing
					Variant voIXMLDOMAttribute1
					Get Comitem of hoIXMLDOMNamedNodeMap 1 to voIXMLDOMAttribute1
					Handle hoIXMLDOMAttribute1
					Get Create (RefClass(cComIXMLDOMAttribute)) to hoIXMLDOMAttribute1
					Set pvComObject of hoIXMLDOMAttribute1 to voIXMLDOMAttribute1
						Set Comvalue of hoIXMLDOMAttribute1 to "value <b>2"
					Send Destroy to hoIXMLDOMAttribute1
				Send Destroy to hoIXMLDOMNamedNodeMap
			Send Destroy to hoIXMLDOMElement
		Send Destroy to hoIXMLDOMNodeList
	Get ComLoadXML d to Nothing
	Send ComExpandAll
	Send ComResizeToFit 0 Nothing
	Showln d
End_Procedure
42
How can I load XML from http or URL

Procedure OnCreate
	Forward Send OnCreate
	Get ComLoadXML "http://www.exontrol.net/testing.xml" to Nothing
	Send ComExpandAll
End_Procedure
41
How can I load XML from a supplied string

Procedure OnCreate
	Forward Send OnCreate
	Get ComLoadXML "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>" to Nothing
	Send ComExpandAll
End_Procedure
40
How do I programatically search for a node
Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to Nothing
	Send Destroy to hoNodes3
	Variant voNode3
	Get ComSearch "Child 1" -1 to voNode3
	Handle hoNode3
	Get Create (RefClass(cComNode)) to hoNode3
	Set pvComObject of hoNode3 to voNode3
		Set ComSelected of hoNode3 to True
	Send Destroy to hoNode3
End_Procedure
39
How can I show the control's selection using your EBN technology

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 ("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" + ;
"ZCYJUSQsRMhmHkFscgPAwgyFcFAJImAYDiE0DwTojAZhSDcE0bIvQbjnAIOETgUhWjyCUJgaQ1hyiMFiHkGYrg7A8EyNMBIJBZjqE4HMRQawisaAuJ0AgnhPBzHcH4J42VoDnBGOMUAFAHTBCyOsEw5hoD6FALQFwhgoDaA6EMdAhQIiiCaEERAyRUjuBkBYWQLRRB0DcI4KI2gehHHSAQfoYRaBYmIHoGQiwUgNBSKUKgrhLBSG0CEJA5heglDQNQTgfRfDqDaE0dIxQcinOEJ4KaZwnjqWqKgGguhLBUBUI0KI6llimAmNoTIURCiqHKOoJoURVBVCdm0LQjwogpC6FYVYVQ2j3BICoJISRVB7EsKsSojhZBWC0M0LI6RiDeFaBUV1FwdC9CYGsAAvw5DzCULoK4Wh2hdHWMUPIrwqjuF8FcbQ/QvjaDaG0WAVRPDACwFsBoYR1i1DeKkRoHRYizDWBEMY7BCiR0KE4Xo2AdgtCwOwUomRZhMAaL0BIawegmHYGsGosw7COGkFoLYTQ0jsHKEkWoFhXDWCyEsHYZx0C9FCB8WwthtBbC2G0NYahGi3FuFYdwuhtDxBaCYYwDRghJAiBYcQXAtiNDiO6+ouQrguHMFwbYnb+B9F4LoKwFh0BdC2K0OsKgBizGsP4RY3AIiDDgO4Yo4ReBXEcPILwWxmh5GiIURAvQLiuHsF4bYqw7CtEKE0XY1xBD3C+FsdofR3jFyEFccw/gvjbGOHwFw5R5C4BGP8AQNxmN5HgEYBIwQsAvAMGAbgHRBjwEMBEYQNx9gKC8MwEohR4DGAyMEVAwh2jcAYAcQIcBrAhGIFgR4EgxBcBfFsIsaxsCvAt1wHIfAtA9G8MAQY/wLDjC4G0Ro8RjA5GCBcQ4HQxjcD7woPwAQ0DqHOBkZw/BGiRHkEYJIyQsgvBMGQbgnRJjyEMEkY4+QngcHKBwVs5xjBHDSHgOwixyBMASJYOYBgwjMCyI8GQZBmCpEyPEVwZdECtEGGUXgYBoiyHgP8ZomRng6DOFwdonR5huA0M8DI7wfBmC4N0SAmgYBhhoAsBnA7ONgGhQh6AjBEhogtAXgjA0BugOhRh5h3BIhnBNAfglA0gugWhQgsAbAuBUhdAEAwh0AmgXhTh6gDBQhqM4giB0gWgmhNBagTBUhqgkgLgmBzB4hIhTgaB7BVhrAtBnrSgug2AfAZBnBbhrgtB3gpA1BugAhVh6APACBrhNgHgxA2Aug8r0AbBkhsgphZgvgkhegwhAgShPBot4gng1A2guhWhah7BjBshtgtg3g3A2hmhLhbh6BTBupkhHg5POBNgih7A8B/huBdhXg7A3Buhuhdh7hDB4hGg9Avg8oiB2heh7gLBzhpg9gDg6g3hGh+hfh8ADgAhvAdhpu/gvAGhdg7hpgjhBAsBnu0hvAOhhh8BDgIuDgng3gSAggXhihyBvgFjmgphHA4hvAevggDgQhtBUgLhFhEg/AZgCHaARByguBXhLA5BvAuhdg8gTgMBRB+A0A/hkgnQ8h8hjgchzguB3r9hvA+hnh9ADgguNgHhOg5B/AghogdAjgkh0guB+gqA5AvAnAYgYhPglh1AugnhVA6gvBWhpA9AbgPh1B+g3hXA5g/BNhmBVA3gaB1hehHhZA7AvBmhsh9Oqh2gOhXhbA7AfBfhkhOApgUBTBNhBhdA7gugrgIBTA/g7B3guh3glgYSFBvhqggBwh4Auh+AmAjhHgGhwh+AjhEh4gvAXhjA8BvgOhxh+BDvZAvAVAhAjhEB2hyB+BjhMh5gvA3hnA8hvgeAUAsg4BZh6AkBaBABACAg") to Nothing
		Get ComAdd of hoAppearance 2 "gBFLBCJwBAEHhEJAEGg4BFIDg6AADACAxRDAMgBQKAAzQFAYahsGCGAAGIYxUgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItSIrFqqaJma7ccgRDj4AY7Ua+czufBZbozOqDYzAey7TDWLRXFDNIzzTgQAyHHrETbHGqzFxMAEa5YGqYpVj2HwzDuQ5oHKIQgggSRAlIYw6B0ThGFGDIAFUDAhBMfZRiGNAkFECZnG4IQdneJwmnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMhZKEwA5jC6SIyEqfh0kuD4MjAAAwcwBw0iKDwjlKVozmyChPDSThyiMDxGk6awbB6XY1iwfQInkPg0GMEAADEdRDmcVovm8ex3FkPJrH0WJ5w4UAAkcMYMHOaxmjGTxNGcao1jWbYMkcAAMk2RJ7lycxMgMdpEHMTZMnuXBM7uMAOAG1jAED8HAQ47wGjDHgPwEI+RggcGOAmAAqxDj8DoHMTY3BUi7GWPOCAKg3jIBOEIXggBAEBA" to Nothing
	Send Destroy to hoAppearance
	Set ComShowFocusRect to False
	Set ComSelBackColor to |CI$1000000
	Set ComSelForeColor to -1
	Set ComSelBackColorCollapse to |CI$2000000
	Set ComSelBackColorChild to -1
	Set ComSelForeColorChild to -1
	Set ComAllowDuplicateEntries to True
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
			Set ComExpanded of hoNode to True
			Set ComSelected of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Variant voNode3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to voNode3
		Handle hoNode3
		Get Create (RefClass(cComNode)) to hoNode3
		Set pvComObject of hoNode3 to voNode3
			Variant voNodes4
			Get ComNodes of hoNode3 to voNodes4
			Handle hoNodes4
			Get Create (RefClass(cComNodes)) to hoNodes4
			Set pvComObject of hoNodes4 to voNodes4
				Variant voNode4
				Get ComAdd of hoNodes4 "Child <b>1" Nothing Nothing to voNode4
				Handle hoNode4
				Get Create (RefClass(cComNode)) to hoNode4
				Set pvComObject of hoNode4 to voNode4
					Set ComValue of hoNode4 to 103
				Send Destroy to hoNode4
				Variant voNode5
				Get ComAdd of hoNodes4 "Child <b>2" Nothing Nothing to voNode5
				Handle hoNode5
				Get Create (RefClass(cComNode)) to hoNode5
				Set pvComObject of hoNode5 to voNode5
					Set ComValue of hoNode5 to 104
				Send Destroy to hoNode5
			Send Destroy to hoNodes4
		Send Destroy to hoNode3
	Send Destroy to hoNodes3
	Variant voNodes5
	Get ComNodes to voNodes5
	Handle hoNodes5
	Get Create (RefClass(cComNodes)) to hoNodes5
	Set pvComObject of hoNodes5 to voNodes5
		Get ComAdd of hoNodes5 "Parent 4" Nothing Nothing to Nothing
	Send Destroy to hoNodes5
	Send ComEndUpdate
	Set ComLevelWidth 0 to 96
End_Procedure
38
Is it possible to assing a picture to a node (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComAlignChildContent to True
	Set ComAllowDuplicateEntries to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
			Set ComBackgroundExt of hoNode OLEexExpandBackgroundExtState to "left[18],client[text=`<img>pic1</img>`,align=0x20]"
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Variant voNode3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to voNode3
		Handle hoNode3
		Get Create (RefClass(cComNode)) to hoNode3
		Set pvComObject of hoNode3 to voNode3
			Variant voNodes4
			Get ComNodes of hoNode3 to voNodes4
			Handle hoNodes4
			Get Create (RefClass(cComNodes)) to hoNodes4
			Set pvComObject of hoNodes4 to voNodes4
				Variant voNode4
				Get ComAdd of hoNodes4 "Child <b>1" Nothing Nothing to voNode4
				Handle hoNode4
				Get Create (RefClass(cComNode)) to hoNode4
				Set pvComObject of hoNode4 to voNode4
					Set ComValue of hoNode4 to 103
				Send Destroy to hoNode4
				Variant voNode5
				Get ComAdd of hoNodes4 "Child <b>2" Nothing Nothing to voNode5
				Handle hoNode5
				Get Create (RefClass(cComNode)) to hoNode5
				Set pvComObject of hoNode5 to voNode5
					Set ComValue of hoNode5 to 104
				Send Destroy to hoNode5
			Send Destroy to hoNodes4
			Set ComBackgroundExt of hoNode3 OLEexExpandBackgroundExtState to "left[18],client[text=`<img>pic1</img>`,align=0x20]"
			Set ComBackgroundExt of hoNode3 OLEexCollapseBackgroundExtState to "right[4],client[text=`<img>pic1:19</img>`,align=0x12]"
		Send Destroy to hoNode3
	Send Destroy to hoNodes3
	Variant voNodes5
	Get ComNodes to voNodes5
	Handle hoNodes5
	Get Create (RefClass(cComNodes)) to hoNodes5
	Set pvComObject of hoNodes5 to voNodes5
		Get ComAdd of hoNodes5 "Parent 4" Nothing Nothing to Nothing
	Send Destroy to hoNodes5
	Send ComEndUpdate
	Set ComLevelWidth 0 to 96
End_Procedure
37
Is it possible to assing a picture to a node (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComAlignChildContent to True
	Set ComAllowDuplicateEntries to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant v
				Get ComHTMLPicture "pic1" to v
			Set ComPicture of hoNode to v
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes2 "Child <b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 103
				Send Destroy to hoNode3
			Send Destroy to hoNodes2
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to Nothing
	Send Destroy to hoNodes3
	Send ComEndUpdate
End_Procedure
36
I get "The key already exists" when adding a new node. What can I do ( method 2 )
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Item" "Key1" to Nothing
		Get ComAdd of hoNodes "Item" "Key2" to Nothing
		Get ComAdd of hoNodes "Item" "Key3" to Nothing
	Send Destroy to hoNodes
	Send ComEndUpdate
End_Procedure
35
I get "The key already exists" when adding a new node. What can I do ( method 1 )
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAllowDuplicateEntries to True
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Item" Nothing Nothing to Nothing
		Get ComAdd of hoNodes "Item" Nothing Nothing to Nothing
		Get ComAdd of hoNodes "Item" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Send ComEndUpdate
End_Procedure
34
How can I mark the node only, without its child

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAlignChildContent to True
	Set ComAllowDuplicateEntries to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
			Set ComBackgroundExt of hoNode OLEexExpandBackgroundExtState to "top[20,frame=RGB(0,0,0),framethick]"
			Set ComBackgroundExt of hoNode OLEexCollapseBackgroundExtState to (ComBackgroundExt(hoNode,OLEexExpandBackgroundExtState))
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to Nothing
	Send Destroy to hoNodes3
	Send ComEndUpdate
End_Procedure
33
How can I mark the entire node

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAlignChildContent to True
	Set ComAllowDuplicateEntries to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Get ComAdd of hoNodes "Parent 1" Nothing Nothing to Nothing
	Send Destroy to hoNodes
	Variant voNodes1
	Get ComNodes to voNodes1
	Handle hoNodes1
	Get Create (RefClass(cComNodes)) to hoNodes1
	Set pvComObject of hoNodes1 to voNodes1
		Variant voNode
		Get ComAdd of hoNodes1 "Parent 2" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes2
			Get ComNodes of hoNode to voNodes2
			Handle hoNodes2
			Get Create (RefClass(cComNodes)) to hoNodes2
			Set pvComObject of hoNodes2 to voNodes2
				Variant voNode1
				Get ComAdd of hoNodes2 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes2 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes2
			Set ComBackgroundExt of hoNode OLEexExpandBackgroundExtState to "[frame=RGB(0,0,0),framethick]"
			Set ComBackgroundExt of hoNode OLEexCollapseBackgroundExtState to (ComBackgroundExt(hoNode,OLEexExpandBackgroundExtState))
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes1
	Variant voNodes3
	Get ComNodes to voNodes3
	Handle hoNodes3
	Get Create (RefClass(cComNodes)) to hoNodes3
	Set pvComObject of hoNodes3 to voNodes3
		Get ComAdd of hoNodes3 "Parent 3" Nothing Nothing to Nothing
	Send Destroy to hoNodes3
	Send ComEndUpdate
End_Procedure
32
How can I specify aditional information for a node, when it is expanded

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAlignChildContent to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
					Set ComBackgroundExt of hoNode1 OLEexCollapseBackgroundExtState to "top[2],bottom[2],left[2],right[2],client[pattern=6,frame]"
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComBackgroundExt of hoNode OLEexExpandBackgroundExtState to "top[4],bottom[4],left[17],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x20]"
			Set ComBackgroundExt of hoNode OLEexCollapseBackgroundExtState to "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Send ComResizeToFit 0 Nothing
	Send ComEndUpdate
End_Procedure
31
Is it possible to show aditional information for a node

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAlignChildContent to True
	Set ComSelBackMode to OLEexTransparent
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 102
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComBackgroundExt of hoNode OLEexExpandBackgroundExtState to "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
			Set ComBackgroundExt of hoNode OLEexCollapseBackgroundExtState to (ComBackgroundExt(hoNode,OLEexExpandBackgroundExtState))
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Send ComResizeToFit 0 Nothing
	Send ComEndUpdate
End_Procedure
30
How can I hide the expanding bars under each parent node (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComBackground OLEexExpandButtonUp to -1
	Set ComBackground OLEexExpandButtonDown to -1
	Set ComAlignChildContent to True
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Variant voNodes2
					Get ComNodes of hoNode2 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode3
						Get ComAdd of hoNodes2 "Sub Child <b>2.1" Nothing Nothing to voNode3
						Handle hoNode3
						Get Create (RefClass(cComNode)) to hoNode3
						Set pvComObject of hoNode3 to voNode3
							Set ComValue of hoNode3 to 101
						Send Destroy to hoNode3
						Variant voNode4
						Get ComAdd of hoNodes2 "Sub Child <b>2.2" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Variant voNodes3
							Get ComNodes of hoNode4 to voNodes3
							Handle hoNodes3
							Get Create (RefClass(cComNodes)) to hoNodes3
							Set pvComObject of hoNodes3 to voNodes3
								Variant voNode5
								Get ComAdd of hoNodes3 "Sub Child <b>2.1.1" Nothing Nothing to voNode5
								Handle hoNode5
								Get Create (RefClass(cComNode)) to hoNode5
								Set pvComObject of hoNode5 to voNode5
									Set ComValue of hoNode5 to 101
								Send Destroy to hoNode5
								Variant voNode6
								Get ComAdd of hoNodes3 "Sub Child <b>2.2.2" Nothing Nothing to voNode6
								Handle hoNode6
								Get Create (RefClass(cComNode)) to hoNode6
								Set pvComObject of hoNode6 to voNode6
									Set ComValue of hoNode6 to 102
								Send Destroy to hoNode6
							Send Destroy to hoNodes3
							Set ComExpanded of hoNode4 to False
						Send Destroy to hoNode4
					Send Destroy to hoNodes2
					Set ComExpanded of hoNode2 to True
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Send ComEndUpdate
End_Procedure
29
How can I align the child nodes

Procedure OnCreate
	Forward Send OnCreate
	Set ComAlignChildContent to True
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent A" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComValue of hoNode to 100
		Send Destroy to hoNode
		Variant voNode1
		Get ComAdd of hoNodes "Parent B" Nothing Nothing to voNode1
		Handle hoNode1
		Get Create (RefClass(cComNode)) to hoNode1
		Set pvComObject of hoNode1 to voNode1
			Variant voNodes1
			Get ComNodes of hoNode1 to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>1" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>2" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 102
				Send Destroy to hoNode3
				Variant voNode4
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>3" Nothing Nothing to voNode4
				Handle hoNode4
				Get Create (RefClass(cComNode)) to hoNode4
				Set pvComObject of hoNode4 to voNode4
					Variant voNodes2
					Get ComNodes of hoNode4 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode5
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>1" Nothing Nothing to voNode5
						Handle hoNode5
						Get Create (RefClass(cComNode)) to hoNode5
						Set pvComObject of hoNode5 to voNode5
							Set ComValue of hoNode5 to 103
						Send Destroy to hoNode5
						Variant voNode6
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>2" Nothing Nothing to voNode6
						Handle hoNode6
						Get Create (RefClass(cComNode)) to hoNode6
						Set pvComObject of hoNode6 to voNode6
							Set ComValue of hoNode6 to 104
						Send Destroy to hoNode6
					Send Destroy to hoNodes2
				Send Destroy to hoNode4
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode1 to True
			Set ComSelected of hoNode1 to True
		Send Destroy to hoNode1
	Send Destroy to hoNodes
End_Procedure
28
How do I change the control's visual appearance using the UI Visual Designer
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAllowDuplicateEntries to True
	Set ComShowFocusRect to False
	Set ComGridLinesColor to (RGB(128,128,128))
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent A" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Variant voNodes2
					Get ComNodes of hoNode3 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode4
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>1" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Set ComValue of hoNode4 to 102
						Send Destroy to hoNode4
						Variant voNode5
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>2" Nothing Nothing to voNode5
						Handle hoNode5
						Get Create (RefClass(cComNode)) to hoNode5
						Set pvComObject of hoNode5 to voNode5
							Set ComValue of hoNode5 to 103
						Send Destroy to hoNode5
					Send Destroy to hoNodes2
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
			Set ComSelected of hoNode to True
		Send Destroy to hoNode
		Variant voNode6
		Get ComAdd of hoNodes "Parent B" Nothing Nothing to voNode6
		Handle hoNode6
		Get Create (RefClass(cComNode)) to hoNode6
		Set pvComObject of hoNode6 to voNode6
			Variant voNodes3
			Get ComNodes of hoNode6 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 1 Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode6
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 96
	Set ComVisualDesign to ("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" + ;
"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" + ;
"gJhmhSA+glAYBCBtA9BrAaAihfg2BuTuhhgeBMhrgmADA5BNgrg2A5A8AsBrhGhyg8hvBLhWh2g7hhB7hkhbBSBOgrh0hZg/tkAHAChAhvhzBmBhBSBQAQCAg")
	Send ComEndUpdate
End_Procedure
27
How do I specify to search for name of the nodes only, when the user filters the control

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarVisible
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Variant voNodes2
					Get ComNodes of hoNode3 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode4
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>1" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Set ComValue of hoNode4 to 102
						Send Destroy to hoNode4
						Variant voNode5
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>2" Nothing Nothing to voNode5
						Handle hoNode5
						Get Create (RefClass(cComNode)) to hoNode5
						Set pvComObject of hoNode5 to voNode5
							Set ComValue of hoNode5 to 103
						Send Destroy to hoNode5
					Send Destroy to hoNodes2
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComAutoSearch to OLEexContains
	Set ComFilterBarPromptType to (OLEexFilterPromptApplyOnName + OLEexFilterPromptStartWith)
	Set ComFilterBarPromptPattern to "No"
	Send ComEndUpdate
End_Procedure
26
Is it possible to include child-nodes, when do filtering

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarVisible
	Set ComHideSelection to OLEexHideAlways
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Variant voNodes2
					Get ComNodes of hoNode3 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode4
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>1" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Set ComValue of hoNode4 to 102
						Send Destroy to hoNode4
						Variant voNode5
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>2" Nothing Nothing to voNode5
						Handle hoNode5
						Get Create (RefClass(cComNode)) to hoNode5
						Set pvComObject of hoNode5 to voNode5
							Set ComValue of hoNode5 to 103
						Send Destroy to hoNode5
					Send Destroy to hoNodes2
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComAutoSearch to OLEexAnyContains
	Set ComFilterBarPromptType to (OLEexFilterPromptIncludeChild + OLEexFilterPromptApplyOnValue + OLEexFilterPromptApplyOnName + OLEexFilterPromptContainsAny)
	Set ComFilterBarPromptPattern to "Child3"
	Send ComEndUpdate
End_Procedure
25
How can I change the control's filtering so it searches for Contains rather than Start

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarVisible
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child<font ;6><off -4><b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Variant voNodes2
					Get ComNodes of hoNode3 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode4
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>1" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Set ComValue of hoNode4 to 102
						Send Destroy to hoNode4
						Variant voNode5
						Get ComAdd of hoNodes2 "Node<font ;6><off -4><b>2" Nothing Nothing to voNode5
						Handle hoNode5
						Get Create (RefClass(cComNode)) to hoNode5
						Set pvComObject of hoNode5 to voNode5
							Set ComValue of hoNode5 to 103
						Send Destroy to hoNode5
					Send Destroy to hoNodes2
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComAutoSearch to OLEexAnyContains
	Set ComFilterBarPromptType to (OLEexFilterPromptApplyOnValue + OLEexFilterPromptApplyOnName + OLEexFilterPromptContainsAny)
	Set ComFilterBarPromptPattern to "Child3"
	Send ComEndUpdate
End_Procedure
24
How do I enable the control's filtering support

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComFilterBarPromptVisible to OLEexFilterBarVisible
	Set ComHideSelection to OLEexHideAlways
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
				Variant voNode3
				Get ComAdd of hoNodes1 "Child <b>3" Nothing Nothing to voNode3
				Handle hoNode3
				Get Create (RefClass(cComNode)) to hoNode3
				Set pvComObject of hoNode3 to voNode3
					Set ComValue of hoNode3 to 102
				Send Destroy to hoNode3
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Send ComEndUpdate
End_Procedure
23
How can I hide the expanding bars under each parent node (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlBkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0OwIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 2 "gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUCQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgchAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI" to Nothing
	Send Destroy to hoAppearance1
	Variant voAppearance2
	Get ComVisualAppearance to voAppearance2
	Handle hoAppearance2
	Get Create (RefClass(cComAppearance)) to hoAppearance2
	Set pvComObject of hoAppearance2 to voAppearance2
		Get ComAdd of hoAppearance2 3 "gBFLBCJwBAEHhEJAAChABa8GACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIzkKJpAAiCRQGiYZyHKcxMYgQrAZBEbKMLwrAYUIRCCaofAAGIaRDIcZPXQjZSMdSkHRpKi6Mo2TpPUpSDpUM6VCL3KhqKxXeq1cp2XpfWBYNhVbTafyyaiqKiSWy0EQRBSDXBcNxXHalazhNpCbTSWoqLrhRzDMCwC6rUwCeYJQzCcLxLCcMwjA5/MDeFLXCwjBJ+W5aFhzBYsbx1NKcZ7nWgaAqOKp/OKnECuBh2EYNMywK5rew7BqTf5tW7ZNx2TYNMYPKiDajcDJMOwqWpUVDjOQ4fidXzfSbPcrxfBsLp/FOKhmDKGQKHUGoFEiIRPCiE5pl8ChzhuNpyHgU49mSdxtEOWBkCCNRdGQExBhyTRQCcExeG+X5zneeAmh8Uw1nEIIfDMUJSDQSYyGCFR/GCR5yAkJRgGMRgDHyTYjGSVgmgkchSAoJJhhIRIXCSSQXm4H4HgkQhGBuBgJEgVJWgSVJSAYLg4E2Yx2BuAhJGIcIYCWIxHm4NINiOCJeBuDANliOIBFOJAjhiZQ5AkMhAg6BhJCgbgbH6ZJiFYHAlAkKQkg6EYOEkCRLFTQw4m0OwIlIJIHCRVAshGGRmHmGhohqZoiC4ZAimYEgeF4OwkCUSRUFwZw5mYX4eg6SZyH6HpoAOMRxFUFRihKBgglaVZagqIpXCWNoGCkFRkAQgI" to Nothing
	Send Destroy to hoAppearance2
	Set ComHideSelection to OLEexHideAlways
	Set ComExpandButtons to OLEexCustom
	Set ComExpandButtonsCustom True to 16777216
	Set ComExpandButtonsCustom False to 33554432
	Set ComBackground OLEexExpandButtonUp to |CI$3000000
	Set ComBackground OLEexExpandButtonDown to |CI$3000000
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Variant voNodes2
					Get ComNodes of hoNode2 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode3
						Get ComAdd of hoNodes2 "Sub Child <b>2.1" Nothing Nothing to voNode3
						Handle hoNode3
						Get Create (RefClass(cComNode)) to hoNode3
						Set pvComObject of hoNode3 to voNode3
							Set ComValue of hoNode3 to 101
						Send Destroy to hoNode3
						Variant voNode4
						Get ComAdd of hoNodes2 "Sub Child <b>2.2" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Variant voNodes3
							Get ComNodes of hoNode4 to voNodes3
							Handle hoNodes3
							Get Create (RefClass(cComNodes)) to hoNodes3
							Set pvComObject of hoNodes3 to voNodes3
								Variant voNode5
								Get ComAdd of hoNodes3 "Sub Child <b>2.1.1" Nothing Nothing to voNode5
								Handle hoNode5
								Get Create (RefClass(cComNode)) to hoNode5
								Set pvComObject of hoNode5 to voNode5
									Set ComValue of hoNode5 to 101
								Send Destroy to hoNode5
								Variant voNode6
								Get ComAdd of hoNodes3 "Sub Child <b>2.2.2" Nothing Nothing to voNode6
								Handle hoNode6
								Get Create (RefClass(cComNode)) to hoNode6
								Set pvComObject of hoNode6 to voNode6
									Set ComValue of hoNode6 to 102
								Send Destroy to hoNode6
							Send Destroy to hoNodes3
							Set ComExpanded of hoNode4 to False
						Send Destroy to hoNode4
					Send Destroy to hoNodes2
					Set ComExpanded of hoNode2 to True
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Send ComEndUpdate
End_Procedure
22
How can I change the visual appearance for expand/collapse buttons

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlBkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0OwIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 2 "gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUCQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgchAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI" to Nothing
	Send Destroy to hoAppearance1
	Set ComHideSelection to OLEexHideAlways
	Set ComExpandButtons to OLEexCustom
	Set ComExpandButtonsCustom True to 16777216
	Set ComExpandButtonsCustom False to 33554432
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Variant voNodes2
					Get ComNodes of hoNode2 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode3
						Get ComAdd of hoNodes2 "Sub Child <b>2.1" Nothing Nothing to voNode3
						Handle hoNode3
						Get Create (RefClass(cComNode)) to hoNode3
						Set pvComObject of hoNode3 to voNode3
							Set ComValue of hoNode3 to 101
						Send Destroy to hoNode3
						Variant voNode4
						Get ComAdd of hoNodes2 "Sub Child <b>2.2" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Variant voNodes3
							Get ComNodes of hoNode4 to voNodes3
							Handle hoNodes3
							Get Create (RefClass(cComNodes)) to hoNodes3
							Set pvComObject of hoNodes3 to voNodes3
								Variant voNode5
								Get ComAdd of hoNodes3 "Sub Child <b>2.1.1" Nothing Nothing to voNode5
								Handle hoNode5
								Get Create (RefClass(cComNode)) to hoNode5
								Set pvComObject of hoNode5 to voNode5
									Set ComValue of hoNode5 to 101
								Send Destroy to hoNode5
								Variant voNode6
								Get ComAdd of hoNodes3 "Sub Child <b>2.2.2" Nothing Nothing to voNode6
								Handle hoNode6
								Get Create (RefClass(cComNode)) to hoNode6
								Set pvComObject of hoNode6 to voNode6
									Set ComValue of hoNode6 to 102
								Send Destroy to hoNode6
							Send Destroy to hoNodes3
							Set ComExpanded of hoNode4 to False
						Send Destroy to hoNode4
					Send Destroy to hoNodes2
					Set ComExpanded of hoNode2 to True
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Send ComEndUpdate
End_Procedure
21
Does your control support transparent selection

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSelBackMode to OLEexTransparent
	Set ComSelBackColorChild to (ComSelBackColor(Self))
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Variant voNodes2
					Get ComNodes of hoNode2 to voNodes2
					Handle hoNodes2
					Get Create (RefClass(cComNodes)) to hoNodes2
					Set pvComObject of hoNodes2 to voNodes2
						Variant voNode3
						Get ComAdd of hoNodes2 "Sub Child <b>2.1" Nothing Nothing to voNode3
						Handle hoNode3
						Get Create (RefClass(cComNode)) to hoNode3
						Set pvComObject of hoNode3 to voNode3
							Set ComValue of hoNode3 to 101
						Send Destroy to hoNode3
						Variant voNode4
						Get ComAdd of hoNodes2 "Sub Child <b>2.2" Nothing Nothing to voNode4
						Handle hoNode4
						Get Create (RefClass(cComNode)) to hoNode4
						Set pvComObject of hoNode4 to voNode4
							Variant voNodes3
							Get ComNodes of hoNode4 to voNodes3
							Handle hoNodes3
							Get Create (RefClass(cComNodes)) to hoNodes3
							Set pvComObject of hoNodes3 to voNodes3
								Variant voNode5
								Get ComAdd of hoNodes3 "Sub Child <b>2.1.1" Nothing Nothing to voNode5
								Handle hoNode5
								Get Create (RefClass(cComNode)) to hoNode5
								Set pvComObject of hoNode5 to voNode5
									Set ComValue of hoNode5 to 101
								Send Destroy to hoNode5
								Variant voNode6
								Get ComAdd of hoNodes3 "Sub Child <b>2.2.2" Nothing Nothing to voNode6
								Handle hoNode6
								Get Create (RefClass(cComNode)) to hoNode6
								Set pvComObject of hoNode6 to voNode6
									Set ComValue of hoNode6 to 102
								Send Destroy to hoNode6
							Send Destroy to hoNodes3
							Set ComExpanded of hoNode4 to True
						Send Destroy to hoNode4
					Send Destroy to hoNodes2
					Set ComExpanded of hoNode2 to True
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Send ComEndUpdate
End_Procedure
20
How can I show the selection with some transparent marker

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAllowDuplicateEntries to True
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode3
		Get ComAdd of hoNodes2 "Parent" Nothing Nothing to voNode3
		Handle hoNode3
		Get Create (RefClass(cComNode)) to hoNode3
		Set pvComObject of hoNode3 to voNode3
			Variant voNodes3
			Get ComNodes of hoNode3 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Variant voNode4
				Get ComAdd of hoNodes3 "Child <b>1" Nothing Nothing to voNode4
				Handle hoNode4
				Get Create (RefClass(cComNode)) to hoNode4
				Set pvComObject of hoNode4 to voNode4
					Set ComValue of hoNode4 to 100
				Send Destroy to hoNode4
				Variant voNode5
				Get ComAdd of hoNodes3 "Child <b>2" Nothing Nothing to voNode5
				Handle hoNode5
				Get Create (RefClass(cComNode)) to hoNode5
				Set pvComObject of hoNode5 to voNode5
					Set ComValue of hoNode5 to 101
				Send Destroy to hoNode5
			Send Destroy to hoNodes3
		Send Destroy to hoNode3
	Send Destroy to hoNodes2
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Set ComShowFocusRect to False
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBIUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdSrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapMgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUIQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJDoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cwgkiIooloZgoiWD5zgCYIMhCFAEIC" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$1000000
	Set ComSelForeColor to -1
	Set ComSelBackColorChild to -1
	Set ComSelForeColorChild to -1
	Send ComEndUpdate
End_Procedure
19
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 3)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Set ComShowFocusRect to False
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABGYDg6AADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjAIoBQ4GACJBmKKodgONYYTLFYCwTJETw5FKEZTEWQBTjGOY5TbNcgUPCMex7IiVJYpOK6ThqTYfQjLUBvfTgAS4f6Laaneg4JDOUYtTjIADRWBMeSxAatK6rWr7BqOYoDUJZcQyDIcNzXAa9aLjO5wAiWPp4VJZM54FKVEzfQSrZqoDIrEgOZpBYjMdSgADFXQGDbHbhuS5IWwTBpQZhaGZQTb+mZtZ7oMI6HTuSztW7EMLAC6bJx7LoDazoGKSDo0TZRXLNYqzPIdf4OVq4YTxVi2PZGnmLJfGwOY8m2NhTAmPJcmAZBbmiDo3DuW4ZEgAQQhKAYkkYdA6hyDIjBkAIqBgQgmn0YxRFgGIjF8CRwhOB4ZAkPQdFYMRfCsYICFYCgkEkEhCA0JDeEICglgqYo0i4XQMEgZI9gaToYHSb4Hk6Y4+CGB5hlOJgbC8TBoiQAArgqco4muC5OkOMJtguYxIlYMg7GME4uC0K4AAKKg+DwJADiCZw5k6KQWEaEYOHkChADwI5izIKwKjKzQ8E8A4iFaEYOjOMgvhEZRjiIVA8CUEouE9SRJEycoWCMCJmFvUAzkYZArAACAgi0PInEkGhauKCYsmqHQPCmSAAgsSp5lCc4dg6WgUm6DkQhicw8g8OiDiwKQDk6EoNCgU40m6JZpFiUoSDyaQCokLIqAobh3iWKRogaB4MmWKhsjMLJLCAAorCyagokYIoImsM46DEOwPEoSovABZR0nSL5pFgfgfhALAqFaPw9CuUrgC2CxSlidQ9E8SoSkSEpsZXj5LFsNAAC2bZLDydYwiaW4GFOMIPGsPpcC2QACmSOQuA8a42EvYoZnKcVsAOPJwD0bpSmKagAAuO52m0PYsCmcoLkCLhLjSOwuguIAAjyQpvnkLobkOaQpC6f5CkuQAAj6BpPHwZwCkQKYzkqcQ9k8Y5cj2RejH8JpGE8eZykeSprnmcwoC+TADAAAJMEwA5jDaSoyksHh8rmDLgDBzoHDyJIPCOUpejWbQKG8PJQHMIwPE6UJrhsPpljeLJ9CieQ+DSYwQAAMR1kOZxejGb57hcYQ8mufR4nmVwMFAAJHDGDBzmsbozk8TYHHKN42G2LJHAADJNmSe5enOTIjH6Rhzk2Nke4vBMt8GAHADY5wbgUD8HEQ47wOjHHiPwMI+RigcGOAmAorgjj8EIHMTY3B0i7GePQDoBwdBvGSCcIQ6BACAIC" to Nothing
	Send Destroy to hoAppearance
	Set ComSelBackColor to |CI$1000000
	Set ComSelForeColor to -1
	Set ComSelBackColorChild to -1
	Set ComSelForeColorChild to -1
	Send ComEndUpdate
End_Procedure
18
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABJUIQAAYAQGKIaBoAKBQAGaAoDDQMw1QwAAwjSK0EwsACEIrjKCRShyCYZRhGcTSAAUEhiGKQBgiGDhViWAwyDABEbwS78agBFyRlqyfKccx9DaAQEBA" to Nothing
	Send Destroy to hoAppearance
	Set ComShowFocusRect to False
	Set ComSelBackColor to |CI$1a0a0a0
	Set ComSelForeColor to -1
	Set ComSelBackColorChild to -1
	Set ComSelForeColorChild to -1
	Send ComEndUpdate
End_Procedure
17
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child <b>1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to 100
				Send Destroy to hoNode1
				Variant voNode2
				Get ComAdd of hoNodes1 "Child <b>2" Nothing Nothing to voNode2
				Handle hoNode2
				Get Create (RefClass(cComNode)) to hoNode2
				Set pvComObject of hoNode2 to voNode2
					Set ComValue of hoNode2 to 101
				Send Destroy to hoNode2
			Send Destroy to hoNodes1
			Set ComSelected of hoNode to True
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Set ComLevelWidth 0 to 64
	Set ComLevelWidth 1 to 96
	Set ComLevelWidth 2 to 96
	Set ComHideSelection to OLEexHideAlways
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBIUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdSrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapMgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUIQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJDoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cwgkiIooloZgoiWD5zgCYIMhCFAEIC" to Nothing
	Send Destroy to hoAppearance
	Set ComBackground OLEexShowFocusRect to |CI$1000000
	Send ComEndUpdate
End_Procedure
16
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <font ;6><off 4>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <font ;6><off 4>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Set ComScrollBars to OLEexBoth
	Set ComScrollPartVisible OLEexVScroll OLEexExtentThumbPart to True
	Set ComScrollPartVisible OLEexHScroll OLEexExtentThumbPart to True
	Set ComScrollPartVisible |CI$2 OLEexExtentThumbPart to True
	Set ComScrollWidth to 4
	Set ComBackground OLEexVSBack to (RGB(240,240,240))
	Set ComBackground OLEexVSThumb to (RGB(128,128,128))
	Set ComScrollHeight to 4
	Set ComBackground OLEexHSBack to (ComBackground(Self,OLEexVSBack))
	Set ComBackground OLEexHSThumb to (ComBackground(Self,OLEexVSThumb))
	Set ComBackground OLEexScrollSizeGrip to (ComBackground(Self,OLEexVSBack))
	Send ComEndUpdate
End_Procedure
15
Does your control support Fit-To-Page, Print and Print-Preview

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Handle hoPrint
	Get Create (RefClass(cComPrint)) to hoPrint // Import the 'ExPrint 1.0 Control Library' library
		Set ComOptions of hoPrint to "FitToPage = 1x1"
		Set ComPrintExt of hoPrint to (pvComObject(Self))
		Send ComPreview of hoPrint
	Send Destroy to hoPrint
End_Procedure
14
How do I print the control
Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Handle hoPrint
	Get Create (RefClass(cComPrint)) to hoPrint // Import the 'ExPrint 1.0 Control Library' library
		Set ComPrintExt of hoPrint to (pvComObject(Self))
		Send ComPreview of hoPrint
	Send Destroy to hoPrint
End_Procedure
13
How can we can customize a context menu based on the node type

// Occurs when the user releases a mouse button.
Procedure OnComMouseUp Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseUp llButton llShift llX llY
	Showln "Node:" (ComNodeFromPoint(Self,llX,llY))
	Handle hoExContextMenu
	Get Create (RefClass(cComExContextMenu)) to hoExContextMenu // Import the 'ExContextMenu 1.0 Type Library' library
		Variant voItems
		Get ComItems of hoExContextMenu to voItems
		Handle hoItems
		Get Create (RefClass(cComItems)) to hoItems
		Set pvComObject of hoItems to voItems
			Set ComToString of hoItems to "Calendar[id=20][img=0],MSChart[id=30],Record[id=40],Slider[id=50],Radio 1[id=100][typ=2][edit=],Radio 2[id=101][typ=2][edit=],Radio 3[id=102][typ=2][edit=],ComboBox[id=90]"
		Send Destroy to hoItems
		Showln (ComSelect(hoExContextMenu,Nothing,Nothing,Nothing))
	Send Destroy to hoExContextMenu
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
12
How we can attach a customized editor, for example, a date-time picker dialog for a date-time attribute using eXMLGrid

// Fired the user editor is about to be opened.
Procedure OnComUserEditorClose Variant   llObject Variant   llNode
	Forward Send OnComUserEditorClose llObject llNode
	// Node.Value = Object.Value
End_Procedure

// Occurs when an user editor is about to be opened.
Procedure OnComUserEditorOpen Variant   llObject Variant   llNode
	Forward Send OnComUserEditorOpen llObject llNode
	// Object.Value = Node.Value
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComNodeHeight to 24
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Variant voEditor
		Get ComAdd of hoEditors "ExCalendarUserEditor" OLEUserEditorType to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Send ComUserEditor of hoEditor "ExCalendar.CalendarCombo" ""
Get ComUserEditorObject of hoEditor to Nothing			Send Destroy to hoEditor
		Send Destroy to hoEditors
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Date" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComEditor of hoNode to "ExCalendarUserEditor"
			Set ComValue of hoNode to "1/1/2001"
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
11
How can change the visual appearance of the expand/collapse buttons

Procedure OnCreate
	Forward Send OnCreate
	Send ComImages "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Variant voAppearance1
	Get ComVisualAppearance to voAppearance1
	Handle hoAppearance1
	Get Create (RefClass(cComAppearance)) to hoAppearance1
	Set pvComObject of hoAppearance1 to voAppearance1
		Get ComAdd of hoAppearance1 2 "c:\exontrol\images\pushed.ebn" to Nothing
	Send Destroy to hoAppearance1
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Set ComExpandBarVisible to True
	Set ComExpandButtons to OLEexCustom
	Set ComExpandButtonsCustom False to 1
	Set ComExpandButtonsCustom True to 2
	Set ComBackground OLEexExpandButtonDown to |CI$1808080
	Set ComBackground OLEexExpandButtonUp to |CI$1000000
	Set ComBackground OLEexExpandBarButtonDown to |CI$2808080
	Set ComBackground OLEexExpandBarButtonUp to |CI$2000000
	Set ComShowFocusRect to False
	Set ComSelBackColor to (RGB(0,0,0))
	Set ComSelBackColorChild to (ComSelBackColor(Self))
	Set ComSelForeColor to (RGB(255,255,255))
	Set ComSelForeColorChild to (ComSelForeColor(Self))
End_Procedure
10
How can change the visual appearance of the selected node

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
	Set ComShowFocusRect to False
	Set ComSelBackColor to (RGB(0,0,0))
	Set ComSelBackColorChild to (ComSelBackColor(Self))
	Set ComSelForeColor to (RGB(255,255,255))
	Set ComSelForeColorChild to (ComSelForeColor(Self))
End_Procedure
9
How can I select programatically a node

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <b>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComSelected of hoNode1 to True
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <b>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
End_Procedure
8
How can I expand all nodes

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
7
Does your control support subscript or superscript

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent <font ;6><off 4>1" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Variant voNode1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to voNode1
				Handle hoNode1
				Get Create (RefClass(cComNode)) to hoNode1
				Set pvComObject of hoNode1 to voNode1
					Set ComValue of hoNode1 to "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
				Send Destroy to hoNode1
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Send ComExpandAll of hoNode
		Send Destroy to hoNode
	Send Destroy to hoNodes
	Variant voNodes2
	Get ComNodes to voNodes2
	Handle hoNodes2
	Get Create (RefClass(cComNodes)) to hoNodes2
	Set pvComObject of hoNodes2 to voNodes2
		Variant voNode2
		Get ComAdd of hoNodes2 "Parent <font ;6><off 4>2" Nothing Nothing to voNode2
		Handle hoNode2
		Get Create (RefClass(cComNode)) to hoNode2
		Set pvComObject of hoNode2 to voNode2
			Variant voNodes3
			Get ComNodes of hoNode2 to voNodes3
			Handle hoNodes3
			Get Create (RefClass(cComNodes)) to hoNodes3
			Set pvComObject of hoNodes3 to voNodes3
				Get ComAdd of hoNodes3 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes3 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes3
		Send Destroy to hoNode2
	Send Destroy to hoNodes2
End_Procedure
6
How can I add a UserType editor ( ActiveX )

// Fired the user editor is about to be opened.
Procedure OnComUserEditorClose Variant   llObject Variant   llNode
	Forward Send OnComUserEditorClose llObject llNode
	// Node.Value = Object.Value
End_Procedure

// Occurs when an user editor is about to be opened.
Procedure OnComUserEditorOpen Variant   llObject Variant   llNode
	Forward Send OnComUserEditorOpen llObject llNode
	// Object.Value = Node.Value
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComNodeHeight to 24
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Variant voEditor
		Get ComAdd of hoEditors "ExComboUserEditor" OLEUserEditorType to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Send ComUserEditor of hoEditor "Exontrol.ComboBox" ""
			Variant voComboBox
			Get ComUserEditorObject of hoEditor to voComboBox
			Handle hoComboBox
			Get Create (RefClass(cComComboBox)) to hoComboBox
			Set pvComObject of hoComboBox to voComboBox
				Set ComMinHeightList of hoComboBox to 164
				Set ComMinWidthList of hoComboBox to 264
				Set ComAllowSizeGrip of hoComboBox to True
				Set ComIntegralHeight of hoComboBox to True
				Set ComAlignment of hoComboBox to OLELeftAlignment
				Set ComColumnAutoResize of hoComboBox to True
				Send ComBeginUpdate of hoComboBox
				Set ComMarkSearchColumn of hoComboBox to False
				Variant voColumns
				Get ComColumns of hoComboBox to voColumns
				Handle hoColumns
				Get Create (RefClass(cComColumns)) to hoColumns
				Set pvComObject of hoColumns to voColumns
					Variant voColumn
					Get ComAdd of hoColumns "Car" to voColumn
					Handle hoColumn
					Get Create (RefClass(cComColumn)) to hoColumn
					Set pvComObject of hoColumn to voColumn
						Set ComWidth of hoColumn to 32
						Set ComDisplayFilterButton of hoColumn to True
					Send Destroy to hoColumn
					Variant voColumn1
					Get ComAdd of hoColumns "Equipment" to voColumn1
					Handle hoColumn1
					Get Create (RefClass(cComColumn)) to hoColumn1
					Set pvComObject of hoColumn1 to voColumn1
						Set ComDisplayFilterButton of hoColumn1 to True
						Set ComDisplayFilterPattern of hoColumn1 to False
						Set ComCustomFilter of hoColumn1 to "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"
						Set ComFilterType of hoColumn1 to OLEexPattern
					Send Destroy to hoColumn1
				Send Destroy to hoColumns
				Variant voItems
				Get ComItems of hoComboBox to voItems
				Handle hoItems
				Get Create (RefClass(cComItems)) to hoItems
				Set pvComObject of hoItems to voItems
					Set ComCellCaption of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "Air Bag"
					Set ComCellCaption of hoItems (ComAddItem(hoItems,"Toyota")) 1 to "Air Bag,Air condition"
					Set ComCellCaption of hoItems (ComAddItem(hoItems,"Ford")) 1 to "Air condition"
					Set ComCellCaption of hoItems (ComAddItem(hoItems,"Nissan")) 1 to "Air Bag,ABS,ESP"
				Send Destroy to hoItems
				Send ComEndUpdate of hoComboBox
			Send Destroy to hoComboBox
		Send Destroy to hoEditor
	Send Destroy to hoEditors
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Car" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComEditor of hoNode to "ExComboUserEditor"
			Set ComValue of hoNode to "Mazda"
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
5
How can I load a XML file

Procedure OnCreate
	Forward Send OnCreate
	Get ComLoadXML "C:\Windows\Ultimate.xml" to Nothing
End_Procedure
4
How can I assign a tooltip to a node

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Title" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComValue of hoNode to "value"
			Set ComToolTip of hoNode to "This is a bit of <b>HTML</b> text to be shown when the cursor hovers the node."
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
3
How can I edit the node using a DateType editor

Procedure OnCreate
	Forward Send OnCreate
	Variant voEditors
	Get ComEditors to voEditors
	Handle hoEditors
	Get Create (RefClass(cComEditors)) to hoEditors
	Set pvComObject of hoEditors to voEditors
		Variant voEditor
		Get ComAdd of hoEditors "DateEditor" OLEDateType to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComOption of hoEditor OLEexDateMarkToday to True
		Send Destroy to hoEditor
	Send Destroy to hoEditors
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Date" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Set ComEditor of hoNode to "DateEditor"
			Set ComValue of hoNode to "1/1/2001"
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
2
How can I expand a node

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
			Set ComExpanded of hoNode to True
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure
1
How can I add a node

Procedure OnCreate
	Forward Send OnCreate
	Variant voNodes
	Get ComNodes to voNodes
	Handle hoNodes
	Get Create (RefClass(cComNodes)) to hoNodes
	Set pvComObject of hoNodes to voNodes
		Variant voNode
		Get ComAdd of hoNodes "Parent" Nothing Nothing to voNode
		Handle hoNode
		Get Create (RefClass(cComNode)) to hoNode
		Set pvComObject of hoNode to voNode
			Variant voNodes1
			Get ComNodes of hoNode to voNodes1
			Handle hoNodes1
			Get Create (RefClass(cComNodes)) to hoNodes1
			Set pvComObject of hoNodes1 to voNodes1
				Get ComAdd of hoNodes1 "Child 1" Nothing Nothing to Nothing
				Get ComAdd of hoNodes1 "Child 2" Nothing Nothing to Nothing
			Send Destroy to hoNodes1
		Send Destroy to hoNode
	Send Destroy to hoNodes
End_Procedure