724
Highlight the match once the filter is applied

// FilterChange event - Notifies your application that the filter is changed.
void onEvent_FilterChange()
{
	COM com_Column;
	COMVariant format;
	anytype var_Column;
	;
	format = extree1.FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",COMVariant::createFromStr(extree1.FilterBarPromptPattern()));
	var_Column = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.FormatColumn(format);
	var_Column = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
	com_Column.FormatColumn(format);
	var_Column = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
	com_Column.FormatColumn(format);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	COMVariant format;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	int h0;
	;

	super();

	extree1.BeginUpdate();
	extree1.SelBackColor(extree1.BackColor());
	extree1.SelForeColor(extree1.ForeColor());
	extree1.ColumnAutoResize(true);
	extree1.ContinueColumnScroll(0);
	extree1.MarkSearchColumn(false);
	extree1.SearchColumnIndex(1);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.HeaderHeight(23);
	extree1.BackColorLevelHeader(extree1.BackColor());
	extree1.FilterBarCaption("`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
	extree1.FilterBarPromptVisible(2055/*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	extree1.FilterBarBackColor(extree1.BackColor());
	extree1.FilterBarPromptPattern("and");
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Name")); com_Column = var_Column;
			com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column.FormatColumn("lower(value)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Title")); com_Column1 = var_Column1;
			com_Column1.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column1.FormatColumn("lower(value)");
		var_Column2 = COM::createFromVariant(com_Columns.Add("City")); com_Column2 = var_Column2;
			com_Column2.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column2.FormatColumn("lower(value)");
	var_Items = extree1.Items(); com_Items = var_Items;
		h0 = com_Items.AddItem("Nancy Davolio");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.AddItem("Andrew Fuller");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Vice President, Sales");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Tacoma");
		com_Items.SelectItem(h0,1);
		h0 = com_Items.AddItem("Janet Leverling");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Kirkland");
		h0 = com_Items.AddItem("Margaret Peacock");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Redmond");
		h0 = com_Items.AddItem("Steven Buchanan");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Manager");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Michael Suyama");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Robert King");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Laura Callahan");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Inside Sales Coordinator");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.AddItem("Anne Dodsworth");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
	extree1.EndUpdate();
}
723
ADOR, MDB (JET)

public void init()
{
	COM com_rs;
	anytype rs;
	;

	super();

	extree1.ColumnAutoResize(false);
	extree1.ContinueColumnScroll(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
}
722
Re-order the cell's caption, icons and images/pictures

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	str var_s,var_s1,var_s2;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc";
	var_s = var_s + "D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("ToLeft")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("ToRight")); com_Column1 = var_Column1;
		com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column1.Def(34/*exCellDrawPartsOrder*/,"caption,picture,icons,icon,check");
	extree1.DefaultItemHeight(32);
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.HeaderAppearance(4/*Etched*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Caption");
		com_Items.CellImage(h,COMVariant::createFromInt(0),2);
		com_Items.CellImages(h,COMVariant::createFromInt(0),"1,2");
		var_s1 = "loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsG";
		var_s1 = var_s1 + "L2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7F";
		var_s1 = var_s1 + "XI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FC";
		var_s1 = var_s1 + "jVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4w";
		var_s1 = var_s1 + "G8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQ";
		var_s1 = var_s1 + "JAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZen";
		var_s1 = var_s1 + "EVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFp";
		var_s1 = var_s1 + "TheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siq";
		var_s1 = var_s1 + "bZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxX";
		var_s1 = var_s1 + "hIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DP";
		var_s1 = var_s1 + "H8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAm";
		var_s1 = var_s1 + "Bgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCME";
		var_s1 = var_s1 + "gSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByj";
		var_s1 = var_s1 + "JGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0Wg";
		var_s1 = var_s1 + "LhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHC";
		var_s1 = var_s1 + "BwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1";
		var_s1 = var_s1 + "iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL";
		var_s1 = var_s1 + "4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0F";
		var_s1 = var_s1 + "qGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdg";
		var_s1 = var_s1 + "uhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGU";
		var_s1 = var_s1 + "SNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhA";
		var_s1 = var_s1 + "FaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6";
		var_s1 = var_s1 + "BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZ";
		var_s1 = var_s1 + "QS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gmi";
		var_s1 = var_s1 + "XE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAY";
		var_s1 = var_s1 + "Aah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5";
		var_s1 = var_s1 + "AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARAS";
		var_s1 = var_s1 + "A/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AI";
		var_s1 = var_s1 + "BdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAd";
		var_s1 = var_s1 + "AcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBP";
		var_s1 = var_s1 + "hSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAh";
		var_s1 = var_s1 + "hLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBv";
		var_s1 = var_s1 + "gjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAG";
		var_s1 = var_s1 + "hvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/";
		var_s1 = var_s1 + "gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sU";
		var_s1 = var_s1 + "hMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4Af";
		var_s1 = var_s1 + "gZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xM";
		var_s1 = var_s1 + "hgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2";
		var_s1 = var_s1 + "BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBW";
		var_s1 = var_s1 + "hFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagx";
		var_s1 = var_s1 + "AkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9Bt";
		var_s1 = var_s1 + "nWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBU";
		var_s1 = var_s1 + "gphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAj";
		var_s1 = var_s1 + "AjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihF";
		var_s1 = var_s1 + "h7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAu";
		var_s1 = var_s1 + "AXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAF";
		var_s1 = var_s1 + "BNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3";
		var_s1 = var_s1 + "ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhchu";
		var_s1 = var_s1 + "g3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQ";
		var_s1 = var_s1 + "AcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhT";
		var_s1 = var_s1 + "g9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5W";
		var_s1 = var_s1 + "gZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAk";
		var_s1 = var_s1 + "gqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgq";
		var_s1 = var_s1 + "gqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhV";
		var_s1 = var_s1 + "gmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBW";
		var_s1 = var_s1 + "h3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAG";
		var_s1 = var_s1 + "Ashzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOr";
		var_s1 = var_s1 + "C0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTW";
		var_s1 = var_s1 + "P1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi";
		var_s1 = var_s1 + "4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8P";
		var_s1 = var_s1 + "iPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLC";
		var_s1 = var_s1 + "s8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyD";
		var_s1 = var_s1 + "QCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOA";
		var_s1 = var_s1 + "pDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5";
		var_s1 = var_s1 + "Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)";
		com_Items.CellPicture(h,COMVariant::createFromInt(0),COM::createFromVariant(extree1.ExecuteTemplate(var_s1)));
		com_Items.CellCaption(h,COMVariant::createFromInt(1),com_Items.CellCaption(h,COMVariant::createFromInt(0)));
		com_Items.CellHAlignment(h,COMVariant::createFromInt(1),2/*RightAlignment*/);
		com_Items.CellImage(h,COMVariant::createFromInt(1),com_Items.CellImage(h,COMVariant::createFromInt(0)));
		com_Items.CellImages(h,COMVariant::createFromInt(1),"2,1");
		com_Items.CellPicture(h,COMVariant::createFromInt(1),COM::createFromVariant(com_Items.CellPicture(h,COMVariant::createFromInt(0))));
		h = com_Items.AddItem("<b>HTML</b> <off 4>Caption");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellImage(h,COMVariant::createFromInt(0),2);
		com_Items.CellImages(h,COMVariant::createFromInt(0),"1,2");
		var_s2 = "loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsG";
		var_s2 = var_s2 + "L2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7F";
		var_s2 = var_s2 + "XI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FC";
		var_s2 = var_s2 + "jVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4w";
		var_s2 = var_s2 + "G8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQ";
		var_s2 = var_s2 + "JAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZen";
		var_s2 = var_s2 + "EVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFp";
		var_s2 = var_s2 + "TheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siq";
		var_s2 = var_s2 + "bZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxX";
		var_s2 = var_s2 + "hIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DP";
		var_s2 = var_s2 + "H8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAm";
		var_s2 = var_s2 + "Bgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCME";
		var_s2 = var_s2 + "gSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByj";
		var_s2 = var_s2 + "JGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0Wg";
		var_s2 = var_s2 + "LhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHC";
		var_s2 = var_s2 + "BwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1";
		var_s2 = var_s2 + "iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL";
		var_s2 = var_s2 + "4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0F";
		var_s2 = var_s2 + "qGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdg";
		var_s2 = var_s2 + "uhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGU";
		var_s2 = var_s2 + "SNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhA";
		var_s2 = var_s2 + "FaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6";
		var_s2 = var_s2 + "BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZ";
		var_s2 = var_s2 + "QS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gmi";
		var_s2 = var_s2 + "XE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAY";
		var_s2 = var_s2 + "Aah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5";
		var_s2 = var_s2 + "AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARAS";
		var_s2 = var_s2 + "A/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AI";
		var_s2 = var_s2 + "BdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAd";
		var_s2 = var_s2 + "AcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBP";
		var_s2 = var_s2 + "hSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAh";
		var_s2 = var_s2 + "hLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBv";
		var_s2 = var_s2 + "gjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAG";
		var_s2 = var_s2 + "hvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/";
		var_s2 = var_s2 + "gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sU";
		var_s2 = var_s2 + "hMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4Af";
		var_s2 = var_s2 + "gZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xM";
		var_s2 = var_s2 + "hgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2";
		var_s2 = var_s2 + "BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBW";
		var_s2 = var_s2 + "hFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagx";
		var_s2 = var_s2 + "AkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9Bt";
		var_s2 = var_s2 + "nWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBU";
		var_s2 = var_s2 + "gphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAj";
		var_s2 = var_s2 + "AjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihF";
		var_s2 = var_s2 + "h7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAu";
		var_s2 = var_s2 + "AXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAF";
		var_s2 = var_s2 + "BNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3";
		var_s2 = var_s2 + "ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhchu";
		var_s2 = var_s2 + "g3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQ";
		var_s2 = var_s2 + "AcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhT";
		var_s2 = var_s2 + "g9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5W";
		var_s2 = var_s2 + "gZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAk";
		var_s2 = var_s2 + "gqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgq";
		var_s2 = var_s2 + "gqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhV";
		var_s2 = var_s2 + "gmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBW";
		var_s2 = var_s2 + "h3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAG";
		var_s2 = var_s2 + "Ashzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOr";
		var_s2 = var_s2 + "C0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTW";
		var_s2 = var_s2 + "P1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi";
		var_s2 = var_s2 + "4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8P";
		var_s2 = var_s2 + "iPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLC";
		var_s2 = var_s2 + "s8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyD";
		var_s2 = var_s2 + "QCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOA";
		var_s2 = var_s2 + "pDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5";
		var_s2 = var_s2 + "Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)";
		com_Items.CellPicture(h,COMVariant::createFromInt(0),COM::createFromVariant(extree1.ExecuteTemplate(var_s2)));
		com_Items.CellCaption(h,COMVariant::createFromInt(1),com_Items.CellCaption(h,COMVariant::createFromInt(0)));
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(1),1/*exHTML*/);
		com_Items.CellHAlignment(h,COMVariant::createFromInt(1),2/*RightAlignment*/);
		com_Items.CellImage(h,COMVariant::createFromInt(1),com_Items.CellImage(h,COMVariant::createFromInt(0)));
		com_Items.CellImages(h,COMVariant::createFromInt(1),"2,1");
		com_Items.CellPicture(h,COMVariant::createFromInt(1),COM::createFromVariant(com_Items.CellPicture(h,COMVariant::createFromInt(0))));
	extree1.EndUpdate();
}
721
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
	;
}

public void init()
{
	COM com_Appearance,com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	int h,hR;
	str var_s,var_s1,var_s2,var_s3,var_s4;
	;

	super();

	extree1.BeginUpdate();
	extree1.ImageSize(32);
	extree1.DefaultItemHeight(36);
	extree1.HeaderHeight(extree1.DefaultItemHeight());
	extree1.SortBarHeight(extree1.DefaultItemHeight());
	extree1.Font().Size(16);
	extree1.FilterBarFont().Size(extree1.Font().Size());
	extree1.ToolTipFont().Size(extree1.Font().Size());
	extree1.Indent(26);
	var_s = "gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqN";
	var_s = var_s + "UqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwy";
	var_s = var_s + "V21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CM";
	var_s = var_s + "Po9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9F";
	var_s = var_s + "EKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y";
	var_s = var_s + "7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkF";
	var_s = var_s + "gTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtN";
	var_s = var_s + "hCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xio";
	var_s = var_s + "W5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4";
	var_s = var_s + "VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6";
	var_s = var_s + "/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVD";
	var_s = var_s + "NKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJyT";
	var_s = var_s + "8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlff";
	var_s = var_s + "EkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6";
	var_s = var_s + "I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8Rg";
	var_s = var_s + "H5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWR";
	var_s = var_s + "JNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s1 = var_s1 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s1 = var_s1 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR";
		var_s1 = var_s1 + "DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF";
		var_s1 = var_s1 + "oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk";
		var_s1 = var_s1 + "mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo";
		var_s1 = var_s1 + "chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0";
		var_s1 = var_s1 + "ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8";
		var_s1 = var_s1 + "CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U";
		var_s1 = var_s1 + "gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s2 = var_s2 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s2 = var_s2 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s2 = var_s2 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnSc";
		var_s2 = var_s2 + "g1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpA";
		var_s2 = var_s2 + "oPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDR";
		var_s2 = var_s2 + "DFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lG";
		var_s2 = var_s2 + "NAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBg";
		var_s2 = var_s2 + "k0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuX";
		var_s2 = var_s2 + "pMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2Cy";
		var_s2 = var_s2 + "A4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8Rp";
		var_s2 = var_s2 + "BzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8T";
		var_s2 = var_s2 + "I7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeH";
		var_s2 = var_s2 + "GFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuh";
		var_s2 = var_s2 + "oiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMs";
		var_s2 = var_s2 + "CwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4ga";
		var_s2 = var_s2 + "BEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgs";
		var_s2 = var_s2 + "wOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtY";
		var_s2 = var_s2 + "QGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBh";
		var_s2 = var_s2 + "YDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0Mg";
		var_s2 = var_s2 + "RBCCQAgQEA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s2));
		var_s3 = "gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s3 = var_s3 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s3 = var_s3 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s3 = var_s3 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSe";
		var_s3 = var_s3 + "Q7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjn";
		var_s3 = var_s3 + "OIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ";
		var_s3 = var_s3 + "9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGS";
		var_s3 = var_s3 + "UwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4y";
		var_s3 = var_s3 + "mkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkX";
		var_s3 = var_s3 + "I/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6";
		var_s3 = var_s3 + "BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRA";
		var_s3 = var_s3 + "jDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBEB";
		var_s3 = var_s3 + "wpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQH";
		var_s3 = var_s3 + "oFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRh";
		var_s3 = var_s3 + "cDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQ";
		var_s3 = var_s3 + "AA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjV";
		var_s3 = var_s3 + "HiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4z";
		var_s3 = var_s3 + "xW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH";
		var_s3 = var_s3 + "0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s3));
		var_s4 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s4 = var_s4 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s4 = var_s4 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s4 = var_s4 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s4 = var_s4 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s4 = var_s4 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s4 = var_s4 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s4 = var_s4 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s4 = var_s4 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s4));
	extree1.BackColorHeader(0x4c6c6c6);
	extree1.SelBackColor(0x4000000);
	extree1.SelForeColor(WinApi::RGB2int(0,0,1));
	extree1.CheckImage(0/*Unchecked*/,16777216);
	extree1.CheckImage(1/*Checked*/,33554432);
	extree1.CheckImage(2/*PartialChecked*/,50331648);
	extree1.Background(20/*exSelBackColorFilter*/,extree1.SelBackColor());
	extree1.Background(21/*exSelForeColorFilter*/,extree1.SelForeColor());
	extree1.Background(26/*exBackColorFilter*/,extree1.BackColor());
	extree1.Background(27/*exForeColorFilter*/,extree1.ForeColor());
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.Background(0/*exHeaderFilterBarButton*/,0x4000000);
	extree1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	extree1.Background(1/*exFooterFilterBarButton*/,0x40000ff);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.ShowFocusRect(false);
	extree1.SortBarVisible(true);
	extree1.BackColorSortBar(extree1.BackColor());
	extree1.BackColorLevelHeader(extree1.BackColor());
	extree1.FilterBarDropDownHeight(1);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Width(128);
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(256/*exShowCheckBox*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 pos ``");
		com_Column1.AllowSort(false);
		com_Column1.Width(48);
		com_Column1.AllowSizing(false);
		com_Column1.Alignment(1/*CenterAlignment*/);
		com_Column1.HeaderAlignment(1/*CenterAlignment*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column2 = var_Column2;
		com_Column2.DisplayFilterButton(true);
		com_Column2.FilterList(8480/*exShowExclude | exShowCheckBox | exSortItemsAsc*/);
		com_Column2.FilterType(10/*exImage*/);
		com_Column2.DisplayExpandButton(true);
		com_Column2.ExpandColumns("1,2,3");
		com_Column2.Width(128);
		com_Column2.HeaderImage(1);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Images")); com_Column3 = var_Column3;
		com_Column3.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column3.Width(196);
		com_Column3.HTMLCaption("<img>1</img><img>2</img><img>3</img> Images");
	var_Column4 = COM::createFromObject(extree1.Columns()).Item("Pos"); com_Column4 = var_Column4;
	com_Column4.Position(3);
	var_Items = extree1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.ItemDivider(hR,0);
		com_Items.ItemDividerLine(hR,0/*EmptyLine*/);
		h = com_Items.InsertItem(hR,,"Child A");
		com_Items.CellImage(h,COMVariant::createFromInt(2),1);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"1,2,3");
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"123");
		h = com_Items.InsertItem(hR,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.CellImage(h,COMVariant::createFromInt(2),3);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"2,3,1");
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"231");
		com_Items.SelectItem(h,true);
		h = com_Items.InsertItem(hR,,"Child C");
		com_Items.CellImage(h,COMVariant::createFromInt(2),2);
		com_Items.CellState(h,COMVariant::createFromInt(3),1);
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"312");
		com_Items.CellImages(h,COMVariant::createFromInt(3),"3,1,2");
		com_Items.ExpandItem(hR,true);
	extree1.EndUpdate();
}
720
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
	;
}

public void init()
{
	COM com_Appearance,com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	int h,hR;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	extree1.ImageSize(16);
	var_s = "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd";
	var_s = var_s + "SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt";
	var_s = var_s + "mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac";
	var_s = var_s + "vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG";
	var_s = var_s + "sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn";
	var_s = var_s + "wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s1 = var_s1 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s1 = var_s1 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s1 = var_s1 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s1 = var_s1 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s1 = var_s1 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s1 = var_s1 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s1 = var_s1 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s1 = var_s1 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
	extree1.BackColorHeader(0x4c6c6c6);
	extree1.SelBackColor(0x4000000);
	extree1.SelForeColor(WinApi::RGB2int(0,0,1));
	extree1.Background(20/*exSelBackColorFilter*/,extree1.SelBackColor());
	extree1.Background(21/*exSelForeColorFilter*/,extree1.SelForeColor());
	extree1.Background(26/*exBackColorFilter*/,extree1.BackColor());
	extree1.Background(27/*exForeColorFilter*/,extree1.ForeColor());
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.Background(0/*exHeaderFilterBarButton*/,0x4000000);
	extree1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	extree1.Background(1/*exFooterFilterBarButton*/,0x40000ff);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.ShowFocusRect(false);
	extree1.SortBarVisible(true);
	extree1.BackColorSortBar(extree1.BackColor());
	extree1.BackColorLevelHeader(extree1.BackColor());
	extree1.FilterBarDropDownHeight(1);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Width(128);
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(256/*exShowCheckBox*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 pos ``");
		com_Column1.AllowSort(false);
		com_Column1.Width(48);
		com_Column1.AllowSizing(false);
		com_Column1.Alignment(1/*CenterAlignment*/);
		com_Column1.HeaderAlignment(1/*CenterAlignment*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column2 = var_Column2;
		com_Column2.DisplayFilterButton(true);
		com_Column2.FilterList(8480/*exShowExclude | exShowCheckBox | exSortItemsAsc*/);
		com_Column2.FilterType(10/*exImage*/);
		com_Column2.DisplayExpandButton(true);
		com_Column2.ExpandColumns("1,2,3");
		com_Column2.Width(128);
		com_Column2.HeaderImage(1);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Images")); com_Column3 = var_Column3;
		com_Column3.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column3.Width(196);
		com_Column3.HTMLCaption("<img>1</img><img>2</img><img>3</img> Images");
	var_Column4 = COM::createFromObject(extree1.Columns()).Item("Pos"); com_Column4 = var_Column4;
	com_Column4.Position(3);
	var_Items = extree1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.ItemDivider(hR,0);
		com_Items.ItemDividerLine(hR,0/*EmptyLine*/);
		h = com_Items.InsertItem(hR,,"Child A");
		com_Items.CellImage(h,COMVariant::createFromInt(2),1);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"1,2,3");
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"123");
		h = com_Items.InsertItem(hR,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.CellImage(h,COMVariant::createFromInt(2),3);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"2,3,1");
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"231");
		com_Items.SelectItem(h,true);
		h = com_Items.InsertItem(hR,,"Child C");
		com_Items.CellImage(h,COMVariant::createFromInt(2),2);
		com_Items.CellState(h,COMVariant::createFromInt(3),1);
		com_Items.CellCaption(h,COMVariant::createFromInt(3),"312");
		com_Items.CellImages(h,COMVariant::createFromInt(3),"3,1,2");
		com_Items.ExpandItem(hR,true);
	extree1.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

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	;
}

public void init()
{
	COM com_Column,com_rs;
	anytype rs,var_Column;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	var_Column = COM::createFromObject(extree1.Columns()).Item("ShipVia"); com_Column = var_Column;
	com_Column.Position(2);
	extree1.EndUpdate();
}
718
Is it possible to set from code, a column sort without being inserted in the sortbar

public void init()
{
	COM com_rs;
	anytype rs;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",1/*adOpenKeyset*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	extree1.SortBarVisible(true);
	extree1.Layout("singlesort=\"C1:1\"");
	extree1.EndUpdate();
}
717
Is it possible to view all events the control fires
// Event event - Notifies the application once the control fires an event.
void onEvent_Event(int   _EventID)
{
	;
	print( extree1.EventParam(-2) );
}

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
716
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void onEvent_BeforeExpandItem(int   _Item,COMVariant /*variant*/   _Cancel)
{
	;
	_Cancel = extree1.Items().ItemParent(_Item);
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.SingleSel(false);
	extree1.Columns().Add("Default");
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(com_Items.InsertItem(h,,"Child 1.1"),,"Child");
		com_Items.InsertItem(h,,"Child 1.2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(com_Items.InsertItem(h,,"Child 2.1"),,"Child");
		com_Items.InsertItem(h,,"Child 2.2");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
715
How can I display an item of picture type

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,h1;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.ScrollBySingleLine(false);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.HeaderHeight(24);
	COM::createFromVariant(extree1.Columns().Add("Artikel")).HTMLCaption("<u>Artikel");
	COM::createFromVariant(extree1.Columns().Add("Waarde")).HTMLCaption("<u>Waarde");
	extree1.HTMLPicture("T22128","c:\\exontrol\\images\\zipdisk.gif");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("T22128-28)2D");
		h1 = com_Items.InsertItem(h,,"<img>T22128:128</img>");
		com_Items.CellCaptionFormat(h1,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.ItemHeight(h1,128);
		h1 = com_Items.InsertItem(h,,"werkvoorbereiding");
		com_Items.CellCaption(h1,COMVariant::createFromInt(1),"5.80");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Type"),COMVariant::createFromInt(1),"Eenvoudig");
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Prijs p/uur"),COMVariant::createFromInt(1),"60,00");
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Marhe"),COMVariant::createFromInt(1),"15,00%");
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Insteltijd min."),COMVariant::createFromInt(1),"5,00");
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Aantal"),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellCaption(com_Items.InsertItem(h1,,"Kostprije"),COMVariant::createFromInt(1),"5,00");
		com_Items.ExpandItem(h1,true);
		h1 = com_Items.InsertItem(h,,"materiall");
		com_Items.CellCaption(h1,COMVariant::createFromInt(1),"14.82");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.ItemHasChildren(h1,true);
		h1 = com_Items.InsertItem(h,,"snijden");
		com_Items.CellCaption(h1,COMVariant::createFromInt(1),"3.13");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.ItemHasChildren(h1,true);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
714
Dark mode

public void init()
{
	str back,fore,var_s,var_s1,var_s2;
	;

	super();

	extree1.BeginUpdate();
	back = 65536;
	fore = 16777215;
	var_s = "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg";
	var_s = var_s + "mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd";
	var_s = var_s + "r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	var_s1 = "gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4bi";
	var_s1 = var_s1 + "aKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA";
	extree1.VisualAppearance().Add(2,COMVariant::createFromStr(var_s1));
	var_s2 = "gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5Cj";
	var_s2 = var_s2 + "mG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxb";
	var_s2 = var_s2 + "buaaXLhGCYBgIA==";
	extree1.VisualAppearance().Add(3,COMVariant::createFromStr(var_s2));
	extree1.HeaderAppearance(5/*Bump*/);
	extree1.BackColor(back);
	extree1.BackColorHeader(back);
	extree1.BackColorLevelHeader(back);
	extree1.BackColorSortBar(back);
	extree1.BackColorSortBarCaption(back);
	extree1.FilterBarBackColor(back);
	extree1.FilterBarForeColor(fore);
	extree1.ForeColor(fore);
	extree1.ForeColorHeader(fore);
	extree1.ForeColorSortBar(fore);
	extree1.SelBackColor(fore);
	extree1.SelForeColor(back);
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1000000);
	extree1.Background(18/*0x12 | exCellButtonUp*/,0x2000000);
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.Background(64/*exToolTipAppearance*/,0x3000000);
	extree1.Background(65/*exToolTipBackColor*/,back);
	extree1.Background(66/*exToolTipForeColor*/,fore);
	extree1.Background(20/*exSelBackColorFilter*/,fore);
	extree1.Background(21/*exSelForeColorFilter*/,back);
	extree1.Background(26/*exBackColorFilter*/,back);
	extree1.Background(27/*exForeColorFilter*/,fore);
	extree1.Background(28/*exSortBarLinkColor*/,back);
	extree1.Background(142/*0x8e | exDateSelect*/,0x2000000);
	extree1.Background(141/*0x8d | exDateSeparatorBar*/,0x2000000);
	extree1.Background(186/*exTreeLinesColor*/,fore);
	extree1.Description(25/*exFilterBarExclude*/,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
	extree1.EndUpdate();
}
713
How can I specify the cell's outline, border or lines around, when the cell gets selected

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI";
		var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO";
		var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn";
		var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY";
		var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 -4 0 0 0");
	extree1.SelBackColor(0x2000000);
	extree1.SelForeColor(WinApi::RGB2int(0,0,1));
	extree1.FullRowSelect(0);
	extree1.ShowFocusRect(false);
	extree1.DefaultItemHeight(24);
	extree1.HeaderHeight(24);
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.Columns().Add("C1");
	extree1.Columns().Add("C2");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2");
		com_Items.CellCaption(com_Items.AddItem("Cell 3"),COMVariant::createFromInt(1),"Cell 4");
	extree1.Items().SelectPos(COMVariant::createFromInt(1));
	extree1.SelectColumnIndex(1);
	extree1.EndUpdate();
}
712
How can I specify the cell's outline, border or lines around, when the item gets selected

public void init()
{
	COM com_Items;
	anytype var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
	var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI";
	var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO";
	var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn";
	var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY";
	var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	extree1.SelBackColor(0x1000000);
	extree1.SelForeColor(WinApi::RGB2int(0,0,1));
	extree1.ShowFocusRect(false);
	extree1.DefaultItemHeight(24);
	extree1.HeaderHeight(24);
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.Columns().Add("C1");
	extree1.Columns().Add("C2");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2");
		com_Items.CellCaption(com_Items.AddItem("Cell 3"),COMVariant::createFromInt(1),"Cell 4");
		com_Items.SelectPos(COMVariant::createFromInt(1));
	extree1.EndUpdate();
}
711
How can I specify the cell's outline, border or lines around

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
	var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI";
	var_s = var_s + "MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO";
	var_s = var_s + "p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn";
	var_s = var_s + "jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY";
	var_s = var_s + "RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	extree1.SelBackMode(1/*exTransparent*/);
	extree1.ShowFocusRect(false);
	extree1.DefaultItemHeight(24);
	extree1.HeaderHeight(24);
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.Columns().Add("C1");
	extree1.Columns().Add("C2");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Cell 1"),COMVariant::createFromInt(1),"Cell 2");
		h = com_Items.AddItem("Cell 2");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Cell 3");
		com_Items.CellBackColor(h,COMVariant::createFromInt(1),0x1000000);
	extree1.EndUpdate();
}
710
Is it possible to highligth the match while a filter is applied

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(17) = 1
	;
}

// FilterChange event - Notifies your application that the filter is changed.
void onEvent_FilterChange()
{
	COM com_Column;
	COMVariant format;
	anytype var_Column;
	;
	format = extree1.FormatABC("`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",COMVariant::createFromStr(extree1.FilterBarPromptPattern()));
	var_Column = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.FormatColumn(format);
	var_Column = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
	com_Column.FormatColumn(format);
}

public void init()
{
	COM com_Column,com_Items;
	COMVariant format;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.Columns().Add("Col 1");
	extree1.Columns().Add("Col 2");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("219 Smith"),COMVariant::createFromInt(1),"Ignacio 1234");
		com_Items.CellCaption(com_Items.AddItem("1666 County Road 309A"),COMVariant::createFromInt(1),"897 Manassa");
		com_Items.CellCaption(com_Items.AddItem("38 Lone Pine"),COMVariant::createFromInt(1),"Durango 11");
		com_Items.CellCaption(com_Items.AddItem("612 Jachim Street"),COMVariant::createFromInt(1),"Lamar 222");
	extree1.FilterBarPromptPattern("1");
	extree1.FilterBarPromptVisible(2067/*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	extree1.FilterBarPromptType(257/*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/);
	extree1.EndUpdate();
}
709
Is it possible to highlight the column's header once a filter is applied (sample 2)

public void init()
{
	COM com_Appearance,com_Column,com_Columns,com_Items;
	anytype var_Appearance,var_Column,var_Columns,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSA";
		var_s = var_s + "sXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDM";
		var_s = var_s + "RwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwX";
		var_s = var_s + "g+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqD";
		var_s = var_s + "BoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi";
		var_s1 = var_s1 + "6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKA";
		var_s1 = var_s1 + "T4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBH";
		var_s1 = var_s1 + "AmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaB";
		var_s1 = var_s1 + "ZhggZgagaYRoEwShWA6NZZAMQBAICA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1000000);
	extree1.Background(41/*exHeaderFilterBarActive*/,0x2000000);
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.HeaderHeight(28);
	extree1.BackColorHeader(WinApi::RGB2int(255,255,255));
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.HeaderVisible(1);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("C1")).DisplayFilterButton(true);
		var_Column = COM::createFromVariant(com_Columns.Add("C2")); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.Filter("Item 2");
			com_Column.FilterType(240/*exFilter*/);
		COM::createFromVariant(com_Columns.Add("C3")).DisplayFilterButton(true);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Item 2");
		com_Items.CellCaption(h,COMVariant::createFromInt(2),"Item 3");
		h = com_Items.AddItem("Item 4");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Item 5");
		com_Items.CellCaption(h,COMVariant::createFromInt(2),"Item 6");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
708
How can I make the expand/collapse glyphs DPI aware

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	int h;
	str size,var_s,var_s1;
	;

	super();

	size = 2;
	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcC";
		var_s = var_s + "QAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKc";
		var_s = var_s + "RQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJr";
		var_s = var_s + "nSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYG";
		var_s = var_s + "oGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpF";
		var_s = var_s + "IVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZ";
		var_s = var_s + "nloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYI";
		var_s1 = var_s1 + "gAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVY";
		var_s1 = var_s1 + "ghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxT";
		var_s1 = var_s1 + "iGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYF";
		var_s1 = var_s1 + "oFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaF";
		var_s1 = var_s1 + "KFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRY";
		var_s1 = var_s1 + "OiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
		com_Appearance.Add(1,extree1.FormatABC("`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size));
		com_Appearance.Add(2,extree1.FormatABC("`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size));
	extree1.LinesAtRoot(1/*exGroupLinesAtRoot*/);
	extree1.HasButtons(4/*exCustom*/);
	extree1.HasButtonsCustom(0,16777216);
	extree1.HasButtonsCustom(1,33554432);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.EndUpdate();
}
707
Is it possible to highlight the column's header once a filter is applied (sample 1)

public void init()
{
	COM com_Appearance,com_Column,com_Columns,com_Items;
	anytype var_Appearance,var_Column,var_Columns,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ";
		var_s = var_s + "0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN";
		var_s = var_s + "YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h";
		var_s = var_s + "hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb";
		var_s = var_s + "hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB";
		var_s = var_s + "MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s));
		com_Appearance.Add(1,"CP:2 -8 -4 2 4");
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1fefefe);
	extree1.Background(41/*exHeaderFilterBarActive*/,0x1010101);
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.HeaderHeight(28);
	extree1.BackColorHeader(WinApi::RGB2int(255,255,255));
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.HeaderVisible(1);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("C1")).DisplayFilterButton(true);
		var_Column = COM::createFromVariant(com_Columns.Add("C2")); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.Filter("Item 2");
			com_Column.FilterType(240/*exFilter*/);
		COM::createFromVariant(com_Columns.Add("C3")).DisplayFilterButton(true);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Item 2");
		com_Items.CellCaption(h,COMVariant::createFromInt(2),"Item 3");
		h = com_Items.AddItem("Item 4");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Item 5");
		com_Items.CellCaption(h,COMVariant::createFromInt(2),"Item 6");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
706
Is it possible to show the filterbar on top of the rows

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.FilterBarPromptVisible(8192/*exFilterBarTop*/);
	extree1.HeaderHeight(24);
	extree1.FilterBarHeight(extree1.HeaderHeight());
	extree1.HeaderAppearance(1/*Flat*/);
	extree1.DrawGridLines(-1/*exAllLines*/);
	extree1.GridLineStyle(512/*exGridLinesGeometric*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Column")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterType(3/*exPattern*/);
		com_Column.Filter("B*");
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Index")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 index ``");
		com_Column1.Position(0);
		com_Column1.Width(48);
		com_Column1.AllowSizing(false);
		com_Column1.SortType(1/*SortNumeric*/);
		com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("A.1");
		com_Items.AddItem("A.2");
		com_Items.AddItem("B.1");
		com_Items.AddItem("B.2");
		com_Items.AddItem("B.3");
		com_Items.AddItem("C");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
705
DragDrop (with visual effect)

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	str var_s;
	;

	super();

	var_s = "gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGj";
	var_s = var_s + "uKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	extree1.Background(96/*exListOLEDropPosition*/,0x1000000);
	extree1.Background(33/*exDragDropBefore*/,WinApi::RGB2int(0,0,0));
	extree1.Background(34/*exDragDropAfter*/,WinApi::RGB2int(255,255,255));
	extree1.OLEDropMode(1/*exOLEDropManual*/);
	extree1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Indent(16);
	extree1.SelBackMode(1/*exTransparent*/);
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	print( "You can:" );
	print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
	print( "B) right-click to re-arrange the item position inside the same control" );
	print( "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)

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	extree1.Background(33/*exDragDropBefore*/,WinApi::RGB2int(0,0,0));
	extree1.Background(34/*exDragDropAfter*/,WinApi::RGB2int(255,255,255));
	extree1.OLEDropMode(1/*exOLEDropManual*/);
	extree1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Indent(16);
	extree1.SelBackMode(1/*exTransparent*/);
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	print( "You can:" );
	print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
	print( "B) right-click to re-arrange the item position inside the same control" );
	print( "This sample shows how you can insert the data being dropped as a child of the item being hovered." );
}
703
DragDrop

// OLEDragDrop event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
// OLEStartDrag event is not supported. Use the DragEnter,DragLeave,DragOver, DragDrop ... events.
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	extree1.OLEDropMode(1/*exOLEDropManual*/);
	extree1.AutoDrag(196608/*exAutoDragPositionAnyOnRight*/);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Indent(16);
	extree1.SelBackMode(1/*exTransparent*/);
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	print( "You can:" );
	print( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
	print( "B) right-click to re-arrange the item position inside the same control" );
	print( "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)

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderAppearance(4/*Etched*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Item");
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.Position(0);
			com_Column.Width(32);
			com_Column.AllowSizing(false);
			com_Column.FormatColumn("1 index ``");
			com_Column.AllowSort(false);
			com_Column.AllowDragging(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.EndUpdate();
}
701
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Item");
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.Position(0);
			com_Column.Width(32);
			com_Column.AllowSizing(false);
			com_Column.FormatColumn("1 index ``");
			com_Column.AllowSort(false);
			com_Column.AllowDragging(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.EndUpdate();
}
700
Is it possible to display the header using multiple lines(sample 1)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(52) = 4
	// Column.Def(53) = 4
	;
}

public void init()
{
	COM com_Columns;
	anytype var_Columns;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(36);
	extree1.HeaderAppearance(1/*Flat*/);
	extree1.HeaderSingleLine(false);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column");
		COM::createFromVariant(com_Columns.Add("This is a bit of text that should break the header")).Width(128);
		COM::createFromVariant(com_Columns.Add("This is a bit of text that should break the header")).Width(96);
	extree1.EndUpdate();
}
699
Is it possible to display the header using multiple lines(sample 2)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(52) = 4
	// Column.Def(53) = 4
	;
}

public void init()
{
	COM com_Columns;
	anytype var_Columns;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(36);
	extree1.HeaderAppearance(1/*Flat*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column");
		COM::createFromVariant(com_Columns.Add("C1")).HTMLCaption("<b>C<off 4>1</b><br>left");
		COM::createFromVariant(com_Columns.Add("C2")).HTMLCaption("<c><b>C<off 4>2</b><br><c>center");
		COM::createFromVariant(com_Columns.Add("C3")).HTMLCaption("<r><b>C<off 4>3</b><br><r>right");
	extree1.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

// FilterChange event - Notifies your application that the filter is changed.
void onEvent_FilterChange()
{
	;
	extree1.Indent(extree1.FormatABC("value > 0 ? 18 : 0",.Items().MatchItemCount()));
}

public void init()
{
	COM com_Column,com_Column1,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Columns,var_Items;
	int h,h2;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Indent(18);
	extree1.FilterInclude(4/*exMatchingItemsOnly*/);
	extree1.DrawGridLines(2/*exVLines*/);
	extree1.HeaderAppearance(1/*Flat*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Column")); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.FilterType(240/*exFilter*/);
			com_Column.FilterList(256/*exShowCheckBox*/);
			com_Column.Filter("C1");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("1 rindex ``");
			com_Column1.Position(0);
			com_Column1.AllowSizing(false);
			com_Column1.AllowDragging(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("R1");
		h2 = com_Items.InsertItem(h,,"S");
		com_Items.InsertItem(h2,,"C1");
		com_Items.InsertItem(h2,,"C2");
		com_Items.InsertItem(h,,"C1");
		com_Items.InsertItem(h,,"C2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("R2");
		com_Items.InsertItem(h,,"C1");
		com_Items.InsertItem(h,,"C2");
	extree1.ApplyFilter();
	extree1.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

public void init()
{
	COM com_Column,com_Column1,com_ConditionalFormat,com_Items;
	anytype var_Column,var_Column1,var_ConditionalFormat,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.DrawGridLines(1/*exHLines*/);
	extree1.GridLineStyle(512/*exGridLinesGeometric*/);
	var_s = "gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJXh";
	var_s = var_s + "aI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Position")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("((1 rindex ``) contains `.`) = 0");
		com_Column1.Visible(false);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%C1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(0x1e0e0e0);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.InsertItem(h,,"Child 3");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		h = com_Items.AddItem("Root 3");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
	extree1.EndUpdate();
}
696
I can not center or align the cell's caption and icon, when it displays the hierarchy

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h,hChild;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"<img>1</img> Task (left)");
		hChild = com_Items.InsertItem(h,,"<c><img>2</img> Task (center)");
		hChild = com_Items.InsertItem(h,,"<r>Task (right) <img>3</img>");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
695
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	int i;
	;
	i = extree1.ItemFromPoint(-1,-1,c,hit);
	print( i );
	print( extree1.Items().ItemData(i) );
}

public void init()
{
	COM com_Items,com_Items1;
	anytype var_Items,var_Items1;
	int i;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.ItemData(com_Items.AddItem("method 1"),"your extra data of method 1");
		com_Items.InsertItem(0,"your extra data of method 2","method 2");
	var_Items1 = extree1.Items(); com_Items1 = var_Items1;
		com_Items1.DefaultItem(com_Items1.AddItem("method 3"));
		com_Items1.ItemData(0,"your extra data of method 3");
	extree1.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

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.AttachTemplate("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}");
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.DrawGridLines(-1/*exAllLines*/);
	extree1.GridLineStyle(32/*exGridLinesVSolid*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Item");
		var_Column = COM::createFromVariant(com_Columns.Add("Pos")); com_Column = var_Column;
			com_Column.Position(0);
			com_Column.Width(32);
			com_Column.AllowSizing(false);
			com_Column.FormatColumn("1 index ``");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.EndUpdate();
}
693
Can I sort the column by check-state

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.SortType(32/*exSortByState*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem();
		com_Items.CellState(com_Items.AddItem(),COMVariant::createFromInt(0),1);
		com_Items.CellState(com_Items.AddItem(),COMVariant::createFromInt(0),1);
		com_Items.AddItem();
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
	com_Column1.SortOrder(1/*SortAscending*/);
	extree1.EndUpdate();
}
692
Can I sort the column by image

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column = var_Column;
		com_Column.SortType(48/*exSortByImage*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),3);
		com_Items.AddItem();
		com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),1);
		com_Items.CellImage(com_Items.AddItem(),COMVariant::createFromInt(0),2);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
	com_Column1.SortOrder(1/*SortAscending*/);
	extree1.EndUpdate();
}
691
How can I display UNICODE characters

public void init()
{
	COM com_Items,com_StdFont;
	anytype var_Items,var_StdFont;
	;

	super();

	extree1.BeginUpdate();
	var_StdFont = extree1.Font(); com_StdFont = var_StdFont;
		com_StdFont.Name("Arial Unicode");
		com_StdFont.Size(22);
	extree1.HeaderVisible(false);
	extree1.DefaultItemHeight(48);
	COM::createFromVariant(extree1.Columns().Add("")).Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Ӓӓ");
		com_Items.AddItem("ᦜᦝ;ᦞ");
		com_Items.AddItem("ɮɭ;ɯ");
		com_Items.AddItem("勳勴勵勶");
		com_Items.FormatCell(com_Items.AddItem(COMVariant::createFromStr(extree1.Version())),COMVariant::createFromInt(0),"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` ");
	extree1.EndUpdate();
}
690
How do I display the position of the item with 0-padding
public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Items")).FormatColumn("((1 apos ``) lpad `00`) + `. `  + value");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
		com_Items.AddItem("Item D");
	extree1.EndUpdate();
}
689
Can't get the +/- to be displayed on a divider item. What else can I do

public void init()
{
	COM com_Columns,com_Items;
	anytype var_Columns,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.DrawGridLines(-1/*exAllLines*/);
	extree1.TreeColumnIndex(0);
	extree1.MarkSearchColumn(false);
	extree1.FullRowSelect(0);
	extree1.HeaderAppearance(-1/*0xffffffff | Bump | Sunken*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("C1")).Width(32);
		COM::createFromVariant(com_Columns.Add("C2")).FormatColumn("1 index ``");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Cell 1");
		com_Items.CellSingleLine(h,COMVariant::createFromInt(1),false);
		h = com_Items.AddItem("This is bit of text merges all cells in the item (divider shows no +/-)");
		com_Items.ItemDivider(h,0);
		com_Items.ItemBackColor(h,WinApi::RGB2int(240,240,240));
		com_Items.ItemDividerLine(h,0/*EmptyLine*/);
		com_Items.CellHAlignment(h,COMVariant::createFromInt(0),1/*CenterAlignment*/);
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Cell 3");
		h = com_Items.AddItem("This is bit of text merges all cells in the item (merge shows +/-)");
		com_Items.ItemBackColor(h,WinApi::RGB2int(240,240,240));
		com_Items.CellMerge(h,COMVariant::createFromInt(0),COMVariant::createFromInt(1));
		com_Items.InsertItem(h,,"Child 3");
		com_Items.InsertItem(h,,"Child 4");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
688
ADODB Requery sample

// CellButtonClick event - Fired after the user clicks on the cell of button type. 
void onEvent_CellButtonClick(int   _Item,int   _ColIndex)
{
	COM com_cmd;
	anytype cmd;
	;
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	cmd = COM::createFromObject(new ADODB.Command()); com_cmd = cmd;
		cmd.ActiveConnection(COM::createFromVariant(extree1.DataSource().ActiveConnection()));
		cmd.CommandText("INSERT INTO Orders (EmployeeID) VALUES(12345)");
		cmd.CommandType(1/*adCmdText*/);
		cmd.Execute();
	extree1.DataSource().Requery();
}

public void init()
{
	COM com_ConditionalFormat,com_Items,com_cmd,com_rs;
	anytype cmd,rs,var_ConditionalFormat,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.ColumnAutoResize(false);
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",1/*adOpenKeyset*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%1=12345"); com_ConditionalFormat = var_ConditionalFormat;
	com_ConditionalFormat.BackColor(WinApi::RGB2int(240,240,240));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.LockedItemCount(0/*TopAlignment*/,1);
		h = com_Items.LockedItem(0/*TopAlignment*/,0);
		com_Items.ItemDivider(h,0);
		com_Items.CellHasButton(h,COMVariant::createFromInt(0),true);
		com_Items.CellCaption(h,COMVariant::createFromInt(0),"Requery (add a new record, using ADODB.Command)");
		com_Items.CellHAlignment(h,COMVariant::createFromInt(0),1/*CenterAlignment*/);
	extree1.EndUpdate();
}
687
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

public void init()
{
	COM com_Columns;
	anytype var_Columns;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.HeaderAppearance(4/*Etched*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("City");
		COM::createFromVariant(com_Columns.Add("Start")).Visible(false);
		COM::createFromVariant(com_Columns.Add("End")).Visible(false);
	extree1.Description(26/*exColumnsFloatBar*/,"Show/Hide");
	extree1.ColumnsFloatBarSortOrder(1/*SortAscending*/);
	extree1.ColumnsFloatBarVisible(2/*exColumnsFloatBarVisibleIncludeCheckColumns*/);
	extree1.EndUpdate();
}
686
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

public void init()
{
	COM com_Columns;
	anytype var_Columns;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.HeaderAppearance(4/*Etched*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("City");
		COM::createFromVariant(com_Columns.Add("Start")).Visible(false);
		COM::createFromVariant(com_Columns.Add("End")).Visible(false);
	extree1.Description(26/*exColumnsFloatBar*/,"Show");
	extree1.ColumnsFloatBarVisible(-1/*exColumnsFloatBarVisibleIncludeHiddenColumns*/);
	extree1.ColumnsFloatBarSortOrder(1/*SortAscending*/);
	extree1.EndUpdate();
}
685
Type of wraps the cell's caption support (Sample 2)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderSingleLine(false);
	extree1.HeaderHeight(36);
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.ColumnAutoResize(false);
	extree1.ScrollBySingleLine(true);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Single-Line (exCaptionSingleLine)")); com_Column = var_Column;
			com_Column.Width(96);
			com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(-1));
		var_Column1 = COM::createFromVariant(com_Columns.Add("Word-Wrap (exCaptionWordWrap)")); com_Column1 = var_Column1;
			com_Column1.Width(96);
			com_Column1.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column1.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(0));
			com_Column1.FormatColumn("%0");
		var_Column2 = COM::createFromVariant(com_Columns.Add("Break-Wrap (exCaptionBreakWrap)")); com_Column2 = var_Column2;
			com_Column2.Width(96);
			com_Column2.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column2.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(1));
			com_Column2.FormatColumn("%0");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_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.");
		com_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.");
	extree1.EndUpdate();
}
684
Type of wraps the cell's caption support (Sample 1)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderSingleLine(false);
	extree1.HeaderHeight(36);
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.ColumnAutoResize(false);
	extree1.ScrollBySingleLine(true);
	COM::createFromVariant(extree1.Columns().Add("Default")).Width(128);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		h = com_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.");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),0/*exCaptionWordWrap*/);
		h = com_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.");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),0/*exCaptionWordWrap*/);
		h = com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
		h = com_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.");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
	extree1.EndUpdate();
}
683
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.ColumnAutoResize(false);
	extree1.ScrollBySingleLine(true);
	COM::createFromVariant(extree1.Columns().Add("Default")).Width(128);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellSingleLine(com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."),COMVariant::createFromInt(0),1/*exCaptionBreakWrap*/);
		com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	extree1.EndUpdate();
}
682
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.DrawGridLines(-2/*exRowLines*/);
	extree1.ColumnAutoResize(false);
	extree1.ScrollBySingleLine(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Width(128);
		com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromInt(1));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
		com_Items.AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	extree1.EndUpdate();
}
681
How can I change the visual appearance/color of the Filter For ... field

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.BackColorHeader(WinApi::RGB2int(1,0,0));
	extree1.ForeColorHeader(WinApi::RGB2int(255,255,255));
	extree1.Background(26/*exBackColorFilter*/,extree1.BackColorHeader());
	extree1.Background(27/*exForeColorFilter*/,extree1.ForeColorHeader());
	extree1.Background(0/*exHeaderFilterBarButton*/,WinApi::RGB2int(240,240,240));
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.HeaderAppearance(5/*Bump*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Items")); com_Column = var_Column;
		com_Column.FilterOnType(true);
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(2/*exNoItems*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
	extree1.EndUpdate();
}
680
How can I display the cell's caption without spaces on both sides

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.AddItem("Item A");
		com_Items.AddItem("    Item B");
		com_Items.AddItem("        Item   C    ");
	extree1.EndUpdate();
}
679
How can I highlight the spaces within the column (sample 2)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("`'` + ( value replace ` ` with `_` ) + `'`");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.AddItem("Item A");
		com_Items.AddItem("    Item B");
		com_Items.AddItem("        Item   C    ");
	extree1.EndUpdate();
}
678
How can I highlight the spaces within the column (sample 1)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.AddItem("Item A");
		com_Items.AddItem("    Item B");
		com_Items.AddItem("        Item   C    ");
	extree1.EndUpdate();
}
677
How can I change the visual aspect of the drop down filter-calendar

public void init()
{
	COM com_Column;
	anytype var_Column;
	;

	super();

	extree1.BeginUpdate();
	extree1.Background(26/*exBackColorFilter*/,WinApi::RGB2int(0,0,1));
	extree1.Background(27/*exForeColorFilter*/,WinApi::RGB2int(255,255,255));
	extree1.Background(12/*exDateScrollRange*/,WinApi::RGB2int(255,255,255));
	extree1.Background(8/*exDateHeader*/,extree1.Background(26/*exBackColorFilter*/));
	extree1.Background(11/*exDateScrollThumb*/,WinApi::RGB2int(128,128,128));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Date")); com_Column = var_Column;
		com_Column.FilterType(4/*exDate*/);
		com_Column.DisplayFilterButton(true);
		com_Column.DisplayFilterDate(true);
		com_Column.DisplayFilterPattern(false);
	extree1.EndUpdate();
}
676
Export Data in HTML format

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Columns,com_ConditionalFormat,com_ConditionalFormat1,com_ConditionalFormats,com_Items,com_ShellBrowserWindow;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormats,var_Items,var_ShellBrowserWindow;
	int h;
	str sFile,var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	extree1.DrawGridLines(-1/*exAllLines*/);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `";
	var_s = var_s + "[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match";
	var_s = var_s + "itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun";
	var_s = var_s + "t + ` item(s)`) )))";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptVisible(2579/*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	extree1.FilterBarPromptType(2/*exFilterPromptContainsAny*/);
	var_ConditionalFormats = extree1.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats.Add("%0 like `*parent*`","parent")); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(WinApi::RGB2int(192,192,192));
		var_ConditionalFormat = com_ConditionalFormats.Add("%0 like `*child*`","child"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.ForeColor(WinApi::RGB2int(255,128,128));
			com_ConditionalFormat.ApplyTo(0/*exFormatToColumns*/);
		var_ConditionalFormat1 = com_ConditionalFormats.Add("%0 like `*B*`","b"); com_ConditionalFormat1 = var_ConditionalFormat1;
			com_ConditionalFormat1.ForeColor(WinApi::RGB2int(0,0,255));
			com_ConditionalFormat1.Bold(true);
			com_ConditionalFormat1.Italic(true);
			com_ConditionalFormat1.ApplyTo(0/*exFormatToColumns*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Value")); com_Column = var_Column;
			com_Column.Width(128);
			com_Column.HTMLCaption("<b>VA</b><r>sko");
		var_Column1 = COM::createFromVariant(com_Columns.Add("APos")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("0 apos ``");
			com_Column1.AllowSort(false);
			com_Column1.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
			com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
			com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
			com_Column1.Position(0);
		var_Column2 = COM::createFromVariant(com_Columns.Add("RPos")); com_Column2 = var_Column2;
			com_Column2.FormatColumn("0 rpos ``");
			com_Column2.AllowSort(false);
			com_Column2.Position(1);
		var_Column3 = COM::createFromVariant(com_Columns.Add("Index")); com_Column3 = var_Column3;
			com_Column3.FormatColumn("0 index ``");
			com_Column3.DisplayFilterButton(true);
			com_Column3.FilterList(256/*exShowCheckBox*/);
			com_Column3.Position(2);
		var_Column4 = COM::createFromVariant(com_Columns.Add("Data 1")); com_Column4 = var_Column4;
			com_Column4.FormatColumn("0 index `A-Z`");
			com_Column4.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		var_Column5 = COM::createFromVariant(com_Columns.Add("Data 2")); com_Column5 = var_Column5;
			com_Column5.FormatColumn("0 index `AB` replace `A` with `<off -4>A</off>`");
			com_Column5.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
			com_Column5.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column5.Def(1/*exCellHasRadioButton*/,COMVariant::createFromBoolean(true));
		var_Column6 = COM::createFromVariant(com_Columns.Add("Data 3")); com_Column6 = var_Column6;
			com_Column6.FormatColumn("0 index `CDC` replace `D` with `<b>D</b>`");
			com_Column6.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("ParentA");
		com_Items.InsertItem(h,,"Child A");
		com_Items.InsertItem(h,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(4),1);
		com_Items.CellBackColor(com_Items.InsertItem(h,,"Child C"),COMVariant::createFromInt(5),WinApi::RGB2int(0,255,0));
		com_Items.ExpandItem(h,true);
		com_Items.AddItem("Item A");
		h = com_Items.AddItem("ParentB");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.CellBackColor(com_Items.InsertItem(h,,"Child 3"),COMVariant::createFromInt(5),WinApi::RGB2int(0,255,0));
		com_Items.CellState(h,COMVariant::createFromInt(5),1);
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
		com_Items.AddItem("Item D");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
	sFile = "c:/temp/export.html";
	extree1.Export(sFile,"vis");
	// Add 'Microsoft Internet Controls(ieframe.dll)' reference to your project.
	var_ShellBrowserWindow = COM::createFromObject(new SHDocVw.ShellBrowserWindow()); com_ShellBrowserWindow = var_ShellBrowserWindow;
		com_ShellBrowserWindow.Navigate2(sFile);
}
675
Export Data in CSV format

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Columns,com_ConditionalFormat,com_ConditionalFormat1,com_ConditionalFormats,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormats,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	extree1.DrawGridLines(-1/*exAllLines*/);
	extree1.HeaderAppearance(4/*Etched*/);
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `";
	var_s = var_s + "[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match";
	var_s = var_s + "itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun";
	var_s = var_s + "t + ` item(s)`) )))";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptVisible(2579/*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	extree1.FilterBarPromptType(2/*exFilterPromptContainsAny*/);
	var_ConditionalFormats = extree1.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = COM::createFromObject(com_ConditionalFormats.Add("%0 like `*parent*`","parent")); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(WinApi::RGB2int(192,192,192));
		var_ConditionalFormat = com_ConditionalFormats.Add("%0 like `*child*`","child"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.ForeColor(WinApi::RGB2int(255,128,128));
			com_ConditionalFormat.ApplyTo(0/*exFormatToColumns*/);
		var_ConditionalFormat1 = com_ConditionalFormats.Add("%0 like `*B*`","b"); com_ConditionalFormat1 = var_ConditionalFormat1;
			com_ConditionalFormat1.ForeColor(WinApi::RGB2int(0,0,255));
			com_ConditionalFormat1.Bold(true);
			com_ConditionalFormat1.Italic(true);
			com_ConditionalFormat1.ApplyTo(0/*exFormatToColumns*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Value")); com_Column = var_Column;
			com_Column.Width(128);
			com_Column.HTMLCaption("<b>VA</b><r>sko");
		var_Column1 = COM::createFromVariant(com_Columns.Add("APos")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("0 apos ``");
			com_Column1.AllowSort(false);
			com_Column1.Def(4/*exCellBackColor*/,COMVariant::createFromInt(15790320));
			com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
			com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
			com_Column1.Position(0);
		var_Column2 = COM::createFromVariant(com_Columns.Add("RPos")); com_Column2 = var_Column2;
			com_Column2.FormatColumn("0 rpos ``");
			com_Column2.AllowSort(false);
			com_Column2.Position(1);
		var_Column3 = COM::createFromVariant(com_Columns.Add("Index")); com_Column3 = var_Column3;
			com_Column3.FormatColumn("0 index ``");
			com_Column3.DisplayFilterButton(true);
			com_Column3.FilterList(256/*exShowCheckBox*/);
			com_Column3.Position(2);
		var_Column4 = COM::createFromVariant(com_Columns.Add("Data 1")); com_Column4 = var_Column4;
			com_Column4.FormatColumn("0 index `A-Z`");
			com_Column4.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		var_Column5 = COM::createFromVariant(com_Columns.Add("Data 2")); com_Column5 = var_Column5;
			com_Column5.FormatColumn("0 index `AB` replace `A` with `<off -4>A</off>`");
			com_Column5.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
			com_Column5.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
			com_Column5.Def(1/*exCellHasRadioButton*/,COMVariant::createFromBoolean(true));
		var_Column6 = COM::createFromVariant(com_Columns.Add("Data 3")); com_Column6 = var_Column6;
			com_Column6.FormatColumn("0 index `CDC` replace `D` with `<b>D</b>`");
			com_Column6.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("ParentA");
		com_Items.InsertItem(h,,"Child A");
		com_Items.InsertItem(h,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(4),1);
		com_Items.CellBackColor(com_Items.InsertItem(h,,"Child C"),COMVariant::createFromInt(5),WinApi::RGB2int(0,255,0));
		com_Items.ExpandItem(h,true);
		com_Items.AddItem("Item A");
		h = com_Items.AddItem("ParentB");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.CellBackColor(com_Items.InsertItem(h,,"Child 3"),COMVariant::createFromInt(5),WinApi::RGB2int(0,255,0));
		com_Items.CellState(h,COMVariant::createFromInt(5),1);
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
		com_Items.AddItem("Item D");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
	print( extree1.Export("","vis") );
}
674
Is it possible to check multiple-items at once

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COM com_Items;
	COMVariant bHasParent;
	anytype var_Items;
	;
	bHasParent = extree1.FormatABC("value != 0",extree1.Items().ItemParent(_Item));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellHasCheckBox(_Item,COMVariant::createFromInt(0),bHasParent);
}

public void init()
{
	COM com_Column,com_Items;
	COMVariant bHasParent;
	anytype var_Column,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
	extree1.HeaderVisible(1);
	extree1.SingleSel(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		hChild = com_Items.InsertItem(h,,"Task 2");
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.ExpandItem(h,true);
		com_Items.LockedItemCount(0/*TopAlignment*/,1);
		com_Items.CellCaption(com_Items.LockedItem(0/*TopAlignment*/,0),COMVariant::createFromInt(0),"<c>Select multiple items and press the <b>SPACE</b> key");
	extree1.EndUpdate();
}
673
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	int i;
	;
	i = extree1.ItemFromPoint(-1,-1,c,hit);
	print( extree1.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,extree1.Items().CellImages(i,c)) );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int i;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellImages(com_Items.AddItem("Item 1"),COMVariant::createFromInt(0),"3,2,1");
		com_Items.CellImages(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),"2,3");
		com_Items.CellImages(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0),"2,");
	extree1.EndUpdate();
}
672
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	int i;
	;
	i = extree1.ItemFromPoint(-1,-1,c,hit);
	print( extree1.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit) );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int i;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	extree1.Columns().Add("Default");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellImages(com_Items.AddItem("Item 1"),COMVariant::createFromInt(0),"3,2,1");
		com_Items.CellImages(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),"2,3");
		com_Items.CellImages(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0),"2");
	extree1.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

public void init()
{
	COM com_Appearance,com_Columns;
	anytype var_Appearance,var_Columns;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderAppearance(4/*Etched*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column 1");
		com_Columns.Add("Column 2");
		com_Columns.Add("Column 3");
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI";
		var_s = var_s + "UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a";
		var_s = var_s + "DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe";
		var_s = var_s + "EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB";
		var_s = var_s + "ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG";
		var_s = var_s + "KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 0 -36 0 0");
	extree1.Background(182/*exColumnsPositionSign*/,0x2000000);
	extree1.EndUpdate();
}
670
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

public void init()
{
	COM com_Column,com_Column1,com_ConditionalFormat,com_Items;
	anytype var_Column,var_Column1,var_ConditionalFormat,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	extree1.DefaultItemHeight(20);
	var_s = "gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY";
	var_s = var_s + "1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh";
	var_s = var_s + "WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6";
	var_s = var_s + "DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ";
	var_s = var_s + "SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0";
	var_s = var_s + "pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==";
	extree1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Position")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 rindex ``");
		com_Column1.Visible(false);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%C1 mod 2"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(0x1000000);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item 1");
		com_Items.AddItem("Item 2");
		com_Items.AddItem("Item 3");
		com_Items.AddItem("Item 4");
	extree1.EndUpdate();
}
669
How can I specify alternate background colors for each root item, similar with BackColorAlternate

public void init()
{
	COM com_Column,com_Column1,com_ConditionalFormat,com_Items;
	anytype var_Column,var_Column1,var_ConditionalFormat,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Position")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )");
		com_Column1.Visible(false);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%C1 mod 2"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(WinApi::RGB2int(240,240,240));
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		h = com_Items.AddItem("Root 3");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
	extree1.EndUpdate();
}
668
Is it possible to change the caption from a column without to remove the column and add it with the new caption
public void init()
{
	;

	super();

	COM::createFromVariant(extree1.Columns().Add("ColumnName")).Caption("NewName");
	COM::createFromVariant(extree1.Columns().Add("ColumnName")).HTMLCaption("<b>New</b>Name");
}
667
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s1 = "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<";
	var_s1 = var_s1 + "s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchit";
	var_s1 = var_s1 + "emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ";
	var_s1 = var_s1 + "+ ` item(s)`) )))";
	extree1.FilterBarCaption(var_s1);
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
666
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	extree1.FilterBarCaption("all");
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
665
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s1 = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `";
	var_s1 = var_s1 + "[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match";
	var_s1 = var_s1 + "itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun";
	var_s1 = var_s1 + "t + ` item(s)`) )))";
	extree1.FilterBarCaption(var_s1);
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
664
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	extree1.FilterBarCaption("allui");
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
663
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s1 = "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai";
	var_s1 = var_s1 + "lable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with ``";
	var_s1 = var_s1 + " replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount ";
	var_s1 = var_s1 + "+ 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))";
	extree1.FilterBarCaption(var_s1);
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
662
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COMVariant i;
	;
	i = extree1.FormatABC("value + 1",extree1.Items().ItemToIndex(_Item));
	extree1.Items().CellImage(_Item,COMVariant::createFromInt(3),i);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Column6,com_Items;
	COMVariant i;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Column6,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	extree1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column2 = var_Column2;
		com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterType(6/*exCheck*/);
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Image")); com_Column3 = var_Column3;
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterType(10/*exImage*/);
		com_Column3.FilterList(9472/*exShowExclude | exShowFocusItem | exShowCheckBox*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column4 = var_Column4;
		com_Column4.AllowSizing(false);
		com_Column4.AllowSort(false);
		com_Column4.Width(32);
		com_Column4.FormatColumn("1 apos ``");
		com_Column4.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellCaption(h,COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellState(h,COMVariant::createFromInt(2),1);
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	extree1.FilterBarCaption("value + ` ` + available");
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column5 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column5 = var_Column5;
		com_Column5.FilterType(240/*exFilter*/);
		com_Column5.Filter("Item A|Item B");
	var_Column6 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(2)); com_Column6 = var_Column6;
	com_Column6.Filter(1);
	extree1.ApplyFilter();
	extree1.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 )

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column2 = var_Column2;
		com_Column2.AllowSizing(false);
		com_Column2.AllowSort(false);
		com_Column2.Width(32);
		com_Column2.FormatColumn("1 apos ``");
		com_Column2.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		com_Items.CellCaption(com_Items.AddItem("Item B"),COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	var_s = "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ";
	var_s = var_s + "` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace";
	var_s = var_s + " `]` with ` </b></bgcolor></fgcolor>`";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptVisible(256/*exFilterBarToggle*/);
	var_Column3 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column3 = var_Column3;
		com_Column3.FilterType(240/*exFilter*/);
		com_Column3.Filter("Item A|Item B");
	var_Column4 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(1)); com_Column4 = var_Column4;
		com_Column4.FilterType(3/*exPattern*/);
		com_Column4.Filter("*B");
	extree1.ApplyFilter();
	extree1.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 )

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column2 = var_Column2;
		com_Column2.AllowSizing(false);
		com_Column2.AllowSort(false);
		com_Column2.Width(32);
		com_Column2.FormatColumn("1 apos ``");
		com_Column2.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		com_Items.CellCaption(com_Items.AddItem("Item B"),COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	extree1.FilterBarCaption("value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
	extree1.FilterBarPromptVisible(256/*exFilterBarToggle*/);
	var_Column3 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column3 = var_Column3;
		com_Column3.FilterType(240/*exFilter*/);
		com_Column3.Filter("Item A|Item B");
	var_Column4 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(1)); com_Column4 = var_Column4;
		com_Column4.FilterType(3/*exPattern*/);
		com_Column4.Filter("*B");
	extree1.ApplyFilter();
	extree1.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 )

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Col-1")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Col-2")); com_Column1 = var_Column1;
		com_Column1.DisplayFilterButton(true);
		com_Column1.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column2 = var_Column2;
		com_Column2.AllowSizing(false);
		com_Column2.AllowSort(false);
		com_Column2.Width(32);
		com_Column2.FormatColumn("1 apos ``");
		com_Column2.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellCaption(com_Items.AddItem("Item A"),COMVariant::createFromInt(1),"Sub-Item A");
		com_Items.CellCaption(com_Items.AddItem("Item B"),COMVariant::createFromInt(1),"Sub-Item B");
		com_Items.CellCaption(com_Items.AddItem("Item C"),COMVariant::createFromInt(1),"Sub-Item C");
	extree1.Description(11/*exFilterBarAnd*/,extree1.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",COMVariant::createFromStr(extree1.Description(11/*exFilterBarAnd*/))));
	extree1.FilterBarCaption("value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
	extree1.FilterBarPromptVisible(256/*exFilterBarToggle*/);
	var_Column3 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column3 = var_Column3;
		com_Column3.FilterType(240/*exFilter*/);
		com_Column3.Filter("Item A|Item B");
	var_Column4 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(1)); com_Column4 = var_Column4;
		com_Column4.FilterType(3/*exPattern*/);
		com_Column4.Filter("*B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
658
Is it possible to automatically displays the control's filter label to the right

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Item")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.AllowSizing(false);
		com_Column1.AllowSort(false);
		com_Column1.Width(32);
		com_Column1.FormatColumn("1 apos ``");
		com_Column1.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarCaption("`<r>` + value");
	extree1.FilterBarPromptVisible(1280/*exFilterBarShowCloseOnRight | exFilterBarToggle*/);
	var_Column2 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column2 = var_Column2;
		com_Column2.FilterType(240/*exFilter*/);
		com_Column2.Filter("Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
657
How can I get the number of results/items being shown in the control's filter bar (sample 4)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Item")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(9504/*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.AllowSizing(false);
		com_Column1.AllowSort(false);
		com_Column1.Width(32);
		com_Column1.FormatColumn("1 apos ``");
		com_Column1.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.FilterBarPrompt(extree1.FormatABC("`<b>` + value",COMVariant::createFromStr(extree1.FilterBarPrompt())));
	var_s = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +";
	var_s = var_s + " 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptVisible(3591/*exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	extree1.EndUpdate();
}
656
How can I get the number of results being shown in the control's filter bar (sample 3)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarFont(extree1.Font());
	var_s = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +";
	var_s = var_s + " 1) + ` result(s)` ) : ``)";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptVisible(2055/*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
655
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.FilterBarCaption("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
	extree1.FilterBarPromptVisible(2071/*exFilterBarCompact | exFilterBarSingleLine | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
654
How can I get the number of results being shown in the control's filter bar (sample 1)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.FilterBarCaption("`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
	extree1.FilterBarPromptVisible(7/*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
653
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void onEvent_AfterExpandItem(int   _Item)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.DisplayFilterButton(true);
		com_Column.DisplayFilterPattern(false);
		com_Column.FilterType(6/*exCheck*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.AllowSizing(false);
		com_Column1.AllowSort(false);
		com_Column1.Width(32);
		com_Column1.FormatColumn("1 apos ``");
		com_Column1.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellState(com_Items.InsertItem(h,,"Sub-Item B1"),COMVariant::createFromInt(1),1);
		com_Items.InsertItem(h,,"Sub-Item B2");
		com_Items.ExpandItem(h,true);
		com_Items.AddItem("Item C");
	extree1.FilterInclude(1/*exItemsWithChilds*/);
	extree1.FilterBarFont(extree1.Font());
	var_s = "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i";
	var_s = var_s + "></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:";
	var_s = var_s + " ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><";
	var_s = var_s + "i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i";
	var_s = var_s + "></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80";
	var_s = var_s + "8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ";
	var_s = var_s + "`</fgcolor>`";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptPattern("B");
	extree1.FilterBarPromptVisible(7/*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column2 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column2 = var_Column2;
		com_Column2.FilterType(240/*exFilter*/);
		com_Column2.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.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

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarFont(extree1.Font());
	extree1.FilterBarCaption("`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
	extree1.FilterBarPromptPattern("B");
	extree1.FilterBarPromptVisible(2067/*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
651
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1281/*exFilterBarShowCloseOnRight | exFilterBarToggle | exFilterBarPromptVisible*/);
	extree1.FilterBarPrompt(extree1.FormatABC("`<r>` + value",COMVariant::createFromStr(extree1.FilterBarPrompt())));
	extree1.EndUpdate();
}
650
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.RightToLeft(true);
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(257/*exFilterBarToggle | exFilterBarPromptVisible*/);
	extree1.EndUpdate();
}
649
How can I change the visual appearance of the filter bar's close button (EBN)

public void init()
{
	COM com_Appearance,com_Column,com_Items;
	anytype var_Appearance,var_Column,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj";
		var_s = var_s + "yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS";
		var_s = var_s + "ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO";
		var_s = var_s + "icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D";
		var_s = var_s + "YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA";
		var_s = var_s + "iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ";
		var_s = var_s + "DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0";
		var_s = var_s + "TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk";
		var_s = var_s + "jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM";
		var_s = var_s + "RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ";
		var_s = var_s + "HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(257/*exFilterBarToggle | exFilterBarPromptVisible*/);
	extree1.Background(1/*exFooterFilterBarButton*/,0x1000000);
	extree1.EndUpdate();
}
648
How can I change the visual appearance of the filter bar's close button (solid)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	extree1.Background(1/*exFooterFilterBarButton*/,WinApi::RGB2int(255,0,0));
	extree1.EndUpdate();
}
647
Is it possible to prevent definitely showing the filter bar's close button

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	extree1.Background(1/*exFooterFilterBarButton*/,-1);
	extree1.EndUpdate();
}
646
Is it possible to show the close button only if there is a filter applied

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(513/*exFilterBarShowCloseIfRequired | exFilterBarPromptVisible*/);
	extree1.EndUpdate();
}
645
The control's filter bar is not closed once I click the close button (toggle)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
		com_Items.LockedItemCount(2/*BottomAlignment*/,1);
		h = com_Items.LockedItem(2/*BottomAlignment*/,0);
		com_Items.ItemDivider(h,0);
		com_Items.CellCaption(h,COMVariant::createFromInt(0),"<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus.");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
	extree1.FilterBarCaption("`<r><fgcolor=808080>` + value");
	extree1.FilterBarPromptPattern("B");
	extree1.FilterBarPromptVisible(2323/*exFilterBarCompact | exFilterBarToggle | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
644
How can I display the control's filter on a single line

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarCaption("len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`");
	extree1.FilterBarPromptVisible(18/*exFilterBarSingleLine | exFilterBarVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
643
How can I display the control's filter on a single line (prompt-combined)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarCaption("`<r>` + value");
	extree1.FilterBarPromptVisible(2067/*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
642
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	;
	extree1.ClearFilter();
}

// FilterChange event - Notifies your application that the filter is changed.
void onEvent_FilterChange()
{
	;
	print( "Items.MatchItemCount" );
	print( extree1.Items().MatchItemCount() );
	print( extree1.FormatABC("value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",extree1.Items().MatchItemCount()) );
}

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	extree1.FilterBarPromptPattern("Item");
	extree1.EndUpdate();
}
641
How can I programmatically clear the control's filter

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	;
	extree1.ClearFilter();
}

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	extree1.FilterBarPromptPattern("B");
	extree1.EndUpdate();
}
640
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptPattern("B");
	extree1.FilterBarPromptVisible(3/*exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
639
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarPromptVisible(1/*exFilterBarPromptVisible*/);
	extree1.FilterBarPromptPattern("B");
	extree1.EndUpdate();
}
638
Is it possible to prevent closing the control's filter bar, so it is always shown

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	extree1.BeginUpdate();
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowSort(false);
		com_Column.Width(32);
		com_Column.FormatColumn("1 apos ``");
		com_Column.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		com_Items.AddItem("Item B");
		com_Items.AddItem("Item C");
	extree1.FilterBarCaption("len(value) = 0 ? `<fgcolor=808080>no filter` : value");
	extree1.FilterBarPromptVisible(2/*exFilterBarVisible*/);
	var_Column1 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column1 = var_Column1;
		com_Column1.FilterType(240/*exFilter*/);
		com_Column1.Filter("Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
637
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_s = "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcT";
	var_s = var_s + "SBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiC";
	var_s = var_s + "QQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4b";
	var_s = var_s + "g2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N";
	var_s = var_s + "4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhgh";
	var_s = var_s + "WDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMh";
	var_s = var_s + "Ag6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOgglo";
	var_s = var_s + "Foqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTK";
	var_s = var_s + "MszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhF";
	var_s = var_s + "kXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEg";
	var_s = var_s + "EYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxS";
	var_s = var_s + "CxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUB";
	var_s = var_s + "oQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=";
	extree1.VisualDesign(var_s);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.EndUpdate();
}
636
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s = var_s + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s = var_s + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s = var_s + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX";
		var_s = var_s + "IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg";
		var_s = var_s + "wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI";
		var_s = var_s + "NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s));
		com_Appearance.Add(1,"CP:3 -2 -2 2 2");
		var_s1 = "gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s1 = var_s1 + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s1 = var_s1 + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s1 = var_s1 + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe";
		var_s1 = var_s1 + "Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF";
		var_s1 = var_s1 + "SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ";
		var_s1 = var_s1 + "tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
		com_Appearance.Add(2,"CP:4 -2 -2 2 2");
	extree1.LinesAtRoot(1/*exGroupLinesAtRoot*/);
	extree1.HasButtons(4/*exCustom*/);
	extree1.HasButtonsCustom(0,16777216);
	extree1.HasButtonsCustom(1,33554432);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.EndUpdate();
}
635
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"XP:TREEVIEW 2 1");
		com_Appearance.Add(2,"XP:TREEVIEW 2 2");
	extree1.Background(180/*exTreeGlyphOpen*/,0x1000000);
	extree1.Background(181/*exTreeGlyphClose*/,0x2000000);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.EndUpdate();
}
634
How can I find if the control is running in DPI mode
public void init()
{
	;

	super();

	print( extree1.FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`") );
}
633
How can I change the visual appearance of the +/- buttons (method 1)

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s = var_s + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s = var_s + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s = var_s + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX";
		var_s = var_s + "IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg";
		var_s = var_s + "wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI";
		var_s = var_s + "NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s1 = var_s1 + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s1 = var_s1 + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s1 = var_s1 + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe";
		var_s1 = var_s1 + "Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF";
		var_s1 = var_s1 + "SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ";
		var_s1 = var_s1 + "tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Background(180/*exTreeGlyphOpen*/,0x1000000);
	extree1.Background(181/*exTreeGlyphClose*/,0x2000000);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.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
// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	;
	print( "SelectionChanged" );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.FreezeEvents(true);
	extree1.SingleSel(true);
	extree1.SelectOnRelease(true);
	COM::createFromVariant(extree1.Columns().Add("Column")).FormatColumn("1 apos `A-Z`");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.SelectItem(com_Items.AddItem(""),true);
		com_Items.AddItem("");
	extree1.FreezeEvents(false);
	extree1.EndUpdate();
}
631
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	;
	print( "SelectionChanged" );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.FreezeEvents(true);
	extree1.AllowSelectNothing(true);
	COM::createFromVariant(extree1.Columns().Add("Column")).FormatColumn("1 apos `A-Z`");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.SelectItem(com_Items.AddItem(""),true);
		com_Items.AddItem("");
	extree1.FreezeEvents(false);
	extree1.EndUpdate();
}
630
How can I specify the color for control's selection when it loses the focus

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.AllowDragging(false);
		com_Column.AllowSort(false);
		com_Column.Width(24);
		com_Column.Def(2/*exCellHasButton*/,COMVariant::createFromBoolean(true));
	COM::createFromVariant(extree1.Columns().Add("Column")).FormatColumn("1 apos `A-Z`");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.SelectItem(com_Items.AddItem(""),true);
		com_Items.AddItem("");
	extree1.Background(166/*exSelBackColorHide*/,WinApi::RGB2int(196,196,196));
	extree1.Background(167/*exSelForeColorHide*/,WinApi::RGB2int(0,0,1));
	extree1.EndUpdate();
}
629
How can I change the background color for checked items (EBN color, frame)

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Appearance,com_Column,com_ConditionalFormat,com_Items;
	anytype var_Appearance,var_Column,var_ConditionalFormat,var_Items;
	int h,hChild;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.SelBackMode(1/*exTransparent*/);
	extree1.DefaultItemHeight(22);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEcx";
		var_s = var_s + "9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJcF";
		var_s = var_s + "qXFSLVxNBKAQEBA=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s));
		com_Appearance.Add(1,"CP:2 1 1 -1 -1");
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(0x1000000);
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
628
How can I change the caption of the checked items (sample 2)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value");
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
627
How can I change the caption of the checked items (sample 1)

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Def(17/*exCellCaptionFormat*/,COMVariant::createFromInt(1));
		com_Column.FormatColumn("value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
626
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Column,com_ConditionalFormat,com_Items,com_f;
	anytype f,var_Column,var_ConditionalFormat,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.DefaultItemHeight(22);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
		f = COM::createFromObject(new stdole.StdFont()); com_f = f;
			f.Name(extree1.Font().Name());
			f.Size(12);
		com_ConditionalFormat.Font(f);
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
625
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Column,com_ConditionalFormat,com_Items;
	anytype var_Column,var_ConditionalFormat,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.Bold(true);
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
624
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Column,com_ConditionalFormat,com_Items;
	anytype var_Column,var_ConditionalFormat,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.SelBackMode(1/*exTransparent*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.ForeColor(WinApi::RGB2int(255,128,128));
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
623
How can I change the background color for checked items (solid color)

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
	extree1.Refresh();
}

public void init()
{
	COM com_Column,com_ConditionalFormat,com_Items;
	anytype var_Column,var_ConditionalFormat,var_Items;
	int h,hChild;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.SelBackMode(1/*exTransparent*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0 = 1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(WinApi::RGB2int(255,128,128));
	extree1.HeaderVisible(1);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.CellState(hChild,COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
622
How can I export the cell's state as well

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("C1")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		COM::createFromVariant(com_Columns.Add("C2")).FormatColumn("1 index `A-Z`");
		COM::createFromVariant(com_Columns.Add("C3")).FormatColumn("100 index ``");
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item 1");
		com_Items.CellState(com_Items.AddItem("Item 2"),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),1);
	extree1.EndUpdate();
	print( "Export CSV Items including Check-State:" );
	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Position(0);
		com_Column.FormatColumn("%CS0");
	print( extree1.Export("") );
	extree1.Columns().Remove("Check");
	extree1.EndUpdate();
}
621
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 2)
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void onEvent_BeforeExpandItem(int   _Item,COMVariant /*variant*/   _Cancel)
{
	;
	print( "BeforeExpandItem" );
	print( _Item );
	print( "ColumnFromPoint" );
	print( extree1.ColumnFromPoint(-1,-1) );
	print( "ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." );
	extree1.Items().InsertItem(_Item,,"new child");
}

public void init()
{
	COM com_Columns,com_Items;
	anytype var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Items")).DisplayFilterButton(true);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.ItemHasChildren(com_Items.InsertItem(,,"Group 1"),true);
		com_Items.ItemHasChildren(com_Items.InsertItem(,,"Group 2"),true);
	extree1.EndUpdate();
}
620
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that (method 1)
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void onEvent_BeforeExpandItem(int   _Item,COMVariant /*variant*/   _Cancel)
{
	;
	print( "BeforeExpandItem" );
	print( _Item );
	extree1.Items().InsertItem(_Item,,"new child");
}

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Items")); com_Column = var_Column;
			com_Column.DisplayFilterButton(true);
			com_Column.FilterList(4/*exRootItems*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.ItemHasChildren(com_Items.InsertItem(,,"Group 1"),true);
		com_Items.ItemHasChildren(com_Items.InsertItem(,,"Group 2"),true);
	extree1.EndUpdate();
}
619
How do I change the drop down filter icon/button (black)

public void init()
{
	COM com_Appearance,com_Column,com_Items;
	anytype var_Appearance,var_Column,var_Items;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg";
		var_s = var_s + "mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd";
		var_s = var_s + "r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1000000);
	extree1.Background(26/*exBackColorFilter*/,WinApi::RGB2int(0,0,1));
	extree1.Background(27/*exForeColorFilter*/,WinApi::RGB2int(255,255,255));
	extree1.Description(25/*exFilterBarExclude*/,"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
	extree1.HeaderAppearance(0/*None2*/);
	extree1.BackColorHeader(WinApi::RGB2int(0,0,0));
	extree1.ForeColorHeader(WinApi::RGB2int(255,255,255));
	extree1.HeaderVisible(true);
	extree1.BackColorLevelHeader(extree1.BackColor());
	var_Column = COM::createFromVariant(extree1.Columns().Add("Filter")); com_Column = var_Column;
		com_Column.FilterList(8448/*exShowExclude | exShowCheckBox*/);
		com_Column.DisplayFilterButton(true);
		com_Column.AllowSort(false);
		com_Column.AllowDragging(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("One");
		com_Items.AddItem("Two");
		com_Items.AddItem("Three");
	extree1.EndUpdate();
}
618
How do I change the drop down filter icon/button (white)

public void init()
{
	COM com_Appearance,com_Column;
	anytype var_Appearance,var_Column;
	str var_s;
	;

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ";
		var_s = var_s + "0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN";
		var_s = var_s + "YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h";
		var_s = var_s + "hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb";
		var_s = var_s + "hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB";
		var_s = var_s + "MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s));
		com_Appearance.Add(1,"CP:2 -14 -4 -2 4");
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1000000);
	extree1.Background(32/*exCursorHoverColumn*/,extree1.BackColor());
	extree1.HeaderAppearance(0/*None2*/);
	extree1.BackColorHeader(WinApi::RGB2int(255,255,255));
	extree1.HeaderVisible(true);
	extree1.HeaderHeight(24);
	extree1.BackColorLevelHeader(extree1.BackColor());
	var_Column = COM::createFromVariant(extree1.Columns().Add("Filter")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.AllowSort(false);
		com_Column.AllowDragging(false);
	extree1.EndUpdate();
}
617
Do you have any Fit-To-Page options when printing the control (W x T, Fit-To )

public void init()
{
	COM com_Print,com_rs;
	anytype rs,var_Print;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.ContinueColumnScroll(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	extree1.EndUpdate();
	// Add 'exprint.dll(ExPrint.dll)' reference to your project.
	// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
	var_Print = COM::createFromObject(new EXPRINTLib.exprint()); com_Print = var_Print;
		com_Print.Options("FitToPage =2 x 1");
		com_Print.PrintExt(extree1);
		com_Print.Preview();
}
616
Do you have any Fit-To-Page options when printing the control ( x T, Fit-To Tall )

public void init()
{
	COM com_Print,com_rs;
	anytype rs,var_Print;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.ContinueColumnScroll(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	extree1.EndUpdate();
	// Add 'exprint.dll(ExPrint.dll)' reference to your project.
	// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
	var_Print = COM::createFromObject(new EXPRINTLib.exprint()); com_Print = var_Print;
		com_Print.Options("FitToPage = x 2");
		com_Print.PrintExt(extree1);
		com_Print.Preview();
}
615
Do you have any Fit-To-Page options when printing the control ( W x, Fit-To Wide )

public void init()
{
	COM com_Print,com_rs;
	anytype rs,var_Print;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.ContinueColumnScroll(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	extree1.EndUpdate();
	// Add 'exprint.dll(ExPrint.dll)' reference to your project.
	// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
	var_Print = COM::createFromObject(new EXPRINTLib.exprint()); com_Print = var_Print;
		com_Print.Options("FitToPage = 2 x");
		com_Print.PrintExt(extree1);
		com_Print.Preview();
}
614
Do you have any Fit-To-Page options when printing the control ( percent view, Adjust-To )

public void init()
{
	COM com_Print,com_rs;
	anytype rs,var_Print;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(false);
	extree1.ContinueColumnScroll(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	extree1.DataSource(rs);
	extree1.EndUpdate();
	// Add 'exprint.dll(ExPrint.dll)' reference to your project.
	// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
	var_Print = COM::createFromObject(new EXPRINTLib.exprint()); com_Print = var_Print;
		com_Print.Options("FitToPage = 50%");
		com_Print.PrintExt(extree1);
		com_Print.Preview();
}
613
How do I prevent changing the cell's state ( check-box state )
// CellStateChanging event - Fired before cell's state is about to be changed.
void onEvent_CellStateChanging(int   _Item,int   _ColIndex,COMVariant /*long*/   _NewState)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = extree1.Items(); com_Items = var_Items;
		_NewState = com_Items.CellState(_Item,_ColIndex);
}

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("P1")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("P2")); com_Column1 = var_Column1;
		com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column1.PartialCheck(true);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
612
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
}

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(4/*exGroupLinesInsideLeaf*/);
	extree1.SelBackMode(1/*exTransparent*/);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Items")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Format")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("%CS0");
		com_Column1.Caption(com_Column1.FormatColumn());
		com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Item 1");
		com_Items.CellState(com_Items.InsertItem(h,,"Item 2"),COMVariant::createFromInt(0),1);
		com_Items.CellState(com_Items.InsertItem(h,,"Item 3"),COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	extree1.EndUpdate();
}
611
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.Columns().Add("Items");
	var_Column = COM::createFromVariant(extree1.Columns().Add("Format")); com_Column = var_Column;
		com_Column.FormatColumn("%CD0");
		com_Column.Caption(com_Column.FormatColumn());
		com_Column.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column.Def(8/*exHeaderForeColor*/,com_Column.Def(5/*exCellForeColor*/));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellData(com_Items.AddItem("Item 1"),COMVariant::createFromInt(0),COMVariant::createFromInt(1234));
		com_Items.CellData(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),"this is just an user data");
		com_Items.CellData(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0),COMVariant::createFromDate(str2Date("1/1/2001",213)));
	extree1.EndUpdate();
}
610
How can I use the CellCaption with ConditionalFormat/ComputedField/FormatColumn

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	extree1.Columns().Add("Items");
	var_Column = COM::createFromVariant(extree1.Columns().Add("Format")); com_Column = var_Column;
		com_Column.FormatColumn("%0");
		com_Column.Caption(com_Column.FormatColumn());
		com_Column.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column.Def(8/*exHeaderForeColor*/,com_Column.Def(5/*exCellForeColor*/));
		com_Column.Width(96);
		com_Column.AllowSizing(false);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Format")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("%C0");
		com_Column1.Caption(com_Column1.FormatColumn());
		com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
		com_Column1.Width(96);
		com_Column1.AllowSizing(false);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(1));
		h = com_Items.AddItem(COMVariant::createFromInt(0));
		com_Items.CellCaption(h,COMVariant::createFromInt(0),"<b>HTML</b> Text");
		com_Items.CellCaptionFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.AddItem(COMVariant::createFromInt(2));
	extree1.EndUpdate();
}
609
Can I display the radio-button with a solid color

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.RadioImage(0,32699122);
	extree1.RadioImage(1,16777216);
	COM::createFromVariant(extree1.Columns().Add("Check")).Def(1/*exCellHasRadioButton*/,COMVariant::createFromBoolean(true));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Radio 1");
		com_Items.CellState(com_Items.AddItem("Radio 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Radio 1");
	extree1.EndUpdate();
}
608
Can I display the check-box with a solid color

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.CheckImage(0/*Unchecked*/,32699122);
	extree1.CheckImage(1/*Checked*/,16777216);
	COM::createFromVariant(extree1.Columns().Add("Check")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Check 1");
		com_Items.CellState(com_Items.AddItem("Check 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Check 3");
	extree1.EndUpdate();
}
607
Can I display the column's multiple-lines caption vertically oriented (method 2)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(48);
	extree1.ColumnAutoResize(true);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("")); com_Column = var_Column;
			com_Column.HTMLCaption("First Column");
			com_Column.HeaderVertical(true);
			com_Column.Width(36);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("")); com_Column1 = var_Column1;
			com_Column1.HTMLCaption("<c><b>Second Column");
			com_Column1.HeaderVertical(true);
			com_Column1.Width(36);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("")); com_Column2 = var_Column2;
			com_Column2.HTMLCaption("<r>Third Column");
			com_Column2.HeaderVertical(true);
			com_Column2.Width(36);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column2.Position(2);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	extree1.EndUpdate();
}
606
Can I display the column's multiple-lines caption vertically oriented (method 1)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(48);
	extree1.HeaderSingleLine(false);
	extree1.ColumnAutoResize(true);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("First Column")); com_Column = var_Column;
			com_Column.HeaderVertical(true);
			com_Column.Width(36);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Second Column")); com_Column1 = var_Column1;
			com_Column1.HeaderBold(true);
			com_Column1.HeaderVertical(true);
			com_Column1.Width(36);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Third Column")); com_Column2 = var_Column2;
			com_Column2.HeaderVertical(true);
			com_Column2.Width(36);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column2.Position(2);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	extree1.EndUpdate();
}
605
Can I display the column's caption vertically oriented (method 2)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(48);
	extree1.ColumnAutoResize(true);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("")); com_Column = var_Column;
			com_Column.HTMLCaption("First");
			com_Column.HeaderVertical(true);
			com_Column.Width(20);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("")); com_Column1 = var_Column1;
			com_Column1.HTMLCaption("<c><b>Second");
			com_Column1.HeaderVertical(true);
			com_Column1.Width(20);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("")); com_Column2 = var_Column2;
			com_Column2.HTMLCaption("<r>Third");
			com_Column2.HeaderVertical(true);
			com_Column2.Width(20);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Position(2);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	extree1.EndUpdate();
}
604
Can I display the column's caption vertically oriented (method 1)

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.HeaderHeight(48);
	extree1.ColumnAutoResize(true);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("First")); com_Column = var_Column;
			com_Column.HeaderVertical(true);
			com_Column.Width(20);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Second")); com_Column1 = var_Column1;
			com_Column1.HeaderBold(true);
			com_Column1.HeaderVertical(true);
			com_Column1.Width(20);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Third")); com_Column2 = var_Column2;
			com_Column2.HeaderVertical(true);
			com_Column2.Width(20);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Position(2);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	extree1.EndUpdate();
}
603
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
}

public void init()
{
	COM com_ConditionalFormat,com_Items;
	anytype var_ConditionalFormat,var_Items;
	;

	super();

	extree1.BeginUpdate();
	extree1.SelBackMode(1/*exTransparent*/);
	var_ConditionalFormat = COM::createFromObject(extree1.ConditionalFormats()).Add("%CS0","check"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.Bold(true);
	COM::createFromVariant(extree1.Columns().Add("Items")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	COM::createFromVariant(extree1.Columns().Add(extree1.ConditionalFormats().Item("check").Expression())).FormatColumn(extree1.ConditionalFormats().Item("check").Expression());
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item 1");
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Item 3");
	extree1.EndUpdate();
}
602
How can I include the child items, when a filter is applied

public void init()
{
	COM com_Columns,com_Items;
	anytype var_Columns,var_Items;
	int h0;
	;

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	extree1.ContinueColumnScroll(0);
	extree1.MarkSearchColumn(false);
	extree1.SearchColumnIndex(1);
	extree1.Indent(16);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.FilterBarPromptVisible(true);
	extree1.FilterBarPromptPattern("Nancy");
	extree1.FilterInclude(1/*exItemsWithChilds*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(96);
		COM::createFromVariant(com_Columns.Add("Title")).Width(96);
		com_Columns.Add("City");
	var_Items = extree1.Items(); com_Items = var_Items;
		h0 = com_Items.AddItem("Nancy Davolio");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.InsertItem(h0,,"Andrew Fuller");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Vice President, Sales");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Tacoma");
		h0 = com_Items.InsertItem(h0,,"Michael Suyama");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Janet Leverling");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Kirkland");
		h0 = com_Items.InsertItem(h0,,"Margaret Peacock");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Redmond");
	extree1.ApplyFilter();
	extree1.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

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Column5,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items;
	int h;
	;

	super();

	extree1.BeginUpdate();
	var_Column = COM::createFromVariant(extree1.Columns().Add("Date")); com_Column = var_Column;
		com_Column.SortType(2/*SortDate*/);
		com_Column.DisplayFilterButton(true);
		com_Column.DisplayFilterPattern(false);
		com_Column.DisplayFilterDate(true);
		com_Column.FilterList(1296/*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("DateTime")); com_Column1 = var_Column1;
		com_Column1.SortType(3/*SortDateTime*/);
		com_Column1.DisplayFilterButton(true);
		com_Column1.DisplayFilterPattern(false);
		com_Column1.FilterList(1296/*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/);
	var_Column2 = COM::createFromVariant(extree1.Columns().Add("Time")); com_Column2 = var_Column2;
		com_Column2.SortType(4/*SortTime*/);
		com_Column2.DisplayFilterButton(true);
		com_Column2.DisplayFilterPattern(false);
		com_Column2.FilterList(1296/*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/);
		com_Column2.FormatColumn("time(value)");
	var_Column3 = COM::createFromVariant(extree1.Columns().Add("Numeric")); com_Column3 = var_Column3;
		com_Column3.SortType(1/*SortNumeric*/);
		com_Column3.DisplayFilterButton(true);
		com_Column3.FilterList(1296/*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/);
	var_Column4 = COM::createFromVariant(extree1.Columns().Add("String")); com_Column4 = var_Column4;
		com_Column4.DisplayFilterButton(true);
		com_Column4.FilterList(1296/*exShowFocusItem | exShowCheckBox | exSortItemsDesc*/);
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/27/2010",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(1),COMVariant::createFromUtcDateTime(str2Datetime("1/27/2010 10:00:00",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(2),com_Items.CellCaption(h,COMVariant::createFromInt(1)));
		com_Items.CellCaption(h,COMVariant::createFromInt(3),COMVariant::createFromInt(1));
		com_Items.CellCaption(h,COMVariant::createFromInt(4),com_Items.CellCaption(h,COMVariant::createFromInt(3)));
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("1/27/2011",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(1),COMVariant::createFromUtcDateTime(str2Datetime("1/27/2011 9:00:00",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(2),com_Items.CellCaption(h,COMVariant::createFromInt(1)));
		com_Items.CellCaption(h,COMVariant::createFromInt(3),COMVariant::createFromInt(11));
		com_Items.CellCaption(h,COMVariant::createFromInt(4),com_Items.CellCaption(h,COMVariant::createFromInt(3)));
		h = com_Items.AddItem(COMVariant::createFromDate(str2Date("11/2/2010",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(1),COMVariant::createFromUtcDateTime(str2Datetime("11/2/2010 9:00:00",213)));
		com_Items.CellCaption(h,COMVariant::createFromInt(2),com_Items.CellCaption(h,COMVariant::createFromInt(1)));
		com_Items.CellCaption(h,COMVariant::createFromInt(3),COMVariant::createFromInt(2));
		com_Items.CellCaption(h,COMVariant::createFromInt(4),com_Items.CellCaption(h,COMVariant::createFromInt(3)));
	var_Column5 = COM::createFromObject(extree1.Columns()).Item("DateTime"); com_Column5 = var_Column5;
	com_Column5.DisplayFilterDate(false);
	extree1.EndUpdate();
}