52:
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 2)

METHOD OCX_Exontrol1SelectionChanged() CLASS MainDialog
	// SelectionChanged event - Fires when the user changes the selection.
	// SelectedNode(0).Editor = "edit"
RETURN NIL

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:Editors:Add("edit",EditType)
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Node:Picture := "pic1"
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
		var_Nodes:Add("Child <b>3",nil,nil):Value := 103
	var_Node:Expanded := true

51:
How can I specify a default editor

METHOD OCX_Exontrol1AddNode(NewNode) CLASS MainDialog
	// AddNode event - Occurs when a node is added to the nodes collection.
	// NewNode.Editor = "calc"
RETURN NIL


oDCOCX_Exontrol1:Editors:Add("calc",CalculatorType)
oDCOCX_Exontrol1:LoadXML("<numbers><first_number>100</first_number><second_number>200</second_number></numbers>")
oDCOCX_Exontrol1:ExpandAll()

50:
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 1)

METHOD OCX_Exontrol1AddNode(NewNode) CLASS MainDialog
	// AddNode event - Occurs when a node is added to the nodes collection.
	// NewNode.Editor = "edit"
RETURN NIL


oDCOCX_Exontrol1:SelForeColorChild := RGB(128,128,128)
oDCOCX_Exontrol1:Editors:Add("edit",EditType)
oDCOCX_Exontrol1:LoadXML("http://www.exontrol.net/testing.xml")
oDCOCX_Exontrol1:ExpandAll()

49:
How can I assign editors to nodes

local var_Editor,var_Editor1,var_Editor2 as IEditor
local var_Editors as IEditors
local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AllowDuplicateEntries := true
var_Editors := oDCOCX_Exontrol1:Editors
	var_Editor := var_Editors:Add("name",EditType)
		var_Editor:Appearance := EtchedApp
	var_Editor1 := var_Editors:Add("phone",MaskType)
		var_Editor1:Mask := "(###)-######"
		var_Editor1:Appearance := EtchedApp
	var_Editor2 := var_Editors:Add("date",DateType)
		var_Editor2:Appearance := EtchedApp
var_Node := oDCOCX_Exontrol1:Nodes:Add("Customer",nil,nil)
	var_Node:Picture := "mihai"
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Name","Mihai Filimon",nil):Editor := "name"
		var_Nodes:Add("Phone","(0744)-845287",nil):Editor := "phone"
		var_Nodes:Add("BirthDay",SToD("19711231"),nil):Editor := "date"
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 82
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1AddNode(NewNode) CLASS MainDialog
	// AddNode event - Occurs when a node is added to the nodes collection.
	// NewNode.Picture = LoadPicture("c:\exontrol\images\colorize.gif")
RETURN NIL

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
		var_Nodes:Add("Child <b>3",nil,nil):Value := 103
	var_Node:Expanded := true

47:
How can I assign a picture to a node ( method 3 )

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:[HTMLPicture,"pic1"] := "c:\exontrol\images\zipdisk.gif"
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Node:Picture := "pic1"
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
		var_Nodes:Add("Child <b>3",nil,nil):Value := 103
	var_Node:Expanded := true

46:
How can I save the control's content using a different version of XML DOM
local d as IXMLDOMDocument2

// Generate Source for 'Microsoft XML, v3.0(msxml3.dll)' server from Tools\Automation Server...
d := IXMLDOMDocument2{"Msxml2.DOMDocument.3.0"}
oDCOCX_Exontrol1:LoadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
oDCOCX_Exontrol1:SaveXML(d)
OutputDebugString(String2Psz( d:xml ))
oDCOCX_Exontrol1:ExpandAll()

45:
How can I load the control's content using a different version of XML DOM
local d as IXMLDOMDocument2

// Generate Source for 'Microsoft XML, v3.0(msxml3.dll)' server from Tools\Automation Server...
d := IXMLDOMDocument2{"Msxml2.DOMDocument.3.0"}
	d:async := false
	d:loadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
oDCOCX_Exontrol1:LoadXML(d)
oDCOCX_Exontrol1:ExpandAll()

44:
How can I get the XML string from the control's content
local var_Node,var_Node1,var_Node2 as INode
local d as IXMLDOMDocument2

// Generate Source for 'Microsoft XML, v3.0(msxml3.dll)' server from Tools\Automation Server...
d := IXMLDOMDocument2{"MSXML.DOMDocument"}
var_Node := oDCOCX_Exontrol1:Nodes:Add("Root",nil,nil)
	var_Node:Image := 1
	var_Node1 := var_Node:Nodes:Add("Child1",nil,nil)
		var_Node1:Image := 2
		var_Node1:Value := "Value <b>1"
	var_Node2 := var_Node:Nodes:Add("Child2",nil,nil)
		var_Node2:Image := 2
		var_Node2:Value := "Value <b>2"
oDCOCX_Exontrol1:ExpandAll()
oDCOCX_Exontrol1:ResizeToFit(0,nil)
oDCOCX_Exontrol1:SaveXML(d)
OutputDebugString(String2Psz( d:xml ))

43:
How can I load the control from a XML DOM object

local d as IXMLDOMDocument2
local var_IXMLDOMNamedNodeMap as IXMLDOMNamedNodeMap

// Generate Source for 'Microsoft XML, v3.0(msxml3.dll)' server from Tools\Automation Server...
d := IXMLDOMDocument2{"Msxml2.DOMDocument.3.0"}
	d:appendChild(d:createElement("Root"))
	var_IXMLDOMNamedNodeMap := IXMLDOMElement{d:childNodes:[item,0]}:attributes
		var_IXMLDOMNamedNodeMap:setNamedItem(d:createAttribute("Item-1"))
		IXMLDOMAttribute{var_IXMLDOMNamedNodeMap:[item,0]}:value := "value <b>1"
		var_IXMLDOMNamedNodeMap:setNamedItem(d:createAttribute("Item-2"))
		IXMLDOMAttribute{var_IXMLDOMNamedNodeMap:[item,1]}:value := "value <b>2"
oDCOCX_Exontrol1:LoadXML(d)
oDCOCX_Exontrol1:ExpandAll()
oDCOCX_Exontrol1:ResizeToFit(0,nil)
OutputDebugString(String2Psz( d:xml ))

42:
How can I load XML from http or URL


oDCOCX_Exontrol1:LoadXML("http://www.exontrol.net/testing.xml")
oDCOCX_Exontrol1:ExpandAll()

41:
How can I load XML from a supplied string


oDCOCX_Exontrol1:LoadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
oDCOCX_Exontrol1:ExpandAll()

40:
How do I programatically search for a node
local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
oDCOCX_Exontrol1:[Search,"Child 1",-1]:Selected := true

39:
How can I show the control's selection using your EBN technology

local var_Appearance as IAppearance
local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:Add(1,"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")
	var_Appearance:Add(2,"gBFLBCJwBAEHhEJAEGg4BFIDg6AADACAxRDAMgBQKAAzQFAYahsGCGAAGIYxUgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItSIrFqqaJma7ccgRDj4AY7Ua+czufBZbozOqDYzAey7TDWLRXFDNIzzTgQAyHHrETbHGqzFxMAEa5YGqYpVj2HwzDuQ5oHKIQgggSRAlIYw6B0ThGFGDIAFUDAhBMfZRiGNAkFECZnG4IQdneJwmnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMhZKEwA5jC6SIyEqfh0kuD4MjAAAwcwBw0iKDwjlKVozmyChPDSThyiMDxGk6awbB6XY1iwfQInkPg0GMEAADEdRDmcVovm8ex3FkPJrH0WJ5w4UAAkcMYMHOaxmjGTxNGcao1jWbYMkcAAMk2RJ7lycxMgMdpEHMTZMnuXBM7uMAOAG1jAED8HAQ47wGjDHgPwEI+RggcGOAmAAqxDj8DoHMTY3BUi7GWPOCAKg3jIBOEIXggBAEBA")
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SelBackColor := 0x1000000
oDCOCX_Exontrol1:SelForeColor := -1
oDCOCX_Exontrol1:SelBackColorCollapse := 0x2000000
oDCOCX_Exontrol1:SelBackColorChild := -1
oDCOCX_Exontrol1:SelForeColorChild := -1
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:Expanded := true
	var_Node:Selected := true
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child <b>1",nil,nil):Value := 103
		var_Nodes1:Add("Child <b>2",nil,nil):Value := 104
oDCOCX_Exontrol1:Nodes:Add("Parent 4",nil,nil)
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:[LevelWidth,0] := 96

38:
Is it possible to assing a picture to a node (method 2)

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:[HTMLPicture,"pic1"] := "c:\exontrol\images\zipdisk.gif"
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:[BackgroundExt,exExpandBackgroundExtState] := "left[18],client[text=`<img>pic1</img>`,align=0x20]"
	var_Node:Expanded := true
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child <b>1",nil,nil):Value := 103
		var_Nodes1:Add("Child <b>2",nil,nil):Value := 104
	var_Node1:[BackgroundExt,exExpandBackgroundExtState] := "left[18],client[text=`<img>pic1</img>`,align=0x20]"
	var_Node1:[BackgroundExt,exCollapseBackgroundExtState] := "right[4],client[text=`<img>pic1:19</img>`,align=0x12]"
oDCOCX_Exontrol1:Nodes:Add("Parent 4",nil,nil)
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:[LevelWidth,0] := 96

37:
Is it possible to assing a picture to a node (method 1)

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:[HTMLPicture,"pic1"] := "c:\exontrol\images\zipdisk.gif"
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	// Generate Source for 'OLE Automation(stdole2.tlb)' server from Tools\Automation Server... with the PREFIX std
	var_Node:Picture := oDCOCX_Exontrol1:[HTMLPicture,"pic1"]
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
		var_Nodes:Add("Child <b>3",nil,nil):Value := 103
	var_Node:Expanded := true
oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
oDCOCX_Exontrol1:EndUpdate()

36:
I get "The key already exists" when adding a new node. What can I do ( method 2 )
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Nodes := oDCOCX_Exontrol1:Nodes
	var_Nodes:Add("Item",nil,"Key1")
	var_Nodes:Add("Item",nil,"Key2")
	var_Nodes:Add("Item",nil,"Key3")
oDCOCX_Exontrol1:EndUpdate()

35:
I get "The key already exists" when adding a new node. What can I do ( method 1 )
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AllowDuplicateEntries := true
var_Nodes := oDCOCX_Exontrol1:Nodes
	var_Nodes:Add("Item",nil,nil)
	var_Nodes:Add("Item",nil,nil)
	var_Nodes:Add("Item",nil,nil)
oDCOCX_Exontrol1:EndUpdate()

34:
How can I mark the node only, without its child

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:[BackgroundExt,exExpandBackgroundExtState] := "top[20,frame=RGB(0,0,0),framethick]"
	var_Node:[BackgroundExt,exCollapseBackgroundExtState] := var_Node:[BackgroundExt,exExpandBackgroundExtState]
	var_Node:Expanded := true
oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
oDCOCX_Exontrol1:EndUpdate()

33:
How can I mark the entire node

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:Nodes:Add("Parent 1",nil,nil)
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent 2",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:[BackgroundExt,exExpandBackgroundExtState] := "[frame=RGB(0,0,0),framethick]"
	var_Node:[BackgroundExt,exCollapseBackgroundExtState] := var_Node:[BackgroundExt,exExpandBackgroundExtState]
	var_Node:Expanded := true
oDCOCX_Exontrol1:Nodes:Add("Parent 3",nil,nil)
oDCOCX_Exontrol1:EndUpdate()

32:
How can I specify aditional information for a node, when it is expanded

local var_Node,var_Node1 as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Node1 := var_Nodes:Add("Child <b>1",nil,nil)
			var_Node1:Value := 100
			var_Node1:[BackgroundExt,exCollapseBackgroundExtState] := "top[2],bottom[2],left[2],right[2],client[pattern=6,frame]"
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:[BackgroundExt,exExpandBackgroundExtState] := "top[4],bottom[4],left[17],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x20]"
	var_Node:[BackgroundExt,exCollapseBackgroundExtState] := "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
	var_Node:Expanded := true
oDCOCX_Exontrol1:ResizeToFit(0,nil)
oDCOCX_Exontrol1:EndUpdate()

31:
Is it possible to show aditional information for a node

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AlignChildContent := true
oDCOCX_Exontrol1:SelBackMode := exTransparent
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 102
	var_Node:[BackgroundExt,exExpandBackgroundExtState] := "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
	var_Node:[BackgroundExt,exCollapseBackgroundExtState] := var_Node:[BackgroundExt,exExpandBackgroundExtState]
	var_Node:Expanded := true
oDCOCX_Exontrol1:ResizeToFit(0,nil)
oDCOCX_Exontrol1:EndUpdate()

30:
How can I hide the expanding bars under each parent node (method 2)

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:[Background,exExpandButtonUp] := -1
oDCOCX_Exontrol1:[Background,exExpandButtonDown] := -1
oDCOCX_Exontrol1:AlignChildContent := true
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Node1 := var_Nodes:Add("Child <b>2",nil,nil)
			var_Nodes1 := var_Node1:Nodes
				var_Nodes1:Add("Sub Child <b>2.1",nil,nil):Value := 101
				var_Node2 := var_Nodes1:Add("Sub Child <b>2.2",nil,nil)
					var_Nodes2 := var_Node2:Nodes
						var_Nodes2:Add("Sub Child <b>2.1.1",nil,nil):Value := 101
						var_Nodes2:Add("Sub Child <b>2.2.2",nil,nil):Value := 102
					var_Node2:Expanded := false
			var_Node1:Expanded := true
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:EndUpdate()

29:
How can I align the child nodes

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:AlignChildContent := true
var_Nodes := oDCOCX_Exontrol1:Nodes
	var_Nodes:Add("Parent A",nil,nil):Value := 100
	var_Node := var_Nodes:Add("Parent B",nil,nil)
		var_Nodes1 := var_Node:Nodes
			var_Nodes1:Add("Child<font ;6><off -4><b>1",nil,nil):Value := 101
			var_Nodes1:Add("Child<font ;6><off -4><b>2",nil,nil):Value := 102
			var_Node1 := var_Nodes1:Add("Child<font ;6><off -4><b>3",nil,nil)
				var_Nodes2 := var_Node1:Nodes
					var_Nodes2:Add("Node<font ;6><off -4><b>1",nil,nil):Value := 103
					var_Nodes2:Add("Node<font ;6><off -4><b>2",nil,nil):Value := 104
		var_Node:Expanded := true
		var_Node:Selected := true

28:
How do I change the control's visual appearance using the UI Visual Designer
local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AllowDuplicateEntries := true
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:GridLinesColor := RGB(128,128,128)
var_Nodes := oDCOCX_Exontrol1:Nodes
	var_Node := var_Nodes:Add("Parent A",nil,nil)
		var_Nodes1 := var_Node:Nodes
			var_Nodes1:Add("Child<font ;6><off -4><b>1",nil,nil):Value := 100
			var_Nodes1:Add("Child<font ;6><off -4><b>2",nil,nil):Value := 101
			var_Node1 := var_Nodes1:Add("Child<font ;6><off -4><b>3",nil,nil)
				var_Nodes2 := var_Node1:Nodes
					var_Nodes2:Add("Node<font ;6><off -4><b>1",nil,nil):Value := 102
					var_Nodes2:Add("Node<font ;6><off -4><b>2",nil,nil):Value := 103
		var_Node:Expanded := true
		var_Node:Selected := true
	var_Nodes:Add("Parent B",nil,nil):Nodes:Add(AsString(1),nil,nil)
oDCOCX_Exontrol1:[LevelWidth,0] := 96
oDCOCX_Exontrol1:VisualDesign := "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"
oDCOCX_Exontrol1:EndUpdate()

27:
How do I specify to search for name of the nodes only, when the user filters the control

local var_Node as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child<font ;6><off -4><b>1",nil,nil):Value := 100
		var_Nodes:Add("Child<font ;6><off -4><b>2",nil,nil):Value := 101
		var_Nodes1 := var_Nodes:Add("Child<font ;6><off -4><b>3",nil,nil):Nodes
			var_Nodes1:Add("Node<font ;6><off -4><b>1",nil,nil):Value := 102
			var_Nodes1:Add("Node<font ;6><off -4><b>2",nil,nil):Value := 103
	var_Node:Expanded := true
oDCOCX_Exontrol1:AutoSearch := exContains
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptApplyOnName | exFilterPromptStartWith
oDCOCX_Exontrol1:FilterBarPromptPattern := "No"
oDCOCX_Exontrol1:EndUpdate()

26:
Is it possible to include child-nodes, when do filtering

local var_Node as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible
oDCOCX_Exontrol1:HideSelection := exHideAlways
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child<font ;6><off -4><b>1",nil,nil):Value := 100
		var_Nodes:Add("Child<font ;6><off -4><b>2",nil,nil):Value := 101
		var_Nodes1 := var_Nodes:Add("Child<font ;6><off -4><b>3",nil,nil):Nodes
			var_Nodes1:Add("Node<font ;6><off -4><b>1",nil,nil):Value := 102
			var_Nodes1:Add("Node<font ;6><off -4><b>2",nil,nil):Value := 103
	var_Node:Expanded := true
oDCOCX_Exontrol1:AutoSearch := exAnyContains
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptIncludeChild | exFilterPromptApplyOnValue | exFilterPromptApplyOnName | exFilterPromptContainsAny
oDCOCX_Exontrol1:FilterBarPromptPattern := "Child3"
oDCOCX_Exontrol1:EndUpdate()

25:
How can I change the control's filtering so it searches for Contains rather than Start

local var_Node as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child<font ;6><off -4><b>1",nil,nil):Value := 100
		var_Nodes:Add("Child<font ;6><off -4><b>2",nil,nil):Value := 101
		var_Nodes1 := var_Nodes:Add("Child<font ;6><off -4><b>3",nil,nil):Nodes
			var_Nodes1:Add("Node<font ;6><off -4><b>1",nil,nil):Value := 102
			var_Nodes1:Add("Node<font ;6><off -4><b>2",nil,nil):Value := 103
	var_Node:Expanded := true
oDCOCX_Exontrol1:AutoSearch := exAnyContains
oDCOCX_Exontrol1:FilterBarPromptType := exFilterPromptApplyOnValue | exFilterPromptApplyOnName | exFilterPromptContainsAny
oDCOCX_Exontrol1:FilterBarPromptPattern := "Child3"
oDCOCX_Exontrol1:EndUpdate()

24:
How do I enable the control's filtering support

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:FilterBarPromptVisible := exFilterBarVisible
oDCOCX_Exontrol1:HideSelection := exHideAlways
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 101
		var_Nodes:Add("Child <b>3",nil,nil):Value := 102
	var_Node:Expanded := true
oDCOCX_Exontrol1:EndUpdate()

23:
How can I hide the expanding bars under each parent node (method 1)

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlBkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0OwIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==")
oDCOCX_Exontrol1:VisualAppearance:Add(2,"gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUCQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgchAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI")
oDCOCX_Exontrol1:VisualAppearance:Add(3,"gBFLBCJwBAEHhEJAAChABa8GACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIzkKJpAAiCRQGiYZyHKcxMYgQrAZBEbKMLwrAYUIRCCaofAAGIaRDIcZPXQjZSMdSkHRpKi6Mo2TpPUpSDpUM6VCL3KhqKxXeq1cp2XpfWBYNhVbTafyyaiqKiSWy0EQRBSDXBcNxXHalazhNpCbTSWoqLrhRzDMCwC6rUwCeYJQzCcLxLCcMwjA5/MDeFLXCwjBJ+W5aFhzBYsbx1NKcZ7nWgaAqOKp/OKnECuBh2EYNMywK5rew7BqTf5tW7ZNx2TYNMYPKiDajcDJMOwqWpUVDjOQ4fidXzfSbPcrxfBsLp/FOKhmDKGQKHUGoFEiIRPCiE5pl8ChzhuNpyHgU49mSdxtEOWBkCCNRdGQExBhyTRQCcExeG+X5zneeAmh8Uw1nEIIfDMUJSDQSYyGCFR/GCR5yAkJRgGMRgDHyTYjGSVgmgkchSAoJJhhIRIXCSSQXm4H4HgkQhGBuBgJEgVJWgSVJSAYLg4E2Yx2BuAhJGIcIYCWIxHm4NINiOCJeBuDANliOIBFOJAjhiZQ5AkMhAg6BhJCgbgbH6ZJiFYHAlAkKQkg6EYOEkCRLFTQw4m0OwIlIJIHCRVAshGGRmHmGhohqZoiC4ZAimYEgeF4OwkCUSRUFwZw5mYX4eg6SZyH6HpoAOMRxFUFRihKBgglaVZagqIpXCWNoGCkFRkAQgI")
oDCOCX_Exontrol1:HideSelection := exHideAlways
oDCOCX_Exontrol1:ExpandButtons := exCustom
oDCOCX_Exontrol1:[ExpandButtonsCustom,true] := 16777216
oDCOCX_Exontrol1:[ExpandButtonsCustom,false] := 33554432
oDCOCX_Exontrol1:[Background,exExpandButtonUp] := 0x3000000
oDCOCX_Exontrol1:[Background,exExpandButtonDown] := 0x3000000
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Node1 := var_Nodes:Add("Child <b>2",nil,nil)
			var_Nodes1 := var_Node1:Nodes
				var_Nodes1:Add("Sub Child <b>2.1",nil,nil):Value := 101
				var_Node2 := var_Nodes1:Add("Sub Child <b>2.2",nil,nil)
					var_Nodes2 := var_Node2:Nodes
						var_Nodes2:Add("Sub Child <b>2.1.1",nil,nil):Value := 101
						var_Nodes2:Add("Sub Child <b>2.2.2",nil,nil):Value := 102
					var_Node2:Expanded := false
			var_Node1:Expanded := true
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:EndUpdate()

22:
How can I change the visual appearance for expand/collapse buttons

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlBkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0OwIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==")
oDCOCX_Exontrol1:VisualAppearance:Add(2,"gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUCQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgchAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI")
oDCOCX_Exontrol1:HideSelection := exHideAlways
oDCOCX_Exontrol1:ExpandButtons := exCustom
oDCOCX_Exontrol1:[ExpandButtonsCustom,true] := 16777216
oDCOCX_Exontrol1:[ExpandButtonsCustom,false] := 33554432
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Node1 := var_Nodes:Add("Child <b>2",nil,nil)
			var_Nodes1 := var_Node1:Nodes
				var_Nodes1:Add("Sub Child <b>2.1",nil,nil):Value := 101
				var_Node2 := var_Nodes1:Add("Sub Child <b>2.2",nil,nil)
					var_Nodes2 := var_Node2:Nodes
						var_Nodes2:Add("Sub Child <b>2.1.1",nil,nil):Value := 101
						var_Nodes2:Add("Sub Child <b>2.2.2",nil,nil):Value := 102
					var_Node2:Expanded := false
			var_Node1:Expanded := true
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:EndUpdate()

21:
Does your control support transparent selection

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1,var_Nodes2 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SelBackMode := exTransparent
oDCOCX_Exontrol1:SelBackColorChild := oDCOCX_Exontrol1:SelBackColor
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Node1 := var_Nodes:Add("Child <b>2",nil,nil)
			var_Nodes1 := var_Node1:Nodes
				var_Nodes1:Add("Sub Child <b>2.1",nil,nil):Value := 101
				var_Node2 := var_Nodes1:Add("Sub Child <b>2.2",nil,nil)
					var_Nodes2 := var_Node2:Nodes
						var_Nodes2:Add("Sub Child <b>2.1.1",nil,nil):Value := 101
						var_Nodes2:Add("Sub Child <b>2.2.2",nil,nil):Value := 102
					var_Node2:Expanded := true
			var_Node1:Expanded := true
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:EndUpdate()

20:
How can I show the selection with some transparent marker

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AllowDuplicateEntries := true
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 101
	var_Node:Selected := true
	var_Node:Expanded := true
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes1:Add("Child <b>2",nil,nil):Value := 101
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBIUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdSrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapMgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUIQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJDoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cwgkiIooloZgoiWD5zgCYIMhCFAEIC")
oDCOCX_Exontrol1:SelBackColor := 0x1000000
oDCOCX_Exontrol1:SelForeColor := -1
oDCOCX_Exontrol1:SelBackColorChild := -1
oDCOCX_Exontrol1:SelForeColorChild := -1
oDCOCX_Exontrol1:EndUpdate()

19:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 3)

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 101
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABGYDg6AADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjAIoBQ4GACJBmKKodgONYYTLFYCwTJETw5FKEZTEWQBTjGOY5TbNcgUPCMex7IiVJYpOK6ThqTYfQjLUBvfTgAS4f6Laaneg4JDOUYtTjIADRWBMeSxAatK6rWr7BqOYoDUJZcQyDIcNzXAa9aLjO5wAiWPp4VJZM54FKVEzfQSrZqoDIrEgOZpBYjMdSgADFXQGDbHbhuS5IWwTBpQZhaGZQTb+mZtZ7oMI6HTuSztW7EMLAC6bJx7LoDazoGKSDo0TZRXLNYqzPIdf4OVq4YTxVi2PZGnmLJfGwOY8m2NhTAmPJcmAZBbmiDo3DuW4ZEgAQQhKAYkkYdA6hyDIjBkAIqBgQgmn0YxRFgGIjF8CRwhOB4ZAkPQdFYMRfCsYICFYCgkEkEhCA0JDeEICglgqYo0i4XQMEgZI9gaToYHSb4Hk6Y4+CGB5hlOJgbC8TBoiQAArgqco4muC5OkOMJtguYxIlYMg7GME4uC0K4AAKKg+DwJADiCZw5k6KQWEaEYOHkChADwI5izIKwKjKzQ8E8A4iFaEYOjOMgvhEZRjiIVA8CUEouE9SRJEycoWCMCJmFvUAzkYZArAACAgi0PInEkGhauKCYsmqHQPCmSAAgsSp5lCc4dg6WgUm6DkQhicw8g8OiDiwKQDk6EoNCgU40m6JZpFiUoSDyaQCokLIqAobh3iWKRogaB4MmWKhsjMLJLCAAorCyagokYIoImsM46DEOwPEoSovABZR0nSL5pFgfgfhALAqFaPw9CuUrgC2CxSlidQ9E8SoSkSEpsZXj5LFsNAAC2bZLDydYwiaW4GFOMIPGsPpcC2QACmSOQuA8a42EvYoZnKcVsAOPJwD0bpSmKagAAuO52m0PYsCmcoLkCLhLjSOwuguIAAjyQpvnkLobkOaQpC6f5CkuQAAj6BpPHwZwCkQKYzkqcQ9k8Y5cj2RejH8JpGE8eZykeSprnmcwoC+TADAAAJMEwA5jDaSoyksHh8rmDLgDBzoHDyJIPCOUpejWbQKG8PJQHMIwPE6UJrhsPpljeLJ9CieQ+DSYwQAAMR1kOZxejGb57hcYQ8mufR4nmVwMFAAJHDGDBzmsbozk8TYHHKN42G2LJHAADJNmSe5enOTIjH6Rhzk2Nke4vBMt8GAHADY5wbgUD8HEQ47wOjHHiPwMI+RigcGOAmAorgjj8EIHMTY3B0i7GePQDoBwdBvGSCcIQ6BACAIC")
oDCOCX_Exontrol1:SelBackColor := 0x1000000
oDCOCX_Exontrol1:SelForeColor := -1
oDCOCX_Exontrol1:SelBackColorChild := -1
oDCOCX_Exontrol1:SelForeColorChild := -1
oDCOCX_Exontrol1:EndUpdate()

18:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 2)

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 101
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABJUIQAAYAQGKIaBoAKBQAGaAoDDQMw1QwAAwjSK0EwsACEIrjKCRShyCYZRhGcTSAAUEhiGKQBgiGDhViWAwyDABEbwS78agBFyRlqyfKccx9DaAQEBA")
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SelBackColor := 0x1a0a0a0
oDCOCX_Exontrol1:SelForeColor := -1
oDCOCX_Exontrol1:SelBackColorChild := -1
oDCOCX_Exontrol1:SelForeColorChild := -1
oDCOCX_Exontrol1:EndUpdate()

17:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 1)

local var_Node as INode
local var_Nodes as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child <b>1",nil,nil):Value := 100
		var_Nodes:Add("Child <b>2",nil,nil):Value := 101
	var_Node:Selected := true
	var_Node:Expanded := true
oDCOCX_Exontrol1:[LevelWidth,0] := 64
oDCOCX_Exontrol1:[LevelWidth,1] := 96
oDCOCX_Exontrol1:[LevelWidth,2] := 96
oDCOCX_Exontrol1:HideSelection := exHideAlways
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBIUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdSrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapMgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUIQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJDoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cwgkiIooloZgoiWD5zgCYIMhCFAEIC")
oDCOCX_Exontrol1:[Background,exShowFocusRect] := 0x1000000
oDCOCX_Exontrol1:EndUpdate()

16:
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:BeginUpdate()
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <font ;6><off 4>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Node1 := var_Nodes:Add("Child 1",nil,nil)
			var_Node1:Value := "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Nodes1 := oDCOCX_Exontrol1:Nodes:Add("Parent <font ;6><off 4>2",nil,nil):Nodes
	var_Nodes1:Add("Child 1",nil,nil)
	var_Nodes1:Add("Child 2",nil,nil)
oDCOCX_Exontrol1:ScrollBars := exBoth
oDCOCX_Exontrol1:[ScrollPartVisible,exVScroll,exExtentThumbPart] := true
oDCOCX_Exontrol1:[ScrollPartVisible,exHScroll,exExtentThumbPart] := true
oDCOCX_Exontrol1:[ScrollPartVisible,0x2 | ,exExtentThumbPart] := true
oDCOCX_Exontrol1:ScrollWidth := 4
oDCOCX_Exontrol1:[Background,exVSBack] := RGB(240,240,240)
oDCOCX_Exontrol1:[Background,exVSThumb] := RGB(128,128,128)
oDCOCX_Exontrol1:ScrollHeight := 4
oDCOCX_Exontrol1:[Background,exHSBack] := oDCOCX_Exontrol1:[Background,exVSBack]
oDCOCX_Exontrol1:[Background,exHSThumb] := oDCOCX_Exontrol1:[Background,exVSThumb]
oDCOCX_Exontrol1:[Background,exScrollSizeGrip] := oDCOCX_Exontrol1:[Background,exVSBack]
oDCOCX_Exontrol1:EndUpdate()

15:
Does your control support Fit-To-Page, Print and Print-Preview

local var_Print as IExPrint
local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <b>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil):Selected := true
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent <b>2",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child 1",nil,nil)
		var_Nodes1:Add("Child 2",nil,nil)
// Generate Source for 'ExPrint 1.0 Control Library(ExPrint.dll)' server from Tools\Automation Server...
var_Print := IExPrint{"Exontrol.Print"}
	var_Print:Options := "FitToPage = 1x1"
	var_Print:PrintExt := oDCOCX_Exontrol1
	var_Print:Preview()

14:
How do I print the control
local var_Print as IExPrint
local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <b>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil):Selected := true
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent <b>2",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child 1",nil,nil)
		var_Nodes1:Add("Child 2",nil,nil)
// Generate Source for 'ExPrint 1.0 Control Library(ExPrint.dll)' server from Tools\Automation Server...
var_Print := IExPrint{"Exontrol.Print"}
	var_Print:PrintExt := oDCOCX_Exontrol1
	var_Print:Preview()

13:
How can we can customize a context menu based on the node type

METHOD OCX_Exontrol1MouseUp(Button,Shift,X,Y) CLASS MainDialog
	// MouseUp event - Occurs when the user releases a mouse button.
	local var_ExContextMenu as IExContextMenu
	OutputDebugString(String2Psz( "Node:" ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:[NodeFromPoint,X,Y]) ))
	// Generate Source for 'ExContextMenu 1.0 Type Library(ExContextMenu.dll)' server from Tools\Automation Server...
	var_ExContextMenu := IExContextMenu{"Exontrol.ContextMenu"}
		var_ExContextMenu:Items:ToString := "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]"
		OutputDebugString(String2Psz( AsString(var_ExContextMenu:Select(nil,nil,nil)) ))
RETURN NIL

local var_Node as INode
local var_Nodes as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil)
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:Expanded := true

12:
How we can attach a customized editor, for example, a date-time picker dialog for a date-time attribute using eXMLGrid

METHOD OCX_Exontrol1UserEditorClose(Object,Node) CLASS MainDialog
	// UserEditorClose event - Fired the user editor is about to be opened.
	// Node.Value = Object.Value
RETURN NIL

METHOD OCX_Exontrol1UserEditorOpen(Object,Node) CLASS MainDialog
	// UserEditorOpen event - Occurs when an user editor is about to be opened.
	// Object.Value = Node.Value
RETURN NIL

local var_CalendarCombo as ICalendarCombo
local var_Editor as IEditor
local var_Editors as IEditors
local var_Node as INode

oDCOCX_Exontrol1:NodeHeight := 24
var_Editors := oDCOCX_Exontrol1:Editors
	var_Editor := var_Editors:Add("ExCalendarUserEditor",UserEditorType)
		var_Editor:UserEditor("ExCalendar.CalendarCombo","")
		// Generate Source for 'ExCalendar 1.0 Control Library(ExCalendar.dll)' server from Tools\Automation Server...
		var_CalendarCombo := ICalendarCombo{var_Editor:UserEditorObject}
var_Node := oDCOCX_Exontrol1:Nodes:Add("Date",nil,nil)
	var_Node:Editor := "ExCalendarUserEditor"
	var_Node:Value := SToD("20010101")

11:
How can change the visual appearance of the expand/collapse buttons

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1 as INodes

oDCOCX_Exontrol1:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oDCOCX_Exontrol1:VisualAppearance:Add(1,"c:\exontrol\images\normal.ebn")
oDCOCX_Exontrol1:VisualAppearance:Add(2,"c:\exontrol\images\pushed.ebn")
var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <b>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Node1 := var_Nodes:Add("Child 1",nil,nil)
			var_Node1:Value := "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
			var_Node1:Selected := true
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Node2 := oDCOCX_Exontrol1:Nodes:Add("Parent <b>2",nil,nil)
	var_Nodes1 := var_Node2:Nodes
		var_Nodes1:Add("Child 1",nil,nil)
		var_Nodes1:Add("Child 2",nil,nil)
oDCOCX_Exontrol1:ExpandBarVisible := true
oDCOCX_Exontrol1:ExpandButtons := exCustom
oDCOCX_Exontrol1:[ExpandButtonsCustom,false] := 1
oDCOCX_Exontrol1:[ExpandButtonsCustom,true] := 2
oDCOCX_Exontrol1:[Background,exExpandButtonDown] := 0x1808080
oDCOCX_Exontrol1:[Background,exExpandButtonUp] := 0x1000000
oDCOCX_Exontrol1:[Background,exExpandBarButtonDown] := 0x2808080
oDCOCX_Exontrol1:[Background,exExpandBarButtonUp] := 0x2000000
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SelBackColor := RGB(0,0,0)
oDCOCX_Exontrol1:SelBackColorChild := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:SelForeColor := RGB(255,255,255)
oDCOCX_Exontrol1:SelForeColorChild := oDCOCX_Exontrol1:SelForeColor

10:
How can change the visual appearance of the selected node

local var_Node,var_Node1,var_Node2 as INode
local var_Nodes,var_Nodes1 as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <b>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Node1 := var_Nodes:Add("Child 1",nil,nil)
			var_Node1:Value := "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
			var_Node1:Selected := true
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Node2 := oDCOCX_Exontrol1:Nodes:Add("Parent <b>2",nil,nil)
	var_Nodes1 := var_Node2:Nodes
		var_Nodes1:Add("Child 1",nil,nil)
		var_Nodes1:Add("Child 2",nil,nil)
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:SelBackColor := RGB(0,0,0)
oDCOCX_Exontrol1:SelBackColorChild := oDCOCX_Exontrol1:SelBackColor
oDCOCX_Exontrol1:SelForeColor := RGB(255,255,255)
oDCOCX_Exontrol1:SelForeColorChild := oDCOCX_Exontrol1:SelForeColor

9:
How can I select programatically a node

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <b>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil):Selected := true
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Node1 := oDCOCX_Exontrol1:Nodes:Add("Parent <b>2",nil,nil)
	var_Nodes1 := var_Node1:Nodes
		var_Nodes1:Add("Child 1",nil,nil)
		var_Nodes1:Add("Child 2",nil,nil)

8:
How can I expand all nodes

local var_Node as INode
local var_Nodes as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil)
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()

7:
Does your control support subscript or superscript

local var_Node,var_Node1 as INode
local var_Nodes,var_Nodes1 as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent <font ;6><off 4>1",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Node1 := var_Nodes:Add("Child 1",nil,nil)
			var_Node1:Value := "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:ExpandAll()
var_Nodes1 := oDCOCX_Exontrol1:Nodes:Add("Parent <font ;6><off 4>2",nil,nil):Nodes
	var_Nodes1:Add("Child 1",nil,nil)
	var_Nodes1:Add("Child 2",nil,nil)

6:
How can I add a UserType editor ( ActiveX )

METHOD OCX_Exontrol1UserEditorClose(Object,Node) CLASS MainDialog
	// UserEditorClose event - Fired the user editor is about to be opened.
	// Node.Value = Object.Value
RETURN NIL

METHOD OCX_Exontrol1UserEditorOpen(Object,Node) CLASS MainDialog
	// UserEditorOpen event - Occurs when an user editor is about to be opened.
	// Object.Value = Node.Value
RETURN NIL

local var_Column,var_Column1 as IColumn
local var_Columns as IColumns
local var_ComboBox as IComboBox
local var_Editor as IEditor
local var_Editors as IEditors
local var_Items as IItems
local var_Node as INode

oDCOCX_Exontrol1:NodeHeight := 24
var_Editors := oDCOCX_Exontrol1:Editors
	var_Editor := var_Editors:Add("ExComboUserEditor",UserEditorType)
		var_Editor:UserEditor("Exontrol.ComboBox","")
		// Generate Source for 'ExComboBox 1.0 Control Library(ExComboBox.dll)' server from Tools\Automation Server...
		var_ComboBox := IComboBox{var_Editor:UserEditorObject}
			var_ComboBox:MinHeightList := 164
			var_ComboBox:MinWidthList := 264
			var_ComboBox:AllowSizeGrip := true
			var_ComboBox:IntegralHeight := true
			var_ComboBox:Alignment := 0
			var_ComboBox:ColumnAutoResize := true
			var_ComboBox:BeginUpdate()
			var_ComboBox:MarkSearchColumn := false
			var_Columns := var_ComboBox:Columns
				var_Column := IColumn{var_Columns:Add("Car")}
					var_Column:Width := 32
					var_Column:DisplayFilterButton := true
				var_Column1 := IColumn{var_Columns:Add("Equipment")}
					var_Column1:DisplayFilterButton := true
					var_Column1:DisplayFilterPattern := false
					var_Column1:CustomFilter := "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"
					var_Column1:FilterType := 3
			var_Items := var_ComboBox:Items
				var_Items:[CellCaption,var_Items:AddItem("Mazda"),1] := "Air Bag"
				var_Items:[CellCaption,var_Items:AddItem("Toyota"),1] := "Air Bag,Air condition"
				var_Items:[CellCaption,var_Items:AddItem("Ford"),1] := "Air condition"
				var_Items:[CellCaption,var_Items:AddItem("Nissan"),1] := "Air Bag,ABS,ESP"
			var_ComboBox:EndUpdate()
var_Node := oDCOCX_Exontrol1:Nodes:Add("Car",nil,nil)
	var_Node:Editor := "ExComboUserEditor"
	var_Node:Value := "Mazda"

5:
How can I load a XML file


oDCOCX_Exontrol1:LoadXML("C:\Windows\Ultimate.xml")

4:
How can I assign a tooltip to a node

local var_Node as INode

var_Node := oDCOCX_Exontrol1:Nodes:Add("Title",nil,nil)
	var_Node:Value := "value"
	var_Node:ToolTip := "This is a bit of <b>HTML</b> text to be shown when the cursor hovers the node."

3:
How can I edit the node using a DateType editor

local var_Editor as IEditor
local var_Editors as IEditors
local var_Node as INode

var_Editors := oDCOCX_Exontrol1:Editors
	var_Editor := var_Editors:Add("DateEditor",DateType)
		var_Editor:[Option,exDateMarkToday] := true
var_Node := oDCOCX_Exontrol1:Nodes:Add("Date",nil,nil)
	var_Node:Editor := "DateEditor"
	var_Node:Value := SToD("20010101")

2:
How can I expand a node

local var_Node as INode
local var_Nodes as INodes

var_Node := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil)
	var_Nodes := var_Node:Nodes
		var_Nodes:Add("Child 1",nil,nil)
		var_Nodes:Add("Child 2",nil,nil)
	var_Node:Expanded := true

1:
How can I add a node

local var_Nodes as INodes

var_Nodes := oDCOCX_Exontrol1:Nodes:Add("Parent",nil,nil):Nodes
	var_Nodes:Add("Child 1",nil,nil)
	var_Nodes:Add("Child 2",nil,nil)