724
Highlight the match once the filter is applied

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Notifies your application that the filter is changed.
function nativeObject_FilterChange()
	local format
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	format = oTree.FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oTree.FilterBarPromptPattern)
	oTree.Columns.Item(0).FormatColumn = Str(format)
	oTree.Columns.Item(1).FormatColumn = Str(format)
	oTree.Columns.Item(2).FormatColumn = Str(format)
return

local h0,oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.SelBackColor = oTree.BackColor
oTree.SelForeColor = oTree.ForeColor
oTree.ColumnAutoResize = true
oTree.ContinueColumnScroll = false
oTree.MarkSearchColumn = false
oTree.SearchColumnIndex = 1
oTree.HeaderAppearance = 4
oTree.HeaderHeight = 23
oTree.BackColorLevelHeader = oTree.BackColor
oTree.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oTree.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oTree.FilterBarBackColor = oTree.BackColor
oTree.FilterBarPromptPattern = "and"
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Name")
		// var_Column.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(17) = 1]
		endwith
		var_Column.FormatColumn = "lower(value)"
	var_Column1 = var_Columns.Add("Title")
		// var_Column1.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(17) = 1]
		endwith
		var_Column1.FormatColumn = "lower(value)"
	var_Column2 = var_Columns.Add("City")
		// var_Column2.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(17) = 1]
		endwith
		var_Column2.FormatColumn = "lower(value)"
var_Items = oTree.Items
	h0 = var_Items.AddItem("Nancy Davolio")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Seattle"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Seattle"]
	endwith
	h0 = var_Items.AddItem("Andrew Fuller")
	// var_Items.CellCaption(h0,1) = "Vice President, Sales"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Vice President, Sales"]
	endwith
	// var_Items.CellCaption(h0,2) = "Tacoma"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Tacoma"]
	endwith
	// var_Items.SelectItem(h0) = true
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.SelectItem(h0) = 1]
	endwith
	h0 = var_Items.AddItem("Janet Leverling")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Kirkland"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Kirkland"]
	endwith
	h0 = var_Items.AddItem("Margaret Peacock")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Redmond"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Redmond"]
	endwith
	h0 = var_Items.AddItem("Steven Buchanan")
	// var_Items.CellCaption(h0,1) = "Sales Manager"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Manager"]
	endwith
	// var_Items.CellCaption(h0,2) = "London"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Michael Suyama")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "London"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Robert King")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "London"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Laura Callahan")
	// var_Items.CellCaption(h0,1) = "Inside Sales Coordinator"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Inside Sales Coordinator"]
	endwith
	// var_Items.CellCaption(h0,2) = "Seattle"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Seattle"]
	endwith
	h0 = var_Items.AddItem("Anne Dodsworth")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "London"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "London"]
	endwith
oTree.EndUpdate()

723
ADOR, MDB (JET)

local oTree,rs

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.ColumnAutoResize = false
oTree.ContinueColumnScroll = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb",3,3)
oTree.DataSource = rs

722
Re-order the cell's caption, icons and images/pictures

local h,oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDcD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB")
var_Column = oTree.Columns.Add("ToLeft")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
var_Column1 = oTree.Columns.Add("ToRight")
	// var_Column1.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
	// var_Column1.Def(34) = "caption,picture,icons,icon,check"
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(34) = "caption,picture,icons,icon,check"]
	endwith
oTree.DefaultItemHeight = 32
oTree.DrawGridLines = 2
oTree.HeaderAppearance = 4
var_Items = oTree.Items
	h = var_Items.AddItem("Caption")
	// var_Items.CellImage(h,0) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,0) = 2]
	endwith
	// var_Items.CellImages(h,0) = "1,2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,0) = "1,2"]
	endwith
	// var_Items.CellPicture(h,0) = oTree.ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZe" ;
 +"nEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siqbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" &
 +"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0" &
 +"FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGUSNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" &
 +"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AIBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJB" &
 +"PhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBvgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" &
 +"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagxAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqB" &
 +"UgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihFh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" &
 +"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAkgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyh" &
 +"VgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAGAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" &
 +"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)")
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,0) = Me.ExecuteTemplate("loadpicture(`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`)")]
	endwith
	// var_Items.CellCaption(h,1) = var_Items.CellCaption(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = CellCaption(h,0)]
	endwith
	// var_Items.CellHAlignment(h,1) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,1) = 2]
	endwith
	// var_Items.CellImage(h,1) = var_Items.CellImage(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,1) = CellImage(h,0)]
	endwith
	// var_Items.CellImages(h,1) = "2,1"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,1) = "2,1"]
	endwith
	// var_Items.CellPicture(h,1) = var_Items.CellPicture(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,1) = CellPicture(h,0)]
	endwith
	h = var_Items.AddItem("<b>HTML</b> <off 4>Caption")
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
	// var_Items.CellImage(h,0) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,0) = 2]
	endwith
	// var_Items.CellImages(h,0) = "1,2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,0) = "1,2"]
	endwith
	// var_Items.CellPicture(h,0) = oTree.ExecuteTemplate("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsGL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FCjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZe" ;
 +"nEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFpTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siqbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxXhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DPH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAmBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" &
 +"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByjJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0WgLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHCBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0" &
 +"FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdguhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGUSNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhAFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" &
 +"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAYAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARASA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AIBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAdAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJB" &
 +"PhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAhhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBvgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAGhvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sUhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" &
 +"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xMhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBWhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagxAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9BtnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqB" &
 +"UgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAjAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihFh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAuAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAFBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" &
 +"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhTg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAkgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgqgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyh" &
 +"VgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBWh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAGAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOrC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTWP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" &
 +"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLCs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyDQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)")
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,0) = Me.ExecuteTemplate("loadpicture(`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`)")]
	endwith
	// var_Items.CellCaption(h,1) = var_Items.CellCaption(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = CellCaption(h,0)]
	endwith
	// var_Items.CellCaptionFormat(h,1) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,1) = 1]
	endwith
	// var_Items.CellHAlignment(h,1) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,1) = 2]
	endwith
	// var_Items.CellImage(h,1) = var_Items.CellImage(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,1) = CellImage(h,0)]
	endwith
	// var_Items.CellImages(h,1) = "2,1"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,1) = "2,1"]
	endwith
	// var_Items.CellPicture(h,1) = var_Items.CellPicture(h,0)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellPicture(h,1) = CellPicture(h,0)]
	endwith
oTree.EndUpdate()

721
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(48) = 2 */
	/* Column.Def(49) = 2 */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local h,hR,oTree,var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ImageSize = 32
oTree.DefaultItemHeight = 36
oTree.HeaderHeight = oTree.DefaultItemHeight
oTree.SortBarHeight = oTree.DefaultItemHeight
oTree.Font.Size = 16
oTree.FilterBarFont.Size = oTree.Font.Size
oTree.ToolTipFont.Size = oTree.Font.Size
oTree.Indent = 26
oTree.Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" ;
 +"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/XioW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" &
 +"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWRJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" ;
 +"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" ;
 +"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" &
 +"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" &
 +"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSeQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" ;
 +"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" &
 +"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjVHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" &
 +"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oTree.BackColorHeader = 0x4c6c6c6
oTree.SelBackColor = 0x4000000
oTree.SelForeColor = 0x10000
oTree.Template = [CheckImage(0) = 16777216] // oTree.CheckImage(0) = 16777216
oTree.Template = [CheckImage(1) = 33554432] // oTree.CheckImage(1) = 33554432
oTree.Template = [CheckImage(2) = 50331648] // oTree.CheckImage(2) = 50331648
oTree.Template = [Background(20) = SelBackColor] // oTree.Background(20) = oTree.SelBackColor
oTree.Template = [Background(21) = SelForeColor] // oTree.Background(21) = oTree.SelForeColor
oTree.Template = [Background(26) = BackColor] // oTree.Background(26) = oTree.BackColor
oTree.Template = [Background(27) = ForeColor] // oTree.Background(27) = oTree.ForeColor
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.Template = [Background(0) = 67108864] // oTree.Background(0) = 0x4000000
oTree.Template = [Background(41) = 67174657] // oTree.Background(41) = 0x4010101
oTree.Template = [Background(1) = 67109119] // oTree.Background(1) = 0x40000ff
oTree.HeaderAppearance = 4
oTree.ShowFocusRect = false
oTree.SortBarVisible = true
oTree.BackColorSortBar = oTree.BackColor
oTree.BackColorLevelHeader = oTree.BackColor
oTree.FilterBarDropDownHeight = 1
var_Column = oTree.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	var_Column.Width = 128
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 256
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.FormatColumn = "1 pos ``"
	var_Column1.AllowSort = false
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.Alignment = 1
	var_Column1.HeaderAlignment = 1
var_Column2 = oTree.Columns.Add("Image")
	var_Column2.DisplayFilterButton = true
	var_Column2.FilterList = 8480 /*exShowExclude | exShowCheckBox | exSortItemsAsc*/
	var_Column2.FilterType = 10
	var_Column2.DisplayExpandButton = true
	var_Column2.ExpandColumns = "1,2,3"
	var_Column2.Width = 128
	var_Column2.HeaderImage = 1
var_Column3 = oTree.Columns.Add("Images")
	// var_Column3.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(0) = True]
	endwith
	var_Column3.Width = 196
	var_Column3.HTMLCaption = "<img>1</img><img>2</img><img>3</img> Images"
oTree.Columns.Item("Pos").Position = 3
var_Items = oTree.Items
	hR = var_Items.AddItem("Root")
	// var_Items.ItemDivider(hR) = 0
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDivider(hR) = 0]
	endwith
	// var_Items.ItemDividerLine(hR) = 0
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDividerLine(hR) = 0]
	endwith
	h = var_Items.InsertItem(hR,null,"Child A")
	// var_Items.CellImage(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 1]
	endwith
	// var_Items.CellImages(h,3) = "1,2,3"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "1,2,3"]
	endwith
	// var_Items.CellCaption(h,3) = "123"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "123"]
	endwith
	h = var_Items.InsertItem(hR,null,"Child B")
	// var_Items.CellState(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,0) = 1]
	endwith
	// var_Items.CellImage(h,2) = 3
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 3]
	endwith
	// var_Items.CellImages(h,3) = "2,3,1"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "2,3,1"]
	endwith
	// var_Items.CellCaption(h,3) = "231"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "231"]
	endwith
	// var_Items.SelectItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Child C")
	// var_Items.CellImage(h,2) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 2]
	endwith
	// var_Items.CellState(h,3) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,3) = 1]
	endwith
	// var_Items.CellCaption(h,3) = "312"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "312"]
	endwith
	// var_Items.CellImages(h,3) = "3,1,2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "3,1,2"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
oTree.EndUpdate()

720
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(48) = 2 */
	/* Column.Def(49) = 2 */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local h,hR,oTree,var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ImageSize = 16
oTree.Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
 +"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oTree.BackColorHeader = 0x4c6c6c6
oTree.SelBackColor = 0x4000000
oTree.SelForeColor = 0x10000
oTree.Template = [Background(20) = SelBackColor] // oTree.Background(20) = oTree.SelBackColor
oTree.Template = [Background(21) = SelForeColor] // oTree.Background(21) = oTree.SelForeColor
oTree.Template = [Background(26) = BackColor] // oTree.Background(26) = oTree.BackColor
oTree.Template = [Background(27) = ForeColor] // oTree.Background(27) = oTree.ForeColor
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.Template = [Background(0) = 67108864] // oTree.Background(0) = 0x4000000
oTree.Template = [Background(41) = 67174657] // oTree.Background(41) = 0x4010101
oTree.Template = [Background(1) = 67109119] // oTree.Background(1) = 0x40000ff
oTree.HeaderAppearance = 4
oTree.ShowFocusRect = false
oTree.SortBarVisible = true
oTree.BackColorSortBar = oTree.BackColor
oTree.BackColorLevelHeader = oTree.BackColor
oTree.FilterBarDropDownHeight = 1
var_Column = oTree.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	var_Column.Width = 128
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 256
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.FormatColumn = "1 pos ``"
	var_Column1.AllowSort = false
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.Alignment = 1
	var_Column1.HeaderAlignment = 1
var_Column2 = oTree.Columns.Add("Image")
	var_Column2.DisplayFilterButton = true
	var_Column2.FilterList = 8480 /*exShowExclude | exShowCheckBox | exSortItemsAsc*/
	var_Column2.FilterType = 10
	var_Column2.DisplayExpandButton = true
	var_Column2.ExpandColumns = "1,2,3"
	var_Column2.Width = 128
	var_Column2.HeaderImage = 1
var_Column3 = oTree.Columns.Add("Images")
	// var_Column3.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column3]
		TemplateDef = var_Column3
		Template = [var_Column3.Def(0) = True]
	endwith
	var_Column3.Width = 196
	var_Column3.HTMLCaption = "<img>1</img><img>2</img><img>3</img> Images"
oTree.Columns.Item("Pos").Position = 3
var_Items = oTree.Items
	hR = var_Items.AddItem("Root")
	// var_Items.ItemDivider(hR) = 0
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDivider(hR) = 0]
	endwith
	// var_Items.ItemDividerLine(hR) = 0
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ItemDividerLine(hR) = 0]
	endwith
	h = var_Items.InsertItem(hR,null,"Child A")
	// var_Items.CellImage(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 1]
	endwith
	// var_Items.CellImages(h,3) = "1,2,3"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "1,2,3"]
	endwith
	// var_Items.CellCaption(h,3) = "123"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "123"]
	endwith
	h = var_Items.InsertItem(hR,null,"Child B")
	// var_Items.CellState(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,0) = 1]
	endwith
	// var_Items.CellImage(h,2) = 3
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 3]
	endwith
	// var_Items.CellImages(h,3) = "2,3,1"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "2,3,1"]
	endwith
	// var_Items.CellCaption(h,3) = "231"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "231"]
	endwith
	// var_Items.SelectItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectItem(h) = True]
	endwith
	h = var_Items.InsertItem(hR,null,"Child C")
	// var_Items.CellImage(h,2) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImage(h,2) = 2]
	endwith
	// var_Items.CellState(h,3) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,3) = 1]
	endwith
	// var_Items.CellCaption(h,3) = "312"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = "312"]
	endwith
	// var_Items.CellImages(h,3) = "3,1,2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellImages(h,3) = "3,1,2"]
	endwith
	// var_Items.ExpandItem(hR) = true
	with (oTree)
		TemplateDef = [dim var_Items,hR]
		TemplateDef = var_Items
		TemplateDef = hR
		Template = [var_Items.ExpandItem(hR) = True]
	endwith
oTree.EndUpdate()

719
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local oTree,rs

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3)
oTree.DataSource = rs
oTree.Columns.Item("ShipVia").Position = 2
oTree.EndUpdate()

718
Is it possible to set from code, a column sort without being inserted in the sortbar

local oTree,rs

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",1,3)
oTree.DataSource = rs
oTree.SortBarVisible = true
oTree.Layout = "singlesort=" + ["] + "C1:1" + ["] + ""
oTree.EndUpdate()

717
Is it possible to view all events the control fires
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	Event = class::nativeObject_Event
endwith
*/
// Notifies the application once the control fires an event.
function nativeObject_Event(EventID)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? Str(oTree.EventParam(-2)) 
return

local h,hChild,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

716
How can I prevent expanding/collapsing the child items

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	BeforeExpandItem = class::nativeObject_BeforeExpandItem
endwith
*/
// Fired before an item is about to be expanded (collapsed).
function nativeObject_BeforeExpandItem(Item,Cancel)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	Cancel = oTree.Items.ItemParent(Item)
return

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.SingleSel = false
oTree.Columns.Add("Default")
oTree.LinesAtRoot = -1
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(var_Items.InsertItem(h,null,"Child 1.1"),null,"Child")
	var_Items.InsertItem(h,null,"Child 1.2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(var_Items.InsertItem(h,null,"Child 2.1"),null,"Child")
	var_Items.InsertItem(h,null,"Child 2.2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

715
How can I display an item of picture type

local h,h1,oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.ScrollBySingleLine = false
oTree.HeaderAppearance = 4
oTree.HeaderHeight = 24
// oTree.Columns.Add("Artikel").HTMLCaption = "<u>Artikel"
var_Column = oTree.Columns.Add("Artikel")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.HTMLCaption = "<u>Artikel"]
endwith
// oTree.Columns.Add("Waarde").HTMLCaption = "<u>Waarde"
var_Column1 = oTree.Columns.Add("Waarde")
with (oTree)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.HTMLCaption = "<u>Waarde"]
endwith
oTree.Template = [HTMLPicture("T22128") = "c:\exontrol\images\zipdisk.gif"] // oTree.HTMLPicture("T22128") = "c:\exontrol\images\zipdisk.gif"
var_Items = oTree.Items
	h = var_Items.AddItem("T22128-28)2D")
	h1 = var_Items.InsertItem(h,null,"<img>T22128:128</img>")
	// var_Items.CellCaptionFormat(h1,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellCaptionFormat(h1,0) = 1]
	endwith
	// var_Items.ItemHeight(h1) = 128
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHeight(h1) = 128]
	endwith
	h1 = var_Items.InsertItem(h,null,"werkvoorbereiding")
	// var_Items.CellCaption(h1,1) = "5.80"
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellCaption(h1,1) = "5.80"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Type"),1) = "Eenvoudig"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Type"),1) = "Eenvoudig"]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Prijs p/uur"),1) = "60,00"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Prijs p/uur"),1) = "60,00"]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Marhe"),1) = "15,00%"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Marhe"),1) = "15,00%"]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Insteltijd min."),1) = "5,00"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Insteltijd min."),1) = "5,00"]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Aantal"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Aantal"),1) = 1]
	endwith
	// var_Items.CellCaption(var_Items.InsertItem(h1,null,"Kostprije"),1) = "5,00"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(InsertItem(h1,,"Kostprije"),1) = "5,00"]
	endwith
	// var_Items.ExpandItem(h1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ExpandItem(h1) = True]
	endwith
	h1 = var_Items.InsertItem(h,null,"materiall")
	// var_Items.CellCaption(h1,1) = "14.82"
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellCaption(h1,1) = "14.82"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.ItemHasChildren(h1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHasChildren(h1) = True]
	endwith
	h1 = var_Items.InsertItem(h,null,"snijden")
	// var_Items.CellCaption(h1,1) = "3.13"
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellCaption(h1,1) = "3.13"]
	endwith
	// var_Items.CellBold(h1,1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.CellBold(h1,1) = True]
	endwith
	// var_Items.ItemHasChildren(h1) = true
	with (oTree)
		TemplateDef = [dim var_Items,h1]
		TemplateDef = var_Items
		TemplateDef = h1
		Template = [var_Items.ItemHasChildren(h1) = True]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

714
Dark mode

local back,fore,oTree

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
back = 65536
fore = 16777215
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oTree.VisualAppearance.Add(2,"gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4biaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA")
oTree.VisualAppearance.Add(3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5CjmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxbbuaaXLhGCYBgIA==")
oTree.HeaderAppearance = 5
oTree.BackColor = back
oTree.BackColorHeader = back
oTree.BackColorLevelHeader = back
oTree.BackColorSortBar = back
oTree.BackColorSortBarCaption = back
oTree.FilterBarBackColor = back
oTree.FilterBarForeColor = fore
oTree.ForeColor = fore
oTree.ForeColorHeader = fore
oTree.ForeColorSortBar = fore
oTree.SelBackColor = fore
oTree.SelForeColor = back
oTree.Template = [Background(0) = 16777216] // oTree.Background(0) = 0x1000000
oTree.Template = [Background(18) = 33554432] // oTree.Background(18 /*0x10 | exCellButtonUp*/) = 0x2000000
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.Template = [Background(64) = 50331648] // oTree.Background(64) = 0x3000000
oTree.Template = [Background(65) = back] // oTree.Background(65) = back
oTree.Template = [Background(66) = fore] // oTree.Background(66) = fore
oTree.Template = [Background(20) = fore] // oTree.Background(20) = fore
oTree.Template = [Background(21) = back] // oTree.Background(21) = back
oTree.Template = [Background(26) = back] // oTree.Background(26) = back
oTree.Template = [Background(27) = fore] // oTree.Background(27) = fore
oTree.Template = [Background(28) = back] // oTree.Background(28) = back
oTree.Template = [Background(142) = 33554432] // oTree.Background(142 /*0x80 | exDateSelect*/) = 0x2000000
oTree.Template = [Background(141) = 33554432] // oTree.Background(141 /*0x80 | exDateSeparatorBar*/) = 0x2000000
oTree.Template = [Background(186) = fore] // oTree.Background(186) = fore
oTree.Template = [Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"] // oTree.Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
oTree.EndUpdate()

713
How can I specify the cell's outline, border or lines around, when the cell gets selected

local oTree,var_Appearance,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
	var_Appearance.Add(2,"CP:1 -4 0 0 0")
oTree.SelBackColor = 0x2000000
oTree.SelForeColor = 0x10000
oTree.FullRowSelect = false
oTree.ShowFocusRect = false
oTree.DefaultItemHeight = 24
oTree.HeaderHeight = 24
oTree.DrawGridLines = 2
oTree.Columns.Add("C1")
oTree.Columns.Add("C2")
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Cell 3"),1) = "Cell 4"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Cell 3"),1) = "Cell 4"]
	endwith
oTree.Items.SelectPos = 1
oTree.SelectColumnIndex = 1
oTree.EndUpdate()

712
How can I specify the cell's outline, border or lines around, when the item gets selected

local oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oTree.SelBackColor = 0x1000000
oTree.SelForeColor = 0x10000
oTree.ShowFocusRect = false
oTree.DefaultItemHeight = 24
oTree.HeaderHeight = 24
oTree.DrawGridLines = 2
oTree.Columns.Add("C1")
oTree.Columns.Add("C2")
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Cell 3"),1) = "Cell 4"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Cell 3"),1) = "Cell 4"]
	endwith
	var_Items.SelectPos = 1
oTree.EndUpdate()

711
How can I specify the cell's outline, border or lines around

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}")
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHIMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqOp6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYnjUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=")
oTree.SelBackMode = 1
oTree.ShowFocusRect = false
oTree.DefaultItemHeight = 24
oTree.HeaderHeight = 24
oTree.DrawGridLines = 2
oTree.Columns.Add("C1")
oTree.Columns.Add("C2")
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Cell 1"),1) = "Cell 2"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Cell 1"),1) = "Cell 2"]
	endwith
	h = var_Items.AddItem("Cell 2")
	// var_Items.CellCaption(h,1) = "Cell 3"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Cell 3"]
	endwith
	// var_Items.CellBackColor(h,1) = 0x1000000
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellBackColor(h,1) = 16777216]
	endwith
oTree.EndUpdate()

710
Is it possible to highligth the match while a filter is applied

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(17) = 1 */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Notifies your application that the filter is changed.
function nativeObject_FilterChange()
	local format
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	format = oTree.FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",oTree.FilterBarPromptPattern)
	oTree.Columns.Item(0).FormatColumn = Str(format)
	oTree.Columns.Item(1).FormatColumn = Str(format)
return

local oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.DrawGridLines = 2
oTree.HeaderAppearance = 4
oTree.Columns.Add("Col 1")
oTree.Columns.Add("Col 2")
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("219 Smith"),1) = "Ignacio 1234"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("219 Smith"),1) = "Ignacio 1234"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("1666 County Road 309A"),1) = "897 Manassa"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("1666 County Road 309A"),1) = "897 Manassa"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("38 Lone Pine"),1) = "Durango 11"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("38 Lone Pine"),1) = "Durango 11"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("612 Jachim Street"),1) = "Lamar 222"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("612 Jachim Street"),1) = "Lamar 222"]
	endwith
oTree.FilterBarPromptPattern = "1"
oTree.FilterBarPromptVisible = 2067 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oTree.FilterBarPromptType = 257 /*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/
oTree.EndUpdate()

709
Is it possible to highlight the column's header once a filter is applied (sample 2)

local h,oTree,var_Appearance,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSAsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDMRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwXg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqDBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKAT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBHAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaBZhggZgagaYRoEwShWA6NZZAMQBAICA==")
oTree.Template = [Background(0) = 16777216] // oTree.Background(0) = 0x1000000
oTree.Template = [Background(41) = 33554432] // oTree.Background(41) = 0x2000000
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.HeaderHeight = 28
oTree.BackColorHeader = 0xffffff
oTree.DrawGridLines = -2
oTree.HeaderVisible = true
var_Columns = oTree.Columns
	// var_Columns.Add("C1").DisplayFilterButton = true
	var_Column = var_Columns.Add("C1")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.DisplayFilterButton = True]
	endwith
	var_Column1 = var_Columns.Add("C2")
		var_Column1.DisplayFilterButton = true
		var_Column1.Filter = "Item 2"
		var_Column1.FilterType = 240
	// var_Columns.Add("C3").DisplayFilterButton = true
	var_Column2 = var_Columns.Add("C3")
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.DisplayFilterButton = True]
	endwith
var_Items = oTree.Items
	h = var_Items.AddItem("Item 1")
	// var_Items.CellCaption(h,1) = "Item 2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Item 2"]
	endwith
	// var_Items.CellCaption(h,2) = "Item 3"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = "Item 3"]
	endwith
	h = var_Items.AddItem("Item 4")
	// var_Items.CellCaption(h,1) = "Item 5"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Item 5"]
	endwith
	// var_Items.CellCaption(h,2) = "Item 6"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = "Item 6"]
	endwith
oTree.ApplyFilter()
oTree.EndUpdate()

708
How can I make the expand/collapse glyphs DPI aware

local h,oTree,size,var_Appearance,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
size = 2
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcCQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKcRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJrnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYGoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpFIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" ;
 +"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYIgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVYghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxTiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYFoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaFKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" ;
 +"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==")
	var_Appearance.Add(1,oTree.FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size))
	var_Appearance.Add(2,oTree.FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size))
oTree.LinesAtRoot = 1
oTree.HasButtons = 4
oTree.Template = [HasButtonsCustom(0) = 16777216] // oTree.HasButtonsCustom(false) = 16777216
oTree.Template = [HasButtonsCustom(1) = 33554432] // oTree.HasButtonsCustom(true) = 33554432
oTree.Columns.Add("Column")
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oTree.EndUpdate()

707
Is it possible to highlight the column's header once a filter is applied (sample 1)

local h,oTree,var_Appearance,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance.Add(1,"CP:2 -8 -4 2 4")
oTree.Template = [Background(0) = 33488638] // oTree.Background(0) = 0x1fefefe
oTree.Template = [Background(41) = 16843009] // oTree.Background(41) = 0x1010101
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.HeaderHeight = 28
oTree.BackColorHeader = 0xffffff
oTree.DrawGridLines = -2
oTree.HeaderVisible = true
var_Columns = oTree.Columns
	// var_Columns.Add("C1").DisplayFilterButton = true
	var_Column = var_Columns.Add("C1")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.DisplayFilterButton = True]
	endwith
	var_Column1 = var_Columns.Add("C2")
		var_Column1.DisplayFilterButton = true
		var_Column1.Filter = "Item 2"
		var_Column1.FilterType = 240
	// var_Columns.Add("C3").DisplayFilterButton = true
	var_Column2 = var_Columns.Add("C3")
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.DisplayFilterButton = True]
	endwith
var_Items = oTree.Items
	h = var_Items.AddItem("Item 1")
	// var_Items.CellCaption(h,1) = "Item 2"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Item 2"]
	endwith
	// var_Items.CellCaption(h,2) = "Item 3"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = "Item 3"]
	endwith
	h = var_Items.AddItem("Item 4")
	// var_Items.CellCaption(h,1) = "Item 5"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Item 5"]
	endwith
	// var_Items.CellCaption(h,2) = "Item 6"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = "Item 6"]
	endwith
oTree.ApplyFilter()
oTree.EndUpdate()

706
Is it possible to show the filterbar on top of the rows

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.FilterBarPromptVisible = 8192
oTree.HeaderHeight = 24
oTree.FilterBarHeight = oTree.HeaderHeight
oTree.HeaderAppearance = 1
oTree.DrawGridLines = -1
oTree.GridLineStyle = 512
var_Column = oTree.Columns.Add("Column")
	var_Column.DisplayFilterButton = true
	var_Column.FilterType = 3
	var_Column.Filter = "B*"
var_Column1 = oTree.Columns.Add("Index")
	var_Column1.FormatColumn = "1 index ``"
	var_Column1.Position = 0
	var_Column1.Width = 48
	var_Column1.AllowSizing = false
	var_Column1.SortType = 1
	// var_Column1.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
var_Items = oTree.Items
	var_Items.AddItem("A.1")
	var_Items.AddItem("A.2")
	var_Items.AddItem("B.1")
	var_Items.AddItem("B.2")
	var_Items.AddItem("B.3")
	var_Items.AddItem("C")
oTree.ApplyFilter()
oTree.EndUpdate()

705
DragDrop (with visual effect)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	var_Items = oTree.Items
		// var_Items.ExpandItem(i) = true
		with (oTree)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGjuKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==")
oTree.Template = [Background(96) = 16777216] // oTree.Background(96) = 0x1000000
oTree.Template = [Background(33) = 0] // oTree.Background(33) = 0x0
oTree.Template = [Background(34) = 16777215] // oTree.Background(34) = 0xffffff
oTree.OLEDropMode = 1
oTree.AutoDrag = 196608
oTree.LinesAtRoot = -1
oTree.Indent = 16
oTree.SelBackMode = 1
oTree.Columns.Add("Default")
var_Items = oTree.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

704
DragDrop (with no visual effect, hide item while drag and drop)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	var_Items = oTree.Items
		// var_Items.ExpandItem(i) = true
		with (oTree)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.Template = [Background(33) = 0] // oTree.Background(33) = 0x0
oTree.Template = [Background(34) = 16777215] // oTree.Background(34) = 0xffffff
oTree.OLEDropMode = 1
oTree.AutoDrag = 196608
oTree.LinesAtRoot = -1
oTree.Indent = 16
oTree.SelBackMode = 1
oTree.Columns.Add("Default")
var_Items = oTree.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

703
DragDrop

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
	/* SelectItem(InsertItem(i,, Data.GetData(1))) = True */
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	var_Items = oTree.Items
		// var_Items.ExpandItem(i) = true
		with (oTree)
			TemplateDef = [dim var_Items,i]
			TemplateDef = var_Items
			TemplateDef = i
			Template = [var_Items.ExpandItem(i) = True]
		endwith
return

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
	/* Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1) */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	AllowedEffects = 1
return

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.OLEDropMode = 1
oTree.AutoDrag = 196608
oTree.LinesAtRoot = -1
oTree.Indent = 16
oTree.SelBackMode = 1
oTree.Columns.Add("Default")
var_Items = oTree.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
? "You can:" 
? "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" 
? "B) right-click to re-arrange the item position inside the same control" 
? "This sample shows how you can insert the data being dropped as a child of the item being hovered." 

702
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

local oTree,var_Column,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderAppearance = 4
var_Columns = oTree.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
		var_Column.AllowSort = false
		var_Column.AllowDragging = false
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.EndUpdate()

701
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

local oTree,var_Column,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderAppearance = 4
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
var_Columns = oTree.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
		var_Column.AllowSort = false
		var_Column.AllowDragging = false
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.EndUpdate()

700
Is it possible to display the header using multiple lines(sample 1)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(52) = 4 */
	/* Column.Def(53) = 4 */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local oTree,var_Column,var_Column1,var_Columns

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 36
oTree.HeaderAppearance = 1
oTree.HeaderSingleLine = false
var_Columns = oTree.Columns
	var_Columns.Add("Column")
	// var_Columns.Add("This is a bit of text that should break the header").Width = 128
	var_Column = var_Columns.Add("This is a bit of text that should break the header")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 128]
	endwith
	// var_Columns.Add("This is a bit of text that should break the header").Width = 96
	var_Column1 = var_Columns.Add("This is a bit of text that should break the header")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Width = 96]
	endwith
oTree.EndUpdate()

699
Is it possible to display the header using multiple lines(sample 2)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddColumn = class::nativeObject_AddColumn
endwith
*/
// Fired after a new column has been added.
function nativeObject_AddColumn(Column)
	/* Column.Def(52) = 4 */
	/* Column.Def(53) = 4 */
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local oTree,var_Column,var_Column1,var_Column2,var_Columns

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 36
oTree.HeaderAppearance = 1
var_Columns = oTree.Columns
	var_Columns.Add("Column")
	// var_Columns.Add("C1").HTMLCaption = "<b>C<off 4>1</b><br>left"
	var_Column = var_Columns.Add("C1")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.HTMLCaption = "<b>C<off 4>1</b><br>left"]
	endwith
	// var_Columns.Add("C2").HTMLCaption = "<c><b>C<off 4>2</b><br><c>center"
	var_Column1 = var_Columns.Add("C2")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.HTMLCaption = "<c><b>C<off 4>2</b><br><c>center"]
	endwith
	// var_Columns.Add("C3").HTMLCaption = "<r><b>C<off 4>3</b><br><r>right"
	var_Column2 = var_Columns.Add("C3")
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.HTMLCaption = "<r><b>C<off 4>3</b><br><r>right"]
	endwith
oTree.EndUpdate()

698
Is it possible to exclude the parent/child items when do the filtering, so to include only items that match the filter without any indentation

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Notifies your application that the filter is changed.
function nativeObject_FilterChange()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Indent = oTree.FormatABC("value > 0 ? 18 : 0",.Items.MatchItemCount)
return

local h,h2,oTree,var_Column,var_Column1,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.Indent = 18
oTree.FilterInclude = 4
oTree.DrawGridLines = 2
oTree.HeaderAppearance = 1
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Column")
		var_Column.DisplayFilterButton = true
		var_Column.FilterType = 240
		var_Column.FilterList = 256
		var_Column.Filter = "C1"
	var_Column1 = var_Columns.Add("Pos")
		var_Column1.FormatColumn = "1 rindex ``"
		var_Column1.Position = 0
		var_Column1.AllowSizing = false
		var_Column1.AllowDragging = false
var_Items = oTree.Items
	h = var_Items.AddItem("R1")
	h2 = var_Items.InsertItem(h,null,"S")
	var_Items.InsertItem(h2,null,"C1")
	var_Items.InsertItem(h2,null,"C2")
	var_Items.InsertItem(h,null,"C1")
	var_Items.InsertItem(h,null,"C2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("R2")
	var_Items.InsertItem(h,null,"C1")
	var_Items.InsertItem(h,null,"C2")
oTree.ApplyFilter()
oTree.EndUpdate()

697
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

local h,oTree,var_Column,var_Column1,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.DrawGridLines = 1
oTree.GridLineStyle = 512
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXhaI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==")
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oTree.Columns.Add("Position")
	var_Column1.FormatColumn = "((1 rindex ``) contains `.`) = 0"
	var_Column1.Visible = false
var_ConditionalFormat = oTree.ConditionalFormats.Add("%C1")
	var_ConditionalFormat.BackColor = 0x1e0e0e0
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	var_Items.InsertItem(h,null,"Child 3")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	h = var_Items.AddItem("Root 3")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oTree.EndUpdate()

696
I can not center or align the cell's caption and icon, when it displays the hierarchy

local h,hChild,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"<img>1</img> Task (left)")
	hChild = var_Items.InsertItem(h,null,"<c><img>2</img> Task (center)")
	hChild = var_Items.InsertItem(h,null,"<r>Task (right) <img>3</img>")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

695
How do I set an extra data for each item
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	? Str(i) 
	? Str(oTree.Items.ItemData(i)) 
return

local oTree,var_Items,var_Items1

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
oTree.Columns.Add("Default")
var_Items = oTree.Items
	// var_Items.ItemData(var_Items.AddItem("method 1")) = "your extra data of method 1"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemData(AddItem("method 1")) = "your extra data of method 1"]
	endwith
	var_Items.InsertItem(0,"your extra data of method 2","method 2")
var_Items1 = oTree.Items
	var_Items1.DefaultItem = var_Items1.AddItem("method 3")
	// var_Items1.ItemData(0) = "your extra data of method 3"
	with (oTree)
		TemplateDef = [dim var_Items1]
		TemplateDef = var_Items1
		Template = [var_Items1.ItemData(0) = "your extra data of method 3"]
	endwith
oTree.EndUpdate()

694
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

local oTree,var_Column,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}")
oTree.HeaderAppearance = 4
oTree.DrawGridLines = -1
oTree.GridLineStyle = 32
var_Columns = oTree.Columns
	var_Columns.Add("Item")
	var_Column = var_Columns.Add("Pos")
		var_Column.Position = 0
		var_Column.Width = 32
		var_Column.AllowSizing = false
		var_Column.FormatColumn = "1 index ``"
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.EndUpdate()

693
Can I sort the column by check-state

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Check")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.SortType = 32
var_Items = oTree.Items
	var_Items.AddItem()
	// var_Items.CellState(var_Items.AddItem(),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem(),0) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem(),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem(),0) = 1]
	endwith
	var_Items.AddItem()
oTree.Columns.Item(0).SortOrder = 1
oTree.EndUpdate()

692
Can I sort the column by image

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Image")
	var_Column.SortType = 48
var_Items = oTree.Items
	// var_Items.CellImage(var_Items.AddItem(),0) = 3
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 3]
	endwith
	var_Items.AddItem()
	// var_Items.CellImage(var_Items.AddItem(),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 1]
	endwith
	// var_Items.CellImage(var_Items.AddItem(),0) = 2
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(AddItem(),0) = 2]
	endwith
oTree.Columns.Item(0).SortOrder = 1
oTree.EndUpdate()

691
How can I display UNICODE characters

local oTree,var_Column,var_Items,var_StdFont

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_StdFont = oTree.Font
	var_StdFont.Name = "Arial Unicode"
	var_StdFont.Size = 22
oTree.HeaderVisible = false
oTree.DefaultItemHeight = 48
// oTree.Columns.Add("").Def(17) = 1
var_Column = oTree.Columns.Add("")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(17) = 1]
endwith
var_Items = oTree.Items
	var_Items.AddItem("Ӓӓ")
	var_Items.AddItem("ᦜᦝ;ᦞ")
	var_Items.AddItem("ɮɭ;ɯ")
	var_Items.AddItem("勳勴勵勶")
	// var_Items.FormatCell(var_Items.AddItem(oTree.Version),0) = "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.FormatCell(AddItem(Me.Version),0) = "(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` "]
	endwith
oTree.EndUpdate()

690
How do I display the position of the item with 0-padding
local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Items").FormatColumn = "((1 apos ``) lpad `00`) + `. `  + value"
var_Column = oTree.Columns.Add("Items")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.FormatColumn = "((1 apos ``) lpad `00`) + `. `  + value"]
endwith
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
	var_Items.AddItem("Item D")
oTree.EndUpdate()

689
Can't get the +/- to be displayed on a divider item. What else can I do

local h,oTree,var_Column,var_Column1,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.DrawGridLines = -1
oTree.TreeColumnIndex = 0
oTree.MarkSearchColumn = false
oTree.FullRowSelect = false
oTree.HeaderAppearance = -1 /*0xfffffff8 | Bump | Sunken*/
var_Columns = oTree.Columns
	// var_Columns.Add("C1").Width = 32
	var_Column = var_Columns.Add("C1")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 32]
	endwith
	// var_Columns.Add("C2").FormatColumn = "1 index ``"
	var_Column1 = var_Columns.Add("C2")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.FormatColumn = "1 index ``"]
	endwith
var_Items = oTree.Items
	h = var_Items.AddItem("Cell 1")
	// var_Items.CellSingleLine(h,1) = false
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,1) = False]
	endwith
	h = var_Items.AddItem("This is bit of text merges all cells in the item (divider shows no +/-)")
	// var_Items.ItemDivider(h) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.ItemDividerLine(h) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLine(h) = 0]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Cell 3")
	h = var_Items.AddItem("This is bit of text merges all cells in the item (merge shows +/-)")
	// var_Items.ItemBackColor(h) = 0xf0f0f0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBackColor(h) = 15790320]
	endwith
	// var_Items.CellMerge(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellMerge(h,0) = 1]
	endwith
	var_Items.InsertItem(h,null,"Child 3")
	var_Items.InsertItem(h,null,"Child 4")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

688
ADODB Requery sample

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellButtonClick = class::nativeObject_CellButtonClick
endwith
*/
// Fired after the user clicks on the cell of button type. 
function nativeObject_CellButtonClick(Item,ColIndex)
	local cmd
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	cmd = new OleAutoClient("ADODB.Command")
		cmd.ActiveConnection = oTree.DataSource.ActiveConnection
		cmd.CommandText = "INSERT INTO Orders (EmployeeID) VALUES(12345)"
		cmd.CommandType = 1
		cmd.Execute()
	oTree.DataSource.Requery()
return

local h,oTree,rs,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderAppearance = 4
oTree.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",1,3)
oTree.DataSource = rs
// oTree.ConditionalFormats.Add("%1=12345").BackColor = 0xf0f0f0
var_ConditionalFormat = oTree.ConditionalFormats.Add("%1=12345")
with (oTree)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.BackColor = 15790320]
endwith
var_Items = oTree.Items
	// var_Items.LockedItemCount(0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellCaption(h,0) = "Requery (add a new record, using ADODB.Command)"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,0) = "Requery (add a new record, using ADODB.Command)"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oTree.EndUpdate()

687
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

local oTree,var_Column,var_Column1,var_Columns

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.HeaderAppearance = 4
var_Columns = oTree.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oTree.Template = [Description(26) = "Show/Hide"] // oTree.Description(26) = "Show/Hide"
oTree.ColumnsFloatBarSortOrder = 1
oTree.ColumnsFloatBarVisible = 2
oTree.EndUpdate()

686
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

local oTree,var_Column,var_Column1,var_Columns

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.HeaderAppearance = 4
var_Columns = oTree.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oTree.Template = [Description(26) = "Show"] // oTree.Description(26) = "Show"
oTree.ColumnsFloatBarVisible = -1
oTree.ColumnsFloatBarSortOrder = 1
oTree.EndUpdate()

685
Type of wraps the cell's caption support (Sample 2)

local oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderSingleLine = false
oTree.HeaderHeight = 36
oTree.DrawGridLines = -2
oTree.ColumnAutoResize = false
oTree.ScrollBySingleLine = true
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Single-Line (exCaptionSingleLine)")
		var_Column.Width = 96
		// var_Column.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(17) = 1]
		endwith
		// var_Column.Def(16) = -1
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(16) = -1]
		endwith
	var_Column1 = var_Columns.Add("Word-Wrap (exCaptionWordWrap)")
		var_Column1.Width = 96
		// var_Column1.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(17) = 1]
		endwith
		// var_Column1.Def(16) = 0
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(16) = 0]
		endwith
		var_Column1.FormatColumn = "%0"
	var_Column2 = var_Columns.Add("Break-Wrap (exCaptionBreakWrap)")
		var_Column2.Width = 96
		// var_Column2.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(17) = 1]
		endwith
		// var_Column2.Def(16) = 1
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(16) = 1]
		endwith
		var_Column2.FormatColumn = "%0"
var_Items = oTree.Items
	var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items.AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.")
oTree.EndUpdate()

684
Type of wraps the cell's caption support (Sample 1)

local h,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderSingleLine = false
oTree.HeaderHeight = 36
oTree.DrawGridLines = -2
oTree.ColumnAutoResize = false
oTree.ScrollBySingleLine = true
// oTree.Columns.Add("Default").Width = 128
var_Column = oTree.Columns.Add("Default")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oTree.Items
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	// var_Items.CellSingleLine(h,0) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 0]
	endwith
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 0]
	endwith
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	// var_Items.CellSingleLine(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 1]
	endwith
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 1]
	endwith
oTree.EndUpdate()

683
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.DrawGridLines = -2
oTree.ColumnAutoResize = false
oTree.ScrollBySingleLine = true
// oTree.Columns.Add("Default").Width = 128
var_Column = oTree.Columns.Add("Default")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oTree.Items
	// var_Items.CellSingleLine(var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1]
	endwith
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oTree.EndUpdate()

682
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.DrawGridLines = -2
oTree.ColumnAutoResize = false
oTree.ScrollBySingleLine = true
var_Column = oTree.Columns.Add("Default")
	var_Column.Width = 128
	// var_Column.Def(16) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(16) = 1]
	endwith
var_Items = oTree.Items
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oTree.EndUpdate()

681
How can I change the visual appearance/color of the Filter For ... field

local h,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.BackColorHeader = 0x1
oTree.ForeColorHeader = 0xffffff
oTree.Template = [Background(26) = BackColorHeader] // oTree.Background(26) = oTree.BackColorHeader
oTree.Template = [Background(27) = ForeColorHeader] // oTree.Background(27) = oTree.ForeColorHeader
oTree.Template = [Background(0) = 15790320] // oTree.Background(0) = 0xf0f0f0
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.HeaderAppearance = 5
var_Column = oTree.Columns.Add("Items")
	var_Column.FilterOnType = true
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 2
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oTree.EndUpdate()

680
How can I display the cell's caption without spaces on both sides

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"
var_Items = oTree.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oTree.EndUpdate()

679
How can I highlight the spaces within the column (sample 2)

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "`'` + ( value replace ` ` with `_` ) + `'`"
var_Items = oTree.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oTree.EndUpdate()

678
How can I highlight the spaces within the column (sample 1)

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"
var_Items = oTree.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oTree.EndUpdate()

677
How can I change the visual aspect of the drop down filter-calendar

local oTree,var_Column

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Template = [Background(26) = 65536] // oTree.Background(26) = 0x10000
oTree.Template = [Background(27) = 16777215] // oTree.Background(27) = 0xffffff
oTree.Template = [Background(12) = 16777215] // oTree.Background(12) = 0xffffff
oTree.Template = [Background(8) = Background(26)] // oTree.Background(8) = oTree.Background(26)
oTree.Template = [Background(11) = 8421504] // oTree.Background(11) = 0x808080
var_Column = oTree.Columns.Add("Date")
	var_Column.FilterType = 4
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterDate = true
	var_Column.DisplayFilterPattern = false
oTree.EndUpdate()

676
Export Data in HTML format

local h,oTree,sFile,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Items,var_ShellBrowserWindow

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.BackColorAlternate = 0xf0f0f0
oTree.DrawGridLines = -1
oTree.HeaderAppearance = 4
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oTree.FilterBarPromptVisible = 2579 /*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oTree.FilterBarPromptType = 2
var_ConditionalFormats = oTree.ConditionalFormats
	// var_ConditionalFormats.Add("%0 like `*parent*`","parent").BackColor = 0xc0c0c0
	var_ConditionalFormat = var_ConditionalFormats.Add("%0 like `*parent*`","parent")
	with (oTree)
		TemplateDef = [dim var_ConditionalFormat]
		TemplateDef = var_ConditionalFormat
		Template = [var_ConditionalFormat.BackColor = 12632256]
	endwith
	var_ConditionalFormat1 = var_ConditionalFormats.Add("%0 like `*child*`","child")
		var_ConditionalFormat1.ForeColor = 0x8080ff
		var_ConditionalFormat1.ApplyTo = 0
	var_ConditionalFormat2 = var_ConditionalFormats.Add("%0 like `*B*`","b")
		var_ConditionalFormat2.ForeColor = 0xff0000
		var_ConditionalFormat2.Bold = true
		var_ConditionalFormat2.Italic = true
		var_ConditionalFormat2.ApplyTo = 0
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Value")
		var_Column.Width = 128
		var_Column.HTMLCaption = "<b>VA</b><r>sko"
	var_Column1 = var_Columns.Add("APos")
		var_Column1.FormatColumn = "0 apos ``"
		var_Column1.AllowSort = false
		// var_Column1.Def(4) = 15790320
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(4) = 15790320]
		endwith
		// var_Column1.Def(5) = 8421504
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(5) = 8421504]
		endwith
		// var_Column1.Def(8) = var_Column1.Def(5)
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(8) = Def(5)]
		endwith
		var_Column1.Position = 0
	var_Column2 = var_Columns.Add("RPos")
		var_Column2.FormatColumn = "0 rpos ``"
		var_Column2.AllowSort = false
		var_Column2.Position = 1
	var_Column3 = var_Columns.Add("Index")
		var_Column3.FormatColumn = "0 index ``"
		var_Column3.DisplayFilterButton = true
		var_Column3.FilterList = 256
		var_Column3.Position = 2
	var_Column4 = var_Columns.Add("Data 1")
		var_Column4.FormatColumn = "0 index `A-Z`"
		// var_Column4.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column4]
			TemplateDef = var_Column4
			Template = [var_Column4.Def(0) = True]
		endwith
	var_Column5 = var_Columns.Add("Data 2")
		var_Column5.FormatColumn = "0 index `AB` replace `A` with `<off -4>A</off>`"
		// var_Column5.Def(16) = false
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(16) = False]
		endwith
		// var_Column5.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(17) = 1]
		endwith
		// var_Column5.Def(1) = true
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(1) = True]
		endwith
	var_Column6 = var_Columns.Add("Data 3")
		var_Column6.FormatColumn = "0 index `CDC` replace `D` with `<b>D</b>`"
		// var_Column6.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column6]
			TemplateDef = var_Column6
			Template = [var_Column6.Def(17) = 1]
		endwith
var_Items = oTree.Items
	h = var_Items.AddItem("ParentA")
	var_Items.InsertItem(h,null,"Child A")
	var_Items.InsertItem(h,null,"Child B")
	// var_Items.CellState(h,4) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,4) = 1]
	endwith
	// var_Items.CellBackColor(var_Items.InsertItem(h,null,"Child C"),5) = 0xff00
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellBackColor(InsertItem(h,,"Child C"),5) = 65280]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Item A")
	h = var_Items.AddItem("ParentB")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.CellBackColor(var_Items.InsertItem(h,null,"Child 3"),5) = 0xff00
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellBackColor(InsertItem(h,,"Child 3"),5) = 65280]
	endwith
	// var_Items.CellState(h,5) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,5) = 1]
	endwith
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
	var_Items.AddItem("Item D")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()
sFile = "c:/temp/export.html"
oTree.Export(sFile,"vis")
var_ShellBrowserWindow = new OleAutoClient("InternetExplorer.Application")
	var_ShellBrowserWindow.Navigate2(sFile)

675
Export Data in CSV format

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.BackColorAlternate = 0xf0f0f0
oTree.DrawGridLines = -1
oTree.HeaderAppearance = 4
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oTree.FilterBarPromptVisible = 2579 /*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oTree.FilterBarPromptType = 2
var_ConditionalFormats = oTree.ConditionalFormats
	// var_ConditionalFormats.Add("%0 like `*parent*`","parent").BackColor = 0xc0c0c0
	var_ConditionalFormat = var_ConditionalFormats.Add("%0 like `*parent*`","parent")
	with (oTree)
		TemplateDef = [dim var_ConditionalFormat]
		TemplateDef = var_ConditionalFormat
		Template = [var_ConditionalFormat.BackColor = 12632256]
	endwith
	var_ConditionalFormat1 = var_ConditionalFormats.Add("%0 like `*child*`","child")
		var_ConditionalFormat1.ForeColor = 0x8080ff
		var_ConditionalFormat1.ApplyTo = 0
	var_ConditionalFormat2 = var_ConditionalFormats.Add("%0 like `*B*`","b")
		var_ConditionalFormat2.ForeColor = 0xff0000
		var_ConditionalFormat2.Bold = true
		var_ConditionalFormat2.Italic = true
		var_ConditionalFormat2.ApplyTo = 0
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Value")
		var_Column.Width = 128
		var_Column.HTMLCaption = "<b>VA</b><r>sko"
	var_Column1 = var_Columns.Add("APos")
		var_Column1.FormatColumn = "0 apos ``"
		var_Column1.AllowSort = false
		// var_Column1.Def(4) = 15790320
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(4) = 15790320]
		endwith
		// var_Column1.Def(5) = 8421504
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(5) = 8421504]
		endwith
		// var_Column1.Def(8) = var_Column1.Def(5)
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(8) = Def(5)]
		endwith
		var_Column1.Position = 0
	var_Column2 = var_Columns.Add("RPos")
		var_Column2.FormatColumn = "0 rpos ``"
		var_Column2.AllowSort = false
		var_Column2.Position = 1
	var_Column3 = var_Columns.Add("Index")
		var_Column3.FormatColumn = "0 index ``"
		var_Column3.DisplayFilterButton = true
		var_Column3.FilterList = 256
		var_Column3.Position = 2
	var_Column4 = var_Columns.Add("Data 1")
		var_Column4.FormatColumn = "0 index `A-Z`"
		// var_Column4.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column4]
			TemplateDef = var_Column4
			Template = [var_Column4.Def(0) = True]
		endwith
	var_Column5 = var_Columns.Add("Data 2")
		var_Column5.FormatColumn = "0 index `AB` replace `A` with `<off -4>A</off>`"
		// var_Column5.Def(16) = false
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(16) = False]
		endwith
		// var_Column5.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(17) = 1]
		endwith
		// var_Column5.Def(1) = true
		with (oTree)
			TemplateDef = [dim var_Column5]
			TemplateDef = var_Column5
			Template = [var_Column5.Def(1) = True]
		endwith
	var_Column6 = var_Columns.Add("Data 3")
		var_Column6.FormatColumn = "0 index `CDC` replace `D` with `<b>D</b>`"
		// var_Column6.Def(17) = 1
		with (oTree)
			TemplateDef = [dim var_Column6]
			TemplateDef = var_Column6
			Template = [var_Column6.Def(17) = 1]
		endwith
var_Items = oTree.Items
	h = var_Items.AddItem("ParentA")
	var_Items.InsertItem(h,null,"Child A")
	var_Items.InsertItem(h,null,"Child B")
	// var_Items.CellState(h,4) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,4) = 1]
	endwith
	// var_Items.CellBackColor(var_Items.InsertItem(h,null,"Child C"),5) = 0xff00
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellBackColor(InsertItem(h,,"Child C"),5) = 65280]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Item A")
	h = var_Items.AddItem("ParentB")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.CellBackColor(var_Items.InsertItem(h,null,"Child 3"),5) = 0xff00
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellBackColor(InsertItem(h,,"Child 3"),5) = 65280]
	endwith
	// var_Items.CellState(h,5) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,5) = 1]
	endwith
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
	var_Items.AddItem("Item D")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()
? Str(oTree.Export("","vis")) 

674
Is it possible to check multiple-items at once

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local bHasParent,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	bHasParent = oTree.FormatABC("value != 0",oTree.Items.ItemParent(Item))
	var_Items = oTree.Items
		// var_Items.CellHasCheckBox(Item,0) = false
		with (oTree)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellHasCheckBox(Item,0) = bHasParent]
		endwith
return

local h,hChild,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
oTree.HeaderVisible = true
oTree.SingleSel = false
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	hChild = var_Items.InsertItem(h,null,"Task 2")
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	// var_Items.LockedItemCount(0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	// var_Items.CellCaption(var_Items.LockedItem(0,0),0) = "<c>Select multiple items and press the <b>SPACE</b> key"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(LockedItem(0,0),0) = "<c>Select multiple items and press the <b>SPACE</b> key"]
	endwith
oTree.EndUpdate()

673
How can I get the icon from the cell when using the Items.CellImages property (icon index)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	? Str(oTree.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,oTree.Items.CellImages(i,c))) 
return

local oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oTree.Columns.Add("Default")
var_Items = oTree.Items
	// var_Items.CellImages(var_Items.AddItem("Item 1"),0) = "3,2,1"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 1"),0) = "3,2,1"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 2"),0) = "2,3"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 2"),0) = "2,3"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 3"),0) = "2,"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 3"),0) = "2,"]
	endwith
oTree.EndUpdate()

672
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.ItemFromPoint(-1,-1,c,hit)
	? Str(oTree.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit)) 
return

local oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oTree.Columns.Add("Default")
var_Items = oTree.Items
	// var_Items.CellImages(var_Items.AddItem("Item 1"),0) = "3,2,1"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 1"),0) = "3,2,1"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 2"),0) = "2,3"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 2"),0) = "2,3"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 3"),0) = "2"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 3"),0) = "2"]
	endwith
oTree.EndUpdate()

671
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

local oTree,var_Appearance,var_Columns

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderAppearance = 4
var_Columns = oTree.Columns
	var_Columns.Add("Column 1")
	var_Columns.Add("Column 2")
	var_Columns.Add("Column 3")
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
	var_Appearance.Add(2,"CP:1 0 -36 0 0")
oTree.Template = [Background(182) = 33554432] // oTree.Background(182) = 0x2000000
oTree.EndUpdate()

670
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

local oTree,var_Column,var_Column1,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
oTree.DefaultItemHeight = 20
oTree.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==")
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oTree.Columns.Add("Position")
	var_Column1.FormatColumn = "1 rindex ``"
	var_Column1.Visible = false
var_ConditionalFormat = oTree.ConditionalFormats.Add("%C1 mod 2")
	var_ConditionalFormat.BackColor = 0x1000000
var_Items = oTree.Items
	var_Items.AddItem("Item 1")
	var_Items.AddItem("Item 2")
	var_Items.AddItem("Item 3")
	var_Items.AddItem("Item 4")
oTree.EndUpdate()

669
How can I specify alternate background colors for each root item, similar with BackColorAlternate

local h,oTree,var_Column,var_Column1,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oTree.Columns.Add("Position")
	var_Column1.FormatColumn = "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"
	var_Column1.Visible = false
var_ConditionalFormat = oTree.ConditionalFormats.Add("%C1 mod 2")
	var_ConditionalFormat.BackColor = 0xf0f0f0
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	h = var_Items.AddItem("Root 3")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oTree.EndUpdate()

668
Is it possible to change the caption from a column without to remove the column and add it with the new caption
local oTree,var_Column,var_Column1

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
// oTree.Columns.Add("ColumnName").Caption = "NewName"
var_Column = oTree.Columns.Add("ColumnName")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Caption = "NewName"]
endwith
// oTree.Columns.Add("ColumnName").HTMLCaption = "<b>New</b>Name"
var_Column1 = oTree.Columns.Add("ColumnName")
with (oTree)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.HTMLCaption = "<b>New</b>Name"]
endwith

667
FilterBarCaption ALL Keyword ( sample 2, result )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

666
FilterBarCaption ALL Keyword ( sample 1 )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "all"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

665
FilterBarCaption ALLUI Keyword ( sample 2, result )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

664
FilterBarCaption ALLUI Keyword ( sample 1 )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "allui"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

663
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

662
FilterBarCaption AVAILABLE Keyword ( sample 1 )

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	i = oTree.FormatABC("value + 1",oTree.Items.ItemToIndex(Item))
	// oTree.Items.CellImage(Item,3) = i
	var_Items = oTree.Items
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oTree.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oTree.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellCaption(h,1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "value + ` ` + available"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oTree.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oTree.Columns.Item(2).Filter = Str(1)
oTree.ApplyFilter()
oTree.EndUpdate()

661
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

local oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oTree.FilterBarPromptVisible = 256
var_Column3 = oTree.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oTree.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oTree.ApplyFilter()
oTree.EndUpdate()

660
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

local oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.FilterBarFont = oTree.Font
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oTree.FilterBarPromptVisible = 256
var_Column3 = oTree.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oTree.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oTree.ApplyFilter()
oTree.EndUpdate()

659
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

local oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oTree.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oTree.Items
	// var_Items.CellCaption(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellCaption(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellCaption(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oTree.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oTree.Description(11) = Str(oTree.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oTree.Description(11)))
oTree.FilterBarCaption = "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
oTree.FilterBarPromptVisible = 256
var_Column3 = oTree.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oTree.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oTree.ApplyFilter()
oTree.EndUpdate()

658
Is it possible to automatically displays the control's filter label to the right

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Item")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarCaption = "`<r>` + value"
oTree.FilterBarPromptVisible = 1280 /*exFilterBarShowCloseOnRight | exFilterBarToggle*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

657
How can I get the number of results/items being shown in the control's filter bar (sample 4)

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Item")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarFont = oTree.Font
oTree.FilterBarPrompt = Str(oTree.FormatABC("`<b>` + value",oTree.FilterBarPrompt))
oTree.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
oTree.FilterBarPromptVisible = 3591 /*exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oTree.EndUpdate()

656
How can I get the number of results being shown in the control's filter bar (sample 3)

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarFont = oTree.Font
oTree.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)"
oTree.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

655
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarFont = oTree.Font
oTree.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"
oTree.FilterBarPromptVisible = 2071 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

654
How can I get the number of results being shown in the control's filter bar (sample 1)

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarFont = oTree.Font
oTree.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oTree.FilterBarPromptVisible = 7 /*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

653
FilterBarCaption Predefined Keywords

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	AfterExpandItem = class::nativeObject_AfterExpandItem
endwith
*/
// Fired after an item is expanded (collapsed).
function nativeObject_AfterExpandItem(Item)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Check")
	// var_Column1.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
	var_Column1.DisplayFilterButton = true
	var_Column1.DisplayFilterPattern = false
	var_Column1.FilterType = 6
var_Column2 = oTree.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	h = var_Items.AddItem("Item B")
	// var_Items.CellState(var_Items.InsertItem(h,null,"Sub-Item B1"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(InsertItem(h,,"Sub-Item B1"),1) = 1]
	endwith
	var_Items.InsertItem(h,null,"Sub-Item B2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Item C")
oTree.FilterInclude = 1
oTree.FilterBarFont = oTree.Font
oTree.FilterBarCaption = "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" ;
 +" `</fgcolor>`"
oTree.FilterBarPromptPattern = "B"
oTree.FilterBarPromptVisible = 7 /*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column3 = oTree.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

652
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarFont = oTree.Font
oTree.FilterBarCaption = "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
oTree.FilterBarPromptPattern = "B"
oTree.FilterBarPromptVisible = 2067 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

651
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1281 /*exFilterBarShowCloseOnRight | exFilterBarToggle | exFilterBarPromptVisible*/
oTree.FilterBarPrompt = Str(oTree.FormatABC("`<r>` + value",oTree.FilterBarPrompt))
oTree.EndUpdate()

650
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.RightToLeft = true
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 257 /*exFilterBarToggle | exFilterBarPromptVisible*/
oTree.EndUpdate()

649
How can I change the visual appearance of the filter bar's close button (EBN)

local oTree,var_Appearance,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" ;
 +"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAkjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 257 /*exFilterBarToggle | exFilterBarPromptVisible*/
oTree.Template = [Background(1) = 16777216] // oTree.Background(1) = 0x1000000
oTree.EndUpdate()

648
How can I change the visual appearance of the filter bar's close button (solid)

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1
oTree.Template = [Background(1) = 255] // oTree.Background(1) = 0xff
oTree.EndUpdate()

647
Is it possible to prevent definitely showing the filter bar's close button

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1
oTree.Template = [Background(1) = -1] // oTree.Background(1) = -1
oTree.EndUpdate()

646
Is it possible to show the close button only if there is a filter applied

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 513 /*exFilterBarShowCloseIfRequired | exFilterBarPromptVisible*/
oTree.EndUpdate()

645
The control's filter bar is not closed once I click the close button (toggle)

local h,oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
	// var_Items.LockedItemCount(2) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(2) = 1]
	endwith
	h = var_Items.LockedItem(2,0)
	// var_Items.ItemDivider(h) = 0
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellCaption(h,0) = "<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,0) = "<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."]
	endwith
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
oTree.FilterBarCaption = "`<r><fgcolor=808080>` + value"
oTree.FilterBarPromptPattern = "B"
oTree.FilterBarPromptVisible = 2323 /*exFilterBarCompact | exFilterBarToggle | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

644
How can I display the control's filter on a single line

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarCaption = "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`"
oTree.FilterBarPromptVisible = 18 /*exFilterBarSingleLine | exFilterBarVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

643
How can I display the control's filter on a single line (prompt-combined)

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarCaption = "`<r>` + value"
oTree.FilterBarPromptVisible = 2067 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

642
How can I get the number of results after a filter is applied

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the tree control.
function nativeObject_Click()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.ClearFilter()
return

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Notifies your application that the filter is changed.
function nativeObject_FilterChange()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? "Items.MatchItemCount" 
	? Str(oTree.Items.MatchItemCount) 
	? Str(oTree.FormatABC("value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",oTree.Items.MatchItemCount)) 
return

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1
oTree.FilterBarPromptPattern = "Item"
oTree.EndUpdate()

641
How can I programmatically clear the control's filter

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the tree control.
function nativeObject_Click()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.ClearFilter()
return

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1
oTree.FilterBarPromptPattern = "B"
oTree.EndUpdate()

640
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptPattern = "B"
oTree.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

639
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarPromptVisible = 1
oTree.FilterBarPromptPattern = "B"
oTree.EndUpdate()

638
Is it possible to prevent closing the control's filter bar, so it is always shown

local oTree,var_Column,var_Column1,var_Column2,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
// oTree.Columns.Add("Item").DisplayFilterButton = true
var_Column = oTree.Columns.Add("Item")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oTree.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oTree.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oTree.FilterBarCaption = "len(value) = 0 ? `<fgcolor=808080>no filter` : value"
oTree.FilterBarPromptVisible = 2
var_Column2 = oTree.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item B"
oTree.ApplyFilter()
oTree.EndUpdate()

637
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

local h,oTree,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.VisualDesign = "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiCQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhghWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" ;
 +"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggloFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTKMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhFkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEgEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxSCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" &
 +"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="
oTree.Columns.Add("Column")
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oTree.EndUpdate()

636
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

local h,oTree,var_Appearance,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" ;
 +"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
	var_Appearance.Add(1,"CP:3 -2 -2 2 2")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" ;
 +"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
	var_Appearance.Add(2,"CP:4 -2 -2 2 2")
oTree.LinesAtRoot = 1
oTree.HasButtons = 4
oTree.Template = [HasButtonsCustom(0) = 16777216] // oTree.HasButtonsCustom(false) = 16777216
oTree.Template = [HasButtonsCustom(1) = 33554432] // oTree.HasButtonsCustom(true) = 33554432
oTree.Columns.Add("Column")
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oTree.EndUpdate()

635
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

local h,oTree,var_Appearance,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"XP:TREEVIEW 2 1")
	var_Appearance.Add(2,"XP:TREEVIEW 2 2")
oTree.Template = [Background(180) = 16777216] // oTree.Background(180) = 0x1000000
oTree.Template = [Background(181) = 33554432] // oTree.Background(181) = 0x2000000
oTree.LinesAtRoot = -1
oTree.Columns.Add("Column")
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oTree.EndUpdate()

634
How can I find if the control is running in DPI mode
local oTree

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
? Str(oTree.FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`")) 

633
How can I change the visual appearance of the +/- buttons (method 1)

local h,oTree,var_Appearance,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" ;
 +"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" ;
 +"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
oTree.LinesAtRoot = -1
oTree.Template = [Background(180) = 16777216] // oTree.Background(180) = 0x1000000
oTree.Template = [Background(181) = 33554432] // oTree.Background(181) = 0x2000000
oTree.Columns.Add("Column")
var_Items = oTree.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oTree.EndUpdate()

632
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	SelectionChanged = class::nativeObject_SelectionChanged
endwith
*/
// Fired after a new item has been selected.
function nativeObject_SelectionChanged()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? "SelectionChanged" 
return

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.FreezeEvents(true)
oTree.SingleSel = true
oTree.SelectOnRelease = true
// oTree.Columns.Add("Column").FormatColumn = "1 apos `A-Z`"
var_Column = oTree.Columns.Add("Column")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.FormatColumn = "1 apos `A-Z`"]
endwith
var_Items = oTree.Items
	var_Items.AddItem("")
	// var_Items.SelectItem(var_Items.AddItem("")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.SelectItem(AddItem("")) = True]
	endwith
	var_Items.AddItem("")
oTree.FreezeEvents(false)
oTree.EndUpdate()

631
Is it possible to select nothing
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	SelectionChanged = class::nativeObject_SelectionChanged
endwith
*/
// Fired after a new item has been selected.
function nativeObject_SelectionChanged()
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? "SelectionChanged" 
return

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.FreezeEvents(true)
oTree.AllowSelectNothing = true
// oTree.Columns.Add("Column").FormatColumn = "1 apos `A-Z`"
var_Column = oTree.Columns.Add("Column")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.FormatColumn = "1 apos `A-Z`"]
endwith
var_Items = oTree.Items
	var_Items.AddItem("")
	// var_Items.SelectItem(var_Items.AddItem("")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.SelectItem(AddItem("")) = True]
	endwith
	var_Items.AddItem("")
oTree.FreezeEvents(false)
oTree.EndUpdate()

630
How can I specify the color for control's selection when it loses the focus

local oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("")
	var_Column.AllowSizing = false
	var_Column.AllowDragging = false
	var_Column.AllowSort = false
	var_Column.Width = 24
	// var_Column.Def(2) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(2) = True]
	endwith
// oTree.Columns.Add("Column").FormatColumn = "1 apos `A-Z`"
var_Column1 = oTree.Columns.Add("Column")
with (oTree)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = "1 apos `A-Z`"]
endwith
var_Items = oTree.Items
	var_Items.AddItem("")
	// var_Items.SelectItem(var_Items.AddItem("")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.SelectItem(AddItem("")) = True]
	endwith
	var_Items.AddItem("")
oTree.Template = [Background(166) = 12895428] // oTree.Background(166) = 0xc4c4c4
oTree.Template = [Background(167) = 65536] // oTree.Background(167) = 0x10000
oTree.EndUpdate()

629
How can I change the background color for checked items (EBN color, frame)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local h,hChild,oTree,var_Appearance,var_Column,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.SelBackMode = 1
oTree.DefaultItemHeight = 22
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcFqXFSLVxNBKAQEBA=")
	var_Appearance.Add(1,"CP:2 1 1 -1 -1")
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0 = 1")
	var_ConditionalFormat.BackColor = 0x1000000
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

628
How can I change the caption of the checked items (sample 2)

local h,hChild,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value"
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

627
How can I change the caption of the checked items (sample 1)

local h,hChild,oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
	// var_Column.Def(17) = 1
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

626
How can I change the font for the checked items

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local f,h,hChild,oTree,var_Column,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.DefaultItemHeight = 22
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0 = 1")
	f = new OleAutoClient("StdFont")
		f.Name = oTree.Font.Name
		f.Size = 12
	var_ConditionalFormat.Font = f
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

625
How can I bold the checked items

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local h,hChild,oTree,var_Column,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0 = 1")
	var_ConditionalFormat.Bold = true
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

624
How can I change the foreground color for checked items

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local h,hChild,oTree,var_Column,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.SelBackMode = 1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0 = 1")
	var_ConditionalFormat.ForeColor = 0x8080ff
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

623
How can I change the background color for checked items (solid color)

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	oTree.Refresh()
return

local h,hChild,oTree,var_Column,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
oTree.SelBackMode = 1
var_Column = oTree.Columns.Add("Tasks")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0 = 1")
	var_ConditionalFormat.BackColor = 0x8080ff
oTree.HeaderVisible = true
var_Items = oTree.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	// var_Items.SelectItem(hChild) = true
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.SelectItem(hChild) = True]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 2")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.CellState(hChild,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,hChild]
		TemplateDef = var_Items
		TemplateDef = hChild
		Template = [var_Items.CellState(hChild,0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

622
How can I export the cell's state as well

local oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Columns = oTree.Columns
	// var_Columns.Add("C1").Def(0) = true
	var_Column = var_Columns.Add("C1")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	// var_Columns.Add("C2").FormatColumn = "1 index `A-Z`"
	var_Column1 = var_Columns.Add("C2")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.FormatColumn = "1 index `A-Z`"]
	endwith
	// var_Columns.Add("C3").FormatColumn = "100 index ``"
	var_Column2 = var_Columns.Add("C3")
	with (oTree)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.FormatColumn = "100 index ``"]
	endwith
var_Items = oTree.Items
	var_Items.AddItem("Item 1")
	// var_Items.CellState(var_Items.AddItem("Item 2")) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2")) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 3")) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 3")) = 1]
	endwith
oTree.EndUpdate()
? "Export CSV Items including Check-State:" 
oTree.BeginUpdate()
var_Column3 = oTree.Columns.Add("Check")
	var_Column3.Position = 0
	var_Column3.FormatColumn = "%CS0"
? Str(oTree.Export("")) 
oTree.Columns.Remove("Check")
oTree.EndUpdate()

621
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 2)
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	BeforeExpandItem = class::nativeObject_BeforeExpandItem
endwith
*/
// Fired before an item is about to be expanded (collapsed).
function nativeObject_BeforeExpandItem(Item,Cancel)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? "BeforeExpandItem" 
	? Str(Item) 
	? "ColumnFromPoint" 
	? Str(oTree.ColumnFromPoint(-1,-1)) 
	? "ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." 
	oTree.Items.InsertItem(Item,null,"new child")
return

local oTree,var_Column,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Columns = oTree.Columns
	// var_Columns.Add("Items").DisplayFilterButton = true
	var_Column = var_Columns.Add("Items")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.DisplayFilterButton = True]
	endwith
var_Items = oTree.Items
	// var_Items.ItemHasChildren(var_Items.InsertItem(null,null,"Group 1")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemHasChildren(InsertItem(,,"Group 1")) = True]
	endwith
	// var_Items.ItemHasChildren(var_Items.InsertItem(null,null,"Group 2")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemHasChildren(InsertItem(,,"Group 2")) = True]
	endwith
oTree.EndUpdate()

620
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 1)
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	BeforeExpandItem = class::nativeObject_BeforeExpandItem
endwith
*/
// Fired before an item is about to be expanded (collapsed).
function nativeObject_BeforeExpandItem(Item,Cancel)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	? "BeforeExpandItem" 
	? Str(Item) 
	oTree.Items.InsertItem(Item,null,"new child")
return

local oTree,var_Column,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Columns = oTree.Columns
	var_Column = var_Columns.Add("Items")
		var_Column.DisplayFilterButton = true
		var_Column.FilterList = 4
var_Items = oTree.Items
	// var_Items.ItemHasChildren(var_Items.InsertItem(null,null,"Group 1")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemHasChildren(InsertItem(,,"Group 1")) = True]
	endwith
	// var_Items.ItemHasChildren(var_Items.InsertItem(null,null,"Group 2")) = true
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemHasChildren(InsertItem(,,"Group 2")) = True]
	endwith
oTree.EndUpdate()

619
How do I change the drop down filter icon/button (black)

local oTree,var_Appearance,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oTree.Template = [Background(32) = -1] // oTree.Background(32) = -1
oTree.Template = [Background(0) = 16777216] // oTree.Background(0) = 0x1000000
oTree.Template = [Background(26) = 65536] // oTree.Background(26) = 0x10000
oTree.Template = [Background(27) = 16777215] // oTree.Background(27) = 0xffffff
oTree.Template = [Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"] // oTree.Description(25) = "<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>"
oTree.HeaderAppearance = 0
oTree.BackColorHeader = 0x0
oTree.ForeColorHeader = 0xffffff
oTree.HeaderVisible = true
oTree.BackColorLevelHeader = oTree.BackColor
var_Column = oTree.Columns.Add("Filter")
	var_Column.FilterList = 8448 /*exShowExclude | exShowCheckBox*/
	var_Column.DisplayFilterButton = true
	var_Column.AllowSort = false
	var_Column.AllowDragging = false
var_Items = oTree.Items
	var_Items.AddItem("One")
	var_Items.AddItem("Two")
	var_Items.AddItem("Three")
oTree.EndUpdate()

618
How do I change the drop down filter icon/button (white)

local oTree,var_Appearance,var_Column

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Appearance = oTree.VisualAppearance
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YNYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgbhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWBMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=")
	var_Appearance.Add(1,"CP:2 -14 -4 -2 4")
oTree.Template = [Background(0) = 16777216] // oTree.Background(0) = 0x1000000
oTree.Template = [Background(32) = BackColor] // oTree.Background(32) = oTree.BackColor
oTree.HeaderAppearance = 0
oTree.BackColorHeader = 0xffffff
oTree.HeaderVisible = true
oTree.HeaderHeight = 24
oTree.BackColorLevelHeader = oTree.BackColor
var_Column = oTree.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.AllowSort = false
	var_Column.AllowDragging = false
oTree.EndUpdate()

617
Do you have any Fit-To-Page options when printing the control (W x T, Fit-To )

local oTree,rs,var_Print

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.ContinueColumnScroll = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3)
oTree.DataSource = rs
oTree.EndUpdate()
var_Print = new OleAutoClient("Exontrol.Print")
	var_Print.Options = "FitToPage =2 x 1"
	var_Print.PrintExt = oTree
	var_Print.Preview()

616
Do you have any Fit-To-Page options when printing the control ( x T, Fit-To Tall )

local oTree,rs,var_Print

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.ContinueColumnScroll = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3)
oTree.DataSource = rs
oTree.EndUpdate()
var_Print = new OleAutoClient("Exontrol.Print")
	var_Print.Options = "FitToPage = x 2"
	var_Print.PrintExt = oTree
	var_Print.Preview()

615
Do you have any Fit-To-Page options when printing the control ( W x, Fit-To Wide )

local oTree,rs,var_Print

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.ContinueColumnScroll = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3)
oTree.DataSource = rs
oTree.EndUpdate()
var_Print = new OleAutoClient("Exontrol.Print")
	var_Print.Options = "FitToPage = 2 x"
	var_Print.PrintExt = oTree
	var_Print.Preview()

614
Do you have any Fit-To-Page options when printing the control ( percent view, Adjust-To )

local oTree,rs,var_Print

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = false
oTree.ContinueColumnScroll = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3)
oTree.DataSource = rs
oTree.EndUpdate()
var_Print = new OleAutoClient("Exontrol.Print")
	var_Print.Options = "FitToPage = 50%"
	var_Print.PrintExt = oTree
	var_Print.Preview()

613
How do I prevent changing the cell's state ( check-box state )
/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanging = class::nativeObject_CellStateChanging
endwith
*/
// Fired before cell's state is about to be changed.
function nativeObject_CellStateChanging(Item,ColIndex,NewState)
	local var_Items
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
	var_Items = oTree.Items
		NewState = var_Items.CellState(Item,ColIndex)
return

local h,oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = -1
var_Column = oTree.Columns.Add("P1")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oTree.Columns.Add("P2")
	// var_Column1.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(0) = True]
	endwith
	var_Column1.PartialCheck = true
var_Items = oTree.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

612
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local h,oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.LinesAtRoot = 4
oTree.SelBackMode = 1
var_Column = oTree.Columns.Add("Items")
	// var_Column.Def(0) = true
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oTree.Columns.Add("Format")
	var_Column1.FormatColumn = "%CS0"
	var_Column1.Caption = var_Column1.FormatColumn
	// var_Column1.Def(5) = 8421504
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(5) = 8421504]
	endwith
	// var_Column1.Def(8) = var_Column1.Def(5)
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(8) = Def(5)]
	endwith
var_Items = oTree.Items
	h = var_Items.AddItem("Root")
	var_Items.InsertItem(h,null,"Item 1")
	// var_Items.CellState(var_Items.InsertItem(h,null,"Item 2"),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(InsertItem(h,,"Item 2"),0) = 1]
	endwith
	// var_Items.CellState(var_Items.InsertItem(h,null,"Item 3"),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(InsertItem(h,,"Item 3"),0) = 1]
	endwith
	// var_Items.ExpandItem(h) = true
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
oTree.EndUpdate()

611
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Columns.Add("Items")
var_Column = oTree.Columns.Add("Format")
	var_Column.FormatColumn = "%CD0"
	var_Column.Caption = var_Column.FormatColumn
	// var_Column.Def(5) = 8421504
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(5) = 8421504]
	endwith
	// var_Column.Def(8) = var_Column.Def(5)
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(8) = Def(5)]
	endwith
var_Items = oTree.Items
	// var_Items.CellData(var_Items.AddItem("Item 1"),0) = 1234
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellData(AddItem("Item 1"),0) = 1234]
	endwith
	// var_Items.CellData(var_Items.AddItem("Item 2"),0) = "this is just an user data"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellData(AddItem("Item 2"),0) = "this is just an user data"]
	endwith
	// var_Items.CellData(var_Items.AddItem("Item 3"),0) = "01/01/2001"
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellData(AddItem("Item 3"),0) = #1/1/2001#]
	endwith
oTree.EndUpdate()

610
How can I use the CellCaption with ConditionalFormat/ComputedField/FormatColumn

local h,oTree,var_Column,var_Column1,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Columns.Add("Items")
var_Column = oTree.Columns.Add("Format")
	var_Column.FormatColumn = "%0"
	var_Column.Caption = var_Column.FormatColumn
	// var_Column.Def(5) = 8421504
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(5) = 8421504]
	endwith
	// var_Column.Def(8) = var_Column.Def(5)
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(8) = Def(5)]
	endwith
	var_Column.Width = 96
	var_Column.AllowSizing = false
var_Column1 = oTree.Columns.Add("Format")
	var_Column1.FormatColumn = "%C0"
	var_Column1.Caption = var_Column1.FormatColumn
	// var_Column1.Def(5) = 8421504
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(5) = 8421504]
	endwith
	// var_Column1.Def(8) = var_Column1.Def(5)
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(8) = Def(5)]
	endwith
	var_Column1.Width = 96
	var_Column1.AllowSizing = false
var_Items = oTree.Items
	var_Items.AddItem(1)
	h = var_Items.AddItem(0)
	// var_Items.CellCaption(h,0) = "<b>HTML</b> Text"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,0) = "<b>HTML</b> Text"]
	endwith
	// var_Items.CellCaptionFormat(h,0) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaptionFormat(h,0) = 1]
	endwith
	var_Items.AddItem(2)
oTree.EndUpdate()

609
Can I display the radio-button with a solid color

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Template = [RadioImage(0) = 32699122] // oTree.RadioImage(false) = 32699122
oTree.Template = [RadioImage(1) = 16777216] // oTree.RadioImage(true) = 16777216
// oTree.Columns.Add("Check").Def(1) = true
var_Column = oTree.Columns.Add("Check")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(1) = True]
endwith
var_Items = oTree.Items
	var_Items.AddItem("Radio 1")
	// var_Items.CellState(var_Items.AddItem("Radio 2"),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Radio 2"),0) = 1]
	endwith
	var_Items.AddItem("Radio 1")
oTree.EndUpdate()

608
Can I display the check-box with a solid color

local oTree,var_Column,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.Template = [CheckImage(0) = 32699122] // oTree.CheckImage(0) = 32699122
oTree.Template = [CheckImage(1) = 16777216] // oTree.CheckImage(1) = 16777216
// oTree.Columns.Add("Check").Def(0) = true
var_Column = oTree.Columns.Add("Check")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(0) = True]
endwith
var_Items = oTree.Items
	var_Items.AddItem("Check 1")
	// var_Items.CellState(var_Items.AddItem("Check 2"),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Check 2"),0) = 1]
	endwith
	var_Items.AddItem("Check 3")
oTree.EndUpdate()

607
Can I display the column's multiple-lines caption vertically oriented (method 2)

local oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 48
oTree.ColumnAutoResize = true
var_Columns = oTree.Columns
	var_Columns.Add("And others ...")
	var_Column = var_Columns.Add("")
		var_Column.HTMLCaption = "First Column"
		var_Column.HeaderVertical = true
		var_Column.Width = 36
		var_Column.AllowSizing = false
		// var_Column.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(0) = True]
		endwith
		// var_Column.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(48) = 8]
		endwith
		var_Column.Position = 0
	var_Column1 = var_Columns.Add("")
		var_Column1.HTMLCaption = "<c><b>Second Column"
		var_Column1.HeaderVertical = true
		var_Column1.Width = 36
		var_Column1.AllowSizing = false
		// var_Column1.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(0) = True]
		endwith
		// var_Column1.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(48) = 8]
		endwith
		var_Column1.Position = 1
	var_Column2 = var_Columns.Add("")
		var_Column2.HTMLCaption = "<r>Third Column"
		var_Column2.HeaderVertical = true
		var_Column2.Width = 36
		var_Column2.AllowSizing = false
		// var_Column2.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(0) = True]
		endwith
		// var_Column2.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(48) = 8]
		endwith
		var_Column2.Position = 2
var_Items = oTree.Items
	// var_Items.CellState(var_Items.AddItem("Item 1"),3) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 1"),3) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 2"),2) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2"),2) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 3"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 3"),1) = 1]
	endwith
oTree.EndUpdate()

606
Can I display the column's multiple-lines caption vertically oriented (method 1)

local oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 48
oTree.HeaderSingleLine = false
oTree.ColumnAutoResize = true
var_Columns = oTree.Columns
	var_Columns.Add("And others ...")
	var_Column = var_Columns.Add("First Column")
		var_Column.HeaderVertical = true
		var_Column.Width = 36
		var_Column.AllowSizing = false
		// var_Column.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(0) = True]
		endwith
		// var_Column.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(48) = 8]
		endwith
		var_Column.Position = 0
	var_Column1 = var_Columns.Add("Second Column")
		var_Column1.HeaderBold = true
		var_Column1.HeaderVertical = true
		var_Column1.Width = 36
		var_Column1.AllowSizing = false
		// var_Column1.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(0) = True]
		endwith
		// var_Column1.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(48) = 8]
		endwith
		var_Column1.Position = 1
	var_Column2 = var_Columns.Add("Third Column")
		var_Column2.HeaderVertical = true
		var_Column2.Width = 36
		var_Column2.AllowSizing = false
		// var_Column2.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(0) = True]
		endwith
		// var_Column2.Def(48) = 8
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(48) = 8]
		endwith
		var_Column2.Position = 2
var_Items = oTree.Items
	// var_Items.CellState(var_Items.AddItem("Item 1"),3) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 1"),3) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 2"),2) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2"),2) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 3"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 3"),1) = 1]
	endwith
oTree.EndUpdate()

605
Can I display the column's caption vertically oriented (method 2)

local oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 48
oTree.ColumnAutoResize = true
var_Columns = oTree.Columns
	var_Columns.Add("And others ...")
	var_Column = var_Columns.Add("")
		var_Column.HTMLCaption = "First"
		var_Column.HeaderVertical = true
		var_Column.Width = 20
		var_Column.AllowSizing = false
		// var_Column.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(0) = True]
		endwith
		var_Column.Position = 0
	var_Column1 = var_Columns.Add("")
		var_Column1.HTMLCaption = "<c><b>Second"
		var_Column1.HeaderVertical = true
		var_Column1.Width = 20
		var_Column1.AllowSizing = false
		// var_Column1.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(0) = True]
		endwith
		var_Column1.Position = 1
	var_Column2 = var_Columns.Add("")
		var_Column2.HTMLCaption = "<r>Third"
		var_Column2.HeaderVertical = true
		var_Column2.Width = 20
		var_Column2.AllowSizing = false
		// var_Column2.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(0) = True]
		endwith
		var_Column2.Position = 2
var_Items = oTree.Items
	// var_Items.CellState(var_Items.AddItem("Item 1"),3) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 1"),3) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 2"),2) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2"),2) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 3"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 3"),1) = 1]
	endwith
oTree.EndUpdate()

604
Can I display the column's caption vertically oriented (method 1)

local oTree,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.HeaderHeight = 48
oTree.ColumnAutoResize = true
var_Columns = oTree.Columns
	var_Columns.Add("And others ...")
	var_Column = var_Columns.Add("First")
		var_Column.HeaderVertical = true
		var_Column.Width = 20
		var_Column.AllowSizing = false
		// var_Column.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(0) = True]
		endwith
		var_Column.Position = 0
	var_Column1 = var_Columns.Add("Second")
		var_Column1.HeaderBold = true
		var_Column1.HeaderVertical = true
		var_Column1.Width = 20
		var_Column1.AllowSizing = false
		// var_Column1.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(0) = True]
		endwith
		var_Column1.Position = 1
	var_Column2 = var_Columns.Add("Third")
		var_Column2.HeaderVertical = true
		var_Column2.Width = 20
		var_Column2.AllowSizing = false
		// var_Column2.Def(0) = true
		with (oTree)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(0) = True]
		endwith
		var_Column2.Position = 2
var_Items = oTree.Items
	// var_Items.CellState(var_Items.AddItem("Item 1"),3) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 1"),3) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 2"),2) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2"),2) = 1]
	endwith
	// var_Items.CellState(var_Items.AddItem("Item 3"),1) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 3"),1) = 1]
	endwith
oTree.EndUpdate()

603
How do I automatically bold items being checked

/*
with (this.EXTREEACTIVEXCONTROL1.nativeObject)
	CellStateChanged = class::nativeObject_CellStateChanged
endwith
*/
// Fired after cell's state has been changed.
function nativeObject_CellStateChanged(Item,ColIndex)
	oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
return

local oTree,var_Column,var_Column1,var_ConditionalFormat,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.SelBackMode = 1
var_ConditionalFormat = oTree.ConditionalFormats.Add("%CS0","check")
	var_ConditionalFormat.Bold = true
// oTree.Columns.Add("Items").Def(0) = true
var_Column = oTree.Columns.Add("Items")
with (oTree)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(0) = True]
endwith
// oTree.Columns.Add(oTree.ConditionalFormats.Item("check").Expression).FormatColumn = oTree.ConditionalFormats.Item("check").Expression
var_Column1 = oTree.Columns.Add(oTree.ConditionalFormats.Item("check").Expression)
with (oTree)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = Me.ConditionalFormats.Item("check").Expression]
endwith
var_Items = oTree.Items
	var_Items.AddItem("Item 1")
	// var_Items.CellState(var_Items.AddItem("Item 2"),0) = 1
	with (oTree)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(AddItem("Item 2"),0) = 1]
	endwith
	var_Items.AddItem("Item 3")
oTree.EndUpdate()

602
How can I include the child items, when a filter is applied

local h0,oTree,var_Column,var_Column1,var_Columns,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
oTree.ColumnAutoResize = true
oTree.ContinueColumnScroll = false
oTree.MarkSearchColumn = false
oTree.SearchColumnIndex = 1
oTree.Indent = 16
oTree.LinesAtRoot = -1
oTree.FilterBarPromptVisible = true
oTree.FilterBarPromptPattern = "Nancy"
oTree.FilterInclude = 1
var_Columns = oTree.Columns
	// var_Columns.Add("Name").Width = 96
	var_Column = var_Columns.Add("Name")
	with (oTree)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Width = 96]
	endwith
	// var_Columns.Add("Title").Width = 96
	var_Column1 = var_Columns.Add("Title")
	with (oTree)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Width = 96]
	endwith
	var_Columns.Add("City")
var_Items = oTree.Items
	h0 = var_Items.AddItem("Nancy Davolio")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Seattle"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Seattle"]
	endwith
	h0 = var_Items.InsertItem(h0,null,"Andrew Fuller")
	// var_Items.CellCaption(h0,1) = "Vice President, Sales"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Vice President, Sales"]
	endwith
	// var_Items.CellCaption(h0,2) = "Tacoma"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Tacoma"]
	endwith
	h0 = var_Items.InsertItem(h0,null,"Michael Suyama")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "London"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "London"]
	endwith
	h0 = var_Items.AddItem("Janet Leverling")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Kirkland"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Kirkland"]
	endwith
	h0 = var_Items.InsertItem(h0,null,"Margaret Peacock")
	// var_Items.CellCaption(h0,1) = "Sales Representative"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,1) = "Sales Representative"]
	endwith
	// var_Items.CellCaption(h0,2) = "Redmond"
	with (oTree)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellCaption(h0,2) = "Redmond"]
	endwith
oTree.ApplyFilter()
oTree.EndUpdate()

601
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

local h,oTree,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oTree = form.EXTREEACTIVEXCONTROL1.nativeObject
oTree.BeginUpdate()
var_Column = oTree.Columns.Add("Date")
	var_Column.SortType = 2
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = false
	var_Column.DisplayFilterDate = true
	var_Column.FilterList = 1296 /*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/
var_Column1 = oTree.Columns.Add("DateTime")
	var_Column1.SortType = 3
	var_Column1.DisplayFilterButton = true
	var_Column1.DisplayFilterPattern = false
	var_Column1.FilterList = 1296 /*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/
var_Column2 = oTree.Columns.Add("Time")
	var_Column2.SortType = 4
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterList = 1296 /*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/
	var_Column2.FormatColumn = "time(value)"
var_Column3 = oTree.Columns.Add("Numeric")
	var_Column3.SortType = 1
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterList = 1296 /*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/
var_Column4 = oTree.Columns.Add("String")
	var_Column4.DisplayFilterButton = true
	var_Column4.FilterList = 1296 /*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/
var_Items = oTree.Items
	h = var_Items.AddItem("01/27/2010")
	// var_Items.CellCaption(h,1) = "01/27/2010 10:00:00"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = #1/27/2010 10:00:00 AM#]
	endwith
	// var_Items.CellCaption(h,2) = var_Items.CellCaption(h,1)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = CellCaption(h,1)]
	endwith
	// var_Items.CellCaption(h,3) = 1
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = 1]
	endwith
	// var_Items.CellCaption(h,4) = var_Items.CellCaption(h,3)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,4) = CellCaption(h,3)]
	endwith
	h = var_Items.AddItem("01/27/2011")
	// var_Items.CellCaption(h,1) = "01/27/2011 09:00:00"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = #1/27/2011 9:00:00 AM#]
	endwith
	// var_Items.CellCaption(h,2) = var_Items.CellCaption(h,1)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = CellCaption(h,1)]
	endwith
	// var_Items.CellCaption(h,3) = 11
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = 11]
	endwith
	// var_Items.CellCaption(h,4) = var_Items.CellCaption(h,3)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,4) = CellCaption(h,3)]
	endwith
	h = var_Items.AddItem("11/02/2010")
	// var_Items.CellCaption(h,1) = "11/02/2010 09:00:00"
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,1) = #11/2/2010 9:00:00 AM#]
	endwith
	// var_Items.CellCaption(h,2) = var_Items.CellCaption(h,1)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,2) = CellCaption(h,1)]
	endwith
	// var_Items.CellCaption(h,3) = 2
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,3) = 2]
	endwith
	// var_Items.CellCaption(h,4) = var_Items.CellCaption(h,3)
	with (oTree)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellCaption(h,4) = CellCaption(h,3)]
	endwith
oTree.Columns.Item("DateTime").DisplayFilterDate = false
oTree.EndUpdate()