749
Bolds only the expanded items

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CX0") , "Bold", -1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Description");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2"),"","Sub-Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Child 3`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
_ObjectCallMethod( tree , "EndUpdate");

748
Displays the root item's index and value/caption using expressions

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "AutoDrag", 3);
_ObjectSetProperty( tree , "SingleSel", 0);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "GridLineStyle", 48);
_ObjectSetProperty( tree , "GridLineColor", 13684944);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CC0 and %CX0") , "Bold", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "1");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
	_ObjectSetProperty( conditionalformat , "ApplyTo", 2);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Description");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Index");
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "Width", 16);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Root-Index");
	_ObjectSetProperty( column , "FormatColumn", "root(1 index ``)");
	_ObjectSetProperty( column , "Position", 1);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Root-Value");
	_ObjectSetProperty( column , "FormatColumn", "root(%0)");
	_ObjectSetProperty( column , "Position", 2);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2"),"","Sub-Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Child 3`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

747
Displays the parent item's index and caption/value using expressions

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "AutoDrag", 3);
_ObjectSetProperty( tree , "SingleSel", 0);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "GridLineStyle", 48);
_ObjectSetProperty( tree , "GridLineColor", 13684944);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CC0 and %CX0") , "Bold", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "1");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
	_ObjectSetProperty( conditionalformat , "ApplyTo", 2);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Description");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Index");
	_ObjectSetProperty( column , "FormatColumn", "1 index `I`");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "Width", 16);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Parent-Index");
	_ObjectSetProperty( column , "FormatColumn", "parent(1 index `I`)");
	_ObjectSetProperty( column , "Position", 1);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Parent-Value");
	_ObjectSetProperty( column , "FormatColumn", "parent(%0)");
	_ObjectSetProperty( column , "Position", 2);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2"),"","Sub-Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Child 3`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

746
Specify the size of the Columns panel

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectSetProperty( tree , "ColumnsFloatBarRect", ",,96");
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 34);
_ObjectCallMethod( tree , "EndUpdate");

745
Show a vertical line between pivot and Columns panel (EBN color)

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZX" +
	"hal4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(87) = 16777216");
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 34);
_ObjectCallMethod( tree , "EndUpdate");

744
Change the background of the Columns panel (EBN color)

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzT" +
	"J0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSN" +
	"AgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPp" +
	"TlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+" +
	"BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJl" +
	"EkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd" +
	"4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLB" +
	"qOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(87) = 16777216");
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 34);
_ObjectCallMethod( tree , "EndUpdate");

743
Change the background of the Columns panel (solid color)

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 34);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(87) = 15790320");
_ObjectCallMethod( tree , "EndUpdate");

742
Change the visual appearance of the Columns panel

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzT" +
	"J0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSN" +
	"AgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPp" +
	"TlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+" +
	"BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJl" +
	"EkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd" +
	"4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLB" +
	"qOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(92) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(93) = 16185078");
_ObjectSetProperty( tree , "BackColorHeader", 16777216);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(26) = `Show/Hide`");
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 2);
_ObjectCallMethod( tree , "EndUpdate");

741
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Country") , "ShowIdem", "<fgcolor gray>〃");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
_ObjectCallMethod( tree , "EndUpdate");

740
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Country") , "ShowIdem", " ");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Spain");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
	_ObjectCallMethod( items , "AddItem", "Germany");
_ObjectCallMethod( tree , "EndUpdate");

739
Displays a glitch funnel for drop-down filter buttons (empty or active)

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectSetProperty( appearance , "RenderType", -1);
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZO" +
	"iwLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYRe" +
	"WAPfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -2 0 0 0");
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(41) = 33554433");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "BackColorHeader", 16777215);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "HeaderVisible", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "1st col");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "Filter", "Item B");
	_ObjectSetProperty( column , "FilterType", 240);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "2nd col");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

738
How can I replace or add an icon at runtime

OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "ReplaceIcon", "gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" +
	"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==");
_ObjectCallMethod( tree , "ReplaceIcon", "C:\images\favicon.ico",0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Items`).Def(17) = 1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Items") , "AddItem", "Item <img>1</img>");
_ObjectCallMethod( tree , "EndUpdate");

737
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", -1);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(21) = `*<%filter%>*`");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "1");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

736
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column 1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column 2");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column 3");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column 4");
_ObjectCallMethod( tree , "EndUpdate");

735
Load data as a tree using a parent-id relationship

OBJECT rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).Width = 128");
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb",3,3);
_ObjectCallMethod( tree , "PutItems", _ObjectCallMethod( rs , "GetRows", ),";0;15");
_ObjectCallMethod(tree, "ExecuteTemplate", "Items.ExpandItem(0) = True");
_ObjectCallMethod( tree , "EndUpdate");

734
Highlight the leaf items

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CC0=0") , "ForeColor", 8421504);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Item") , "Width", 16);
	_ObjectCallMethod( columns , "Add", "Desc");
items = _ObjectGetProperty( tree , "Items");
	hR = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(hR,1) = `The root directory /`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(hR) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Home");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The home directory with user directories Alice and Bob`");
	_ObjectCallMethod( items , "InsertItem", h,"","Alice");
	_ObjectCallMethod( items , "InsertItem", h,"","Bob");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Etc");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The etc directory with one configuration file`");
	h = _ObjectCallMethod( items , "InsertItem", h,"","nginx.conf");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(hR,,`Var`),1) = `The var directory`");
_ObjectCallMethod( tree , "EndUpdate");

733
Highlight the parent items

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CC0") , "ForeColor", 255);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Item") , "Width", 16);
	_ObjectCallMethod( columns , "Add", "Desc");
items = _ObjectGetProperty( tree , "Items");
	hR = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(hR,1) = `The root directory /`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(hR) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Home");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The home directory with user directories Alice and Bob`");
	_ObjectCallMethod( items , "InsertItem", h,"","Alice");
	_ObjectCallMethod( items , "InsertItem", h,"","Bob");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Etc");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The etc directory with one configuration file`");
	h = _ObjectCallMethod( items , "InsertItem", h,"","nginx.conf");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(hR,,`Var`),1) = `The var directory`");
_ObjectCallMethod( tree , "EndUpdate");

732
Highlight the item being expanded or collapsed

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CX0") , "Bold", -1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Item") , "Width", 16);
	_ObjectCallMethod( columns , "Add", "Desc");
items = _ObjectGetProperty( tree , "Items");
	hR = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(hR,1) = `The root directory /`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(hR) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Home");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The home directory with user directories Alice and Bob`");
	_ObjectCallMethod( items , "InsertItem", h,"","Alice");
	_ObjectCallMethod( items , "InsertItem", h,"","Bob");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Etc");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `The etc directory with one configuration file`");
	h = _ObjectCallMethod( items , "InsertItem", h,"","nginx.conf");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(hR,,`Var`),1) = `The var directory`");
_ObjectCallMethod( tree , "EndUpdate");

731
Disable temporarily the column's sort, resize and drag and drop

OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "SortBarVisible", -1);
_ObjectSetProperty( tree , "SortBarCaption", "<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)");
_ObjectSetProperty( tree , "HeaderEnabled", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Index") , "FormatColumn", "1 index ``");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos") , "FormatColumn", "1 apos ``");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Edit");
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "GridLineColor", 14737632);
_ObjectCallMethod( tree , "EndUpdate");

730
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
FUNCTION treeEvents_AnchorClick(OBJECT tree, STRING AnchorID, STRING Options)
	Message( AnchorID );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "TreeColumnIndex", -1);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "before item");
	h = _ObjectCallMethod( items , "AddItem", "<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4Aj" +
	"MGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEB" +
	"A==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DAB" +
	"vABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>	" +
	"650;</a><br>+ withdraw(amount: Currency)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = False");
	_ObjectCallMethod( items , "AddItem", "after item");
_ObjectCallMethod( tree , "EndUpdate");

729
Expandable-caption

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "TreeColumnIndex", -1);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "before item");
	h = _ObjectCallMethod( items , "AddItem", "<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = False");
	_ObjectCallMethod( items , "AddItem", "after item");
_ObjectCallMethod( tree , "EndUpdate");

728
Force scrollbars hover-all feature
OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(500) = -1");

727
Disable scrollbars hover-all feature (Windows 11 or greater)
OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(500) = 1");

726
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod( tree , "ShowToolTip", "new content","","","+8","+8");
END



725
Shows the tooltip of the object moved relative to its default position

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod( tree , "ShowToolTip", "<null>","<null>","","+8","+8");
END

OBJECT tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "tootip") , "ToolTip", "this is a tooltip assigned to a column");

724
Highlight the match once the filter is applied

// FilterChange event - Notifies your application that the filter is changed.
FUNCTION treeEvents_FilterChange()
	format = _ObjectCallMethod( tree , "FormatABC", "`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",_ObjectGetProperty( tree , "FilterBarPromptPattern"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).FormatColumn = format");
	_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1).FormatColumn = format");
	_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).FormatColumn = format");
END

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "SelBackColor", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "SelForeColor", _ObjectGetProperty( tree , "ForeColor"));
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
_ObjectSetProperty( tree , "MarkSearchColumn", 0);
_ObjectSetProperty( tree , "SearchColumnIndex", 1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 23);
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2055);
_ObjectSetProperty( tree , "FilterBarBackColor", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "FilterBarPromptPattern", "and");
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Name");
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "lower(value)");
	column = _ObjectCallMethod( columns , "Add", "Title");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "lower(value)");
	column = _ObjectCallMethod( columns , "Add", "City");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "lower(value)");
items = _ObjectGetProperty( tree , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h0)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Andrew Fuller");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Tacoma`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(h0) = 1");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "AddItem", "Margaret Peacock");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Redmond`");
	h0 = _ObjectCallMethod( items , "AddItem", "Steven Buchanan");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Manager`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Michael Suyama");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Robert King");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Laura Callahan");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Inside Sales Coordinator`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "AddItem", "Anne Dodsworth");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
_ObjectCallMethod( tree , "EndUpdate");

723
ADOR, MDB (JET)

OBJECT rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmD" +
	"cD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "ToLeft");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "ToRight");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(34) = `caption,picture,icons,icon,check`");
_ObjectSetProperty( tree , "DefaultItemHeight", 32);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Caption");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,0) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,0) = `1,2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellPicture(h,0) = Me.ExecuteTemplate(`loadpicture(`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`)`)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = CellCaption(h,0)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,1) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,1) = CellImage(h,0)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,1) = `2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellPicture(h,1) = CellPicture(h,0)");
	h = _ObjectCallMethod( items , "AddItem", "<b>HTML</b> <off 4>Caption");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,0) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,0) = `1,2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellPicture(h,0) = Me.ExecuteTemplate(`loadpicture(`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`)`)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = CellCaption(h,0)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,1) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,1) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,1) = CellImage(h,0)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,1) = `2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellPicture(h,1) = CellPicture(h,0)");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(48) = 2
	' Column.Def(49) = 2

END

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ImageSize", 32);
_ObjectSetProperty( tree , "DefaultItemHeight", 36);
_ObjectSetProperty( tree , "HeaderHeight", _ObjectGetProperty( tree , "DefaultItemHeight"));
_ObjectSetProperty( tree , "SortBarHeight", _ObjectGetProperty( tree , "DefaultItemHeight"));
_ObjectSetProperty( _ObjectGetProperty( tree , "Font") , "Size", 16);
_ObjectSetProperty( _ObjectGetProperty( tree , "FilterBarFont") , "Size", _ObjectGetProperty( _ObjectGetProperty( tree , "Font") , "Size"));
_ObjectSetProperty( _ObjectGetProperty( tree , "ToolTipFont") , "Size", _ObjectGetProperty( _ObjectGetProperty( tree , "Font") , "Size"));
_ObjectSetProperty( tree , "Indent", 26);
_ObjectCallMethod( tree , "Images", "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");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj" +
	"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
	"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
	"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
	"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
	"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
	"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
	"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
	"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
	"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==");
	_ObjectCallMethod( appearance , "Add", 2,"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" +
	"gRBCCQAgQEA==");
	_ObjectCallMethod( appearance , "Add", 3,"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");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH" +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
	"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
	"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
	"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
	"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
	"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
	"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
	"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
_ObjectSetProperty( tree , "BackColorHeader", 80135878);
_ObjectSetProperty( tree , "SelBackColor", 67108864);
_ObjectSetProperty( tree , "SelForeColor", 65536);
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(1) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(2) = 50331648");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(20) = SelBackColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(21) = SelForeColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = BackColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = ForeColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 67108864");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(41) = 67174657");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 67109119");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectSetProperty( tree , "SortBarVisible", -1);
_ObjectSetProperty( tree , "BackColorSortBar", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "FilterBarDropDownHeight", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectSetProperty( column , "Width", 128);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 256);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Alignment", 1);
	_ObjectSetProperty( column , "HeaderAlignment", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 8480);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "DisplayExpandButton", -1);
	_ObjectSetProperty( column , "ExpandColumns", "1,2,3");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectSetProperty( column , "HeaderImage", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Images");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "Width", 196);
	_ObjectSetProperty( column , "HTMLCaption", "<img>1</img><img>2</img><img>3</img> Images");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(`Pos`).Position = 3");
items = _ObjectGetProperty( tree , "Items");
	hR = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(hR) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDividerLine(hR) = 0");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child A");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `1,2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `123`");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child B");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `2,3,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `231`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(h) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child C");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `312`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `3,1,2`");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(hR) = True");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(48) = 2
	' Column.Def(49) = 2

END

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ImageSize", 16);
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq" +
	"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
	"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
	"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
	"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
	"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH" +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
	"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
	"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
	"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
	"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
	"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
	"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
	"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
_ObjectSetProperty( tree , "BackColorHeader", 80135878);
_ObjectSetProperty( tree , "SelBackColor", 67108864);
_ObjectSetProperty( tree , "SelForeColor", 65536);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(20) = SelBackColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(21) = SelForeColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = BackColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = ForeColor");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 67108864");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(41) = 67174657");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 67109119");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectSetProperty( tree , "SortBarVisible", -1);
_ObjectSetProperty( tree , "BackColorSortBar", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
_ObjectSetProperty( tree , "FilterBarDropDownHeight", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectSetProperty( column , "Width", 128);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 256);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "FormatColumn", "1 pos ``");
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Alignment", 1);
	_ObjectSetProperty( column , "HeaderAlignment", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 8480);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "DisplayExpandButton", -1);
	_ObjectSetProperty( column , "ExpandColumns", "1,2,3");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectSetProperty( column , "HeaderImage", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Images");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "Width", 196);
	_ObjectSetProperty( column , "HTMLCaption", "<img>1</img><img>2</img><img>3</img> Images");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(`Pos`).Position = 3");
items = _ObjectGetProperty( tree , "Items");
	hR = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(hR) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDividerLine(hR) = 0");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child A");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `1,2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `123`");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child B");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `2,3,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `231`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(h) = True");
	h = _ObjectCallMethod( items , "InsertItem", hR,"","Child C");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(h,2) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = `312`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(h,3) = `3,1,2`");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hR")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hR)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(hR) = True");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	OBJECT column;
	column = Column;
END

OBJECT rs,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(`ShipVia`).Position = 2");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",1,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectSetProperty( tree , "SortBarVisible", -1);
_ObjectSetProperty( tree , "Layout", "singlesort=^"C1:1^"");
_ObjectCallMethod( tree , "EndUpdate");

717
Is it possible to view all events the control fires
// Event event - Notifies the application once the control fires an event.
FUNCTION treeEvents_Event(OBJECT tree, INT EventID)
	Message( _ObjectCallMethod(tree, "ExecuteTemplate", "EventParam(-2)") );
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

716
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
FUNCTION treeEvents_BeforeExpandItem(OBJECT tree, INT Item, VARIANT Cancel)
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	Cancel = _ObjectCallMethod(tree, "ExecuteTemplate", ".Items.ItemParent(Item)");
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "SingleSel", 0);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 1.1"),"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1.2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", _ObjectCallMethod( items , "InsertItem", h,"","Child 2.1"),"","Child");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2.2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

715
How can I display an item of picture type

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "ScrollBySingleLine", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Artikel") , "HTMLCaption", "<u>Artikel");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Waarde") , "HTMLCaption", "<u>Waarde");
_ObjectCallMethod(tree, "ExecuteTemplate", "HTMLPicture(`T22128`) = `c:\exontrol\images\zipdisk.gif`");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "T22128-28)2D");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","<img>T22128:128</img>");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h1)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h1,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHeight(h1) = 128");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","werkvoorbereiding");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h1,1) = `5.80`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBold(h1,1) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Type`),1) = `Eenvoudig`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Prijs p/uur`),1) = `60,00`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Marhe`),1) = `15,00%`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Insteltijd min.`),1) = `5,00`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Aantal`),1) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(InsertItem(h1,,`Kostprije`),1) = `5,00`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h1) = True");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","materiall");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h1,1) = `14.82`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBold(h1,1) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(h1) = True");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","snijden");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h1,1) = `3.13`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBold(h1,1) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(h1) = True");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

714
Dark mode

OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
back = 65536;
fore = 16777215;
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ" +
	"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
	"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 2,"gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4b" +
	"iaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 3,"gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5C" +
	"jmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKax" +
	"bbuaaXLhGCYBgIA==");
_ObjectSetProperty( tree , "HeaderAppearance", 5);
_ObjectSetProperty( tree , "BackColor", back);
_ObjectSetProperty( tree , "BackColorHeader", back);
_ObjectSetProperty( tree , "BackColorLevelHeader", back);
_ObjectSetProperty( tree , "BackColorSortBar", back);
_ObjectSetProperty( tree , "BackColorSortBarCaption", back);
_ObjectSetProperty( tree , "FilterBarBackColor", back);
_ObjectSetProperty( tree , "FilterBarForeColor", fore);
_ObjectSetProperty( tree , "ForeColor", fore);
_ObjectSetProperty( tree , "ForeColorHeader", fore);
_ObjectSetProperty( tree , "ForeColorSortBar", fore);
_ObjectSetProperty( tree , "SelBackColor", fore);
_ObjectSetProperty( tree , "SelForeColor", back);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(18) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(64) = 50331648");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(65) = back");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(66) = fore");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(20) = fore");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(21) = back");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = back");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = fore");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(28) = back");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(142) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(141) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(186) = fore");
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(25) = `<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>`");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "AttachTemplate", "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 -4 0 0 0");
_ObjectSetProperty( tree , "SelBackColor", 33554432);
_ObjectSetProperty( tree , "SelForeColor", 65536);
_ObjectSetProperty( tree , "FullRowSelect", 0);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectSetProperty( tree , "DefaultItemHeight", 24);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Cell 1`),1) = `Cell 2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Cell 3`),1) = `Cell 4`");
_ObjectSetProperty( _ObjectGetProperty( tree , "Items") , "SelectPos", 1);
_ObjectSetProperty( tree , "SelectColumnIndex", 1);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "AttachTemplate", "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
_ObjectSetProperty( tree , "SelBackColor", 16777216);
_ObjectSetProperty( tree , "SelForeColor", 65536);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectSetProperty( tree , "DefaultItemHeight", 24);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Cell 1`),1) = `Cell 2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Cell 3`),1) = `Cell 4`");
	_ObjectSetProperty( items , "SelectPos", 1);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "AttachTemplate", "handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH" +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectSetProperty( tree , "ShowFocusRect", 0);
_ObjectSetProperty( tree , "DefaultItemHeight", 24);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "C2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Cell 1`),1) = `Cell 2`");
	h = _ObjectCallMethod( items , "AddItem", "Cell 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Cell 3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(h,1) = 16777216");
_ObjectCallMethod( tree , "EndUpdate");

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

// AddColumn event - Fired after a new column has been added.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(17) = 1

END

// FilterChange event - Notifies your application that the filter is changed.
FUNCTION treeEvents_FilterChange()
	format = _ObjectCallMethod( tree , "FormatABC", "`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",_ObjectGetProperty( tree , "FilterBarPromptPattern"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).FormatColumn = format");
	_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1).FormatColumn = format");
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col 1");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col 2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`219 Smith`),1) = `Ignacio 1234`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`1666 County Road 309A`),1) = `897 Manassa`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`38 Lone Pine`),1) = `Durango 11`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`612 Jachim Street`),1) = `Lamar 222`");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "1");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2067);
_ObjectSetProperty( tree , "FilterBarPromptType", 257);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwS" +
	"AsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbD" +
	"MRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZw" +
	"Xg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGq" +
	"DBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQF" +
	"i6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIK" +
	"AT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QB" +
	"HAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBa" +
	"BZhggZgagaYRoEwShWA6NZZAMQBAICA==");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(41) = 33554432");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( tree , "HeaderHeight", 28);
_ObjectSetProperty( tree , "BackColorHeader", 16777215);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "HeaderVisible", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "DisplayFilterButton", -1);
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "Filter", "Item 2");
		_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "DisplayFilterButton", -1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Item 2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = `Item 3`");
	h = _ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Item 5`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = `Item 6`");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
size = 2;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQc" +
	"CQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBK" +
	"cRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJ" +
	"rnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGY" +
	"GoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQp" +
	"FIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" +
	"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhY" +
	"IgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyV" +
	"YghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDx" +
	"TiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FY" +
	"FoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAha" +
	"FKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" +
	"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==");
	_ObjectCallMethod( appearance , "Add", 1,_ObjectCallMethod( tree , "FormatABC", "`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size));
	_ObjectCallMethod( appearance , "Add", 2,_ObjectCallMethod( tree , "FormatABC", "`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size));
_ObjectSetProperty( tree , "LinesAtRoot", 1);
_ObjectSetProperty( tree , "HasButtons", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(1) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN" +
	"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
	"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
	"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
	"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
	"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 -8 -4 2 4");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 33488638");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(41) = 16843009");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( tree , "HeaderHeight", 28);
_ObjectSetProperty( tree , "BackColorHeader", 16777215);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "HeaderVisible", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "DisplayFilterButton", -1);
	column = _ObjectCallMethod( columns , "Add", "C2");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "Filter", "Item 2");
		_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "DisplayFilterButton", -1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Item 2`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = `Item 3`");
	h = _ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Item 5`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = `Item 6`");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 8192);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "FilterBarHeight", _ObjectGetProperty( tree , "HeaderHeight"));
_ObjectSetProperty( tree , "HeaderAppearance", 1);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "B*");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Index");
	_ObjectSetProperty( column , "FormatColumn", "1 index ``");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "Width", 48);
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "SortType", 1);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "A.1");
	_ObjectCallMethod( items , "AddItem", "A.2");
	_ObjectCallMethod( items , "AddItem", "B.1");
	_ObjectCallMethod( items , "AddItem", "B.2");
	_ObjectCallMethod( items , "AddItem", "B.3");
	_ObjectCallMethod( items , "AddItem", "C");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

705
DragDrop (with visual effect)

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
FUNCTION treeEvents_OLEDragDrop(OBJECT tree, OBJECT Data, INT Effect, INT Button, INT Shift, INT X, INT Y)
	' SelectItem(InsertItem(i,, Data.GetData(1))) = True
	OBJECT items;
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,i")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", i)
		_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(i) = True");
END

// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION treeEvents_OLEStartDrag(OBJECT tree, OBJECT Data, INT AllowedEffects)
	' Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects = 1;
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJG" +
	"juKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(96) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(33) = 0");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(34) = 16777215");
_ObjectSetProperty( tree , "OLEDropMode", 1);
_ObjectSetProperty( tree , "AutoDrag", 196608);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "Indent", 16);
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
Message( "You can:" );
Message( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
Message( "B) right-click to re-arrange the item position inside the same control" );
Message( "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 - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
FUNCTION treeEvents_OLEDragDrop(OBJECT tree, OBJECT Data, INT Effect, INT Button, INT Shift, INT X, INT Y)
	' SelectItem(InsertItem(i,, Data.GetData(1))) = True
	OBJECT items;
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,i")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", i)
		_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(i) = True");
END

// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION treeEvents_OLEStartDrag(OBJECT tree, OBJECT Data, INT AllowedEffects)
	' Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects = 1;
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(33) = 0");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(34) = 16777215");
_ObjectSetProperty( tree , "OLEDropMode", 1);
_ObjectSetProperty( tree , "AutoDrag", 196608);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "Indent", 16);
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
Message( "You can:" );
Message( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
Message( "B) right-click to re-arrange the item position inside the same control" );
Message( "This sample shows how you can insert the data being dropped as a child of the item being hovered." );

703
DragDrop

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
FUNCTION treeEvents_OLEDragDrop(OBJECT tree, OBJECT Data, INT Effect, INT Button, INT Shift, INT X, INT Y)
	' SelectItem(InsertItem(i,, Data.GetData(1))) = True
	OBJECT items;
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,i")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", i)
		_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(i) = True");
END

// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION treeEvents_OLEStartDrag(OBJECT tree, OBJECT Data, INT AllowedEffects)
	' Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	AllowedEffects = 1;
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectSetProperty( tree , "OLEDropMode", 1);
_ObjectSetProperty( tree , "AutoDrag", 196608);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "Indent", 16);
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
Message( "You can:" );
Message( "A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
Message( "B) right-click to re-arrange the item position inside the same control" );
Message( "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)

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Item");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "FormatColumn", "1 index ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Item");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "FormatColumn", "1 index ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( tree , "EndUpdate");

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

// AddColumn event - Fired after a new column has been added.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(52) = 4
	' Column.Def(53) = 4

END

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "This is a bit of text that should break the header") , "Width", 128);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "This is a bit of text that should break the header") , "Width", 96);
_ObjectCallMethod( tree , "EndUpdate");

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

// AddColumn event - Fired after a new column has been added.
FUNCTION treeEvents_AddColumn(OBJECT tree, OBJECT Column)
	' Column.Def(52) = 4
	' Column.Def(53) = 4

END

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "HTMLCaption", "<b>C<off 4>1</b><br>left");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "HTMLCaption", "<c><b>C<off 4>2</b><br><c>center");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "HTMLCaption", "<r><b>C<off 4>3</b><br><r>right");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_FilterChange()
	_ObjectSetProperty( tree , "Indent", _ObjectCallMethod( tree , "FormatABC", "value > 0 ? 18 : 0",_ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount")));
END

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "Indent", 18);
_ObjectSetProperty( tree , "FilterInclude", 4);
_ObjectSetProperty( tree , "DrawGridLines", 2);
_ObjectSetProperty( tree , "HeaderAppearance", 1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Column");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterType", 240);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Filter", "C1");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "FormatColumn", "1 rindex ``");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	h2 = _ObjectCallMethod( items , "InsertItem", h,"","S");
	_ObjectCallMethod( items , "InsertItem", h2,"","C1");
	_ObjectCallMethod( items , "InsertItem", h2,"","C2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DrawGridLines", 1);
_ObjectSetProperty( tree , "GridLineStyle", 512);
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJX" +
	"haI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA==");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "((1 rindex ``) contains `.`) = 0");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1");
	_ObjectSetProperty( conditionalformat , "BackColor", 31514848);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<img>1</img> Task (left)");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<c><img>2</img> Task (center)");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","<r>Task (right) <img>3</img>");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

695
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,i")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", i)
	Message( i );
	Message( _ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemData(i)") );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemData(AddItem(`method 1`)) = `your extra data of method 1`");
	_ObjectCallMethod( items , "InsertItem", 0,"your extra data of method 2","method 2");
items = _ObjectGetProperty( tree , "Items");
	_ObjectSetProperty( items , "DefaultItem", _ObjectCallMethod( items , "AddItem", "method 3"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemData(0) = `your extra data of method 3`");
_ObjectCallMethod( tree , "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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "AttachTemplate", "handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "GridLineStyle", 32);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Item");
	column = _ObjectCallMethod( columns , "Add", "Pos");
		_ObjectSetProperty( column , "Position", 0);
		_ObjectSetProperty( column , "Width", 32);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectCallMethod( tree , "EndUpdate");

693
Can I sort the column by check-state

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "SortType", 32);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(),0) = 1");
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( tree , "EndUpdate");

692
Can I sort the column by image

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "SortType", 48);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 3");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImage(AddItem(),0) = 2");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0).SortOrder = 1");
_ObjectCallMethod( tree , "EndUpdate");

691
How can I display UNICODE characters

OBJECT items,stdfont,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
stdfont = _ObjectGetProperty( tree , "Font");
	_ObjectSetProperty( stdfont , "Name", "Arial Unicode");
	_ObjectSetProperty( stdfont , "Size", 22);
_ObjectSetProperty( tree , "HeaderVisible", 0);
_ObjectSetProperty( tree , "DefaultItemHeight", 48);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(``).Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Ӓӓ");
	_ObjectCallMethod( items , "AddItem", "ᦜᦝ;ᦞ");
	_ObjectCallMethod( items , "AddItem", "ɮɭ;ɯ");
	_ObjectCallMethod( items , "AddItem", "勳勴勵勶");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.FormatCell(AddItem(Me.Version),0) = `(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` `");
_ObjectCallMethod( tree , "EndUpdate");

690
How do I display the position of the item with 0-padding
OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items") , "FormatColumn", "((1 apos ``) lpad `00`) + `. `  + value");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "TreeColumnIndex", 0);
_ObjectSetProperty( tree , "MarkSearchColumn", 0);
_ObjectSetProperty( tree , "FullRowSelect", 0);
_ObjectSetProperty( tree , "HeaderAppearance", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C1") , "Width", 32);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "FormatColumn", "1 index ``");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,1) = False");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (divider shows no +/-)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDividerLine(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Cell 3");
	h = _ObjectCallMethod( items , "AddItem", "This is bit of text merges all cells in the item (merge shows +/-)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 15790320");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellMerge(h,0) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 4");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

688
ADODB Requery sample

// CellButtonClick event - Fired after the user clicks on the cell of button type. 
FUNCTION treeEvents_CellButtonClick(OBJECT tree, INT Item, INT ColIndex)
	OBJECT cmd;
	cmd = CreateObject("ADODB.Command");
		_ObjectSetProperty( cmd , "ActiveConnection", _ObjectGetProperty( _ObjectGetProperty( tree , "DataSource") , "ActiveConnection"));
		_ObjectSetProperty( cmd , "CommandText", "INSERT INTO Orders (EmployeeID) VALUES(12345)");
		_ObjectSetProperty( cmd , "CommandType", 1);
		_ObjectCallMethod( cmd , "Execute", );
	_ObjectCallMethod( _ObjectGetProperty( tree , "DataSource") , "Requery", );
END

OBJECT items,rs,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",1,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%1=12345") , "BackColor", 15790320);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHasButton(h,0) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `Requery (add a new record, using ADODB.Command)`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 1");
_ObjectCallMethod( tree , "EndUpdate");

687
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(26) = `Show/Hide`");
_ObjectSetProperty( tree , "ColumnsFloatBarSortOrder", 1);
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", 2);
_ObjectCallMethod( tree , "EndUpdate");

686
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

OBJECT columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "City");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(26) = `Show`");
_ObjectSetProperty( tree , "ColumnsFloatBarVisible", -1);
_ObjectSetProperty( tree , "ColumnsFloatBarSortOrder", 1);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Single-Line (exCaptionSingleLine)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = -1");
	column = _ObjectCallMethod( columns , "Add", "Word-Wrap (exCaptionWordWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 0");
		_ObjectSetProperty( column , "FormatColumn", "%0");
	column = _ObjectCallMethod( columns , "Add", "Break-Wrap (exCaptionBreakWrap)");
		_ObjectSetProperty( column , "Width", 96);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 1");
		_ObjectSetProperty( column , "FormatColumn", "%0");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( 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.");
	_ObjectCallMethod( 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.");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "HeaderHeight", 36);
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	h = _ObjectCallMethod( 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.");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( 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.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 0");
	h = _ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
	h = _ObjectCallMethod( 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.");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = 1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default") , "Width", 128);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellSingleLine(AddItem(`This is the first line.\r\nThis is the second line.\r\nThis is the third line.`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "DrawGridLines", -2);
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ScrollBySingleLine", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectSetProperty( column , "Width", 128);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = 1");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
	_ObjectCallMethod( items , "AddItem", "This is the first line.\r\nThis is the second line.\r\nThis is the third line.");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorHeader", 1);
_ObjectSetProperty( tree , "ForeColorHeader", 16777215);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = BackColorHeader");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = ForeColorHeader");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 15790320");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectSetProperty( tree , "HeaderAppearance", 5);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "FilterOnType", -1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 2);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "`'` + ( value replace ` ` with `_` ) + `'`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "    Item B");
	_ObjectCallMethod( items , "AddItem", "        Item   C    ");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = 65536");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(12) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(8) = Background(26)");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(11) = 8421504");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "FilterType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
_ObjectCallMethod( tree , "EndUpdate");

676
Export Data in HTML format

OBJECT column,columns,conditionalformat,conditionalformats,createobject("internetexplorer.application"),items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( tree , "FilterBarPromptType", 2);
conditionalformats = _ObjectGetProperty( tree , "ConditionalFormats");
	_ObjectSetProperty( _ObjectCallMethod( conditionalformats , "Add", "%0 like `*parent*`","parent") , "BackColor", 12632256);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*child*`","child");
		_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*B*`","b");
		_ObjectSetProperty( conditionalformat , "ForeColor", 16711680);
		_ObjectSetProperty( conditionalformat , "Bold", -1);
		_ObjectSetProperty( conditionalformat , "Italic", -1);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Value");
		_ObjectSetProperty( column , "Width", 128);
		_ObjectSetProperty( column , "HTMLCaption", "<b>VA</b><r>sko");
	column = _ObjectCallMethod( columns , "Add", "APos");
		_ObjectSetProperty( column , "FormatColumn", "0 apos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "RPos");
		_ObjectSetProperty( column , "FormatColumn", "0 rpos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Index");
		_ObjectSetProperty( column , "FormatColumn", "0 index ``");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Position", 2);
	column = _ObjectCallMethod( columns , "Add", "Data 1");
		_ObjectSetProperty( column , "FormatColumn", "0 index `A-Z`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 2");
		_ObjectSetProperty( column , "FormatColumn", "0 index `AB` replace `A` with `<off -4>A</off>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = False");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(1) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 3");
		_ObjectSetProperty( column , "FormatColumn", "0 index `CDC` replace `D` with `<b>D</b>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "ParentA");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,4) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child C`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "ParentB");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child 3`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,5) = 1");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");
sFile = "c:/temp/export.html";
_ObjectCallMethod( tree , "Export", sFile,"vis");
createobject("internetexplorer.application") = CreateObject("InternetExplorer.Application");
	_ObjectCallMethod( createobject("internetexplorer.application") , "Navigate2", sFile);

675
Export Data in CSV format

OBJECT column,columns,conditionalformat,conditionalformats,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "BackColorAlternate", 15790320);
_ObjectSetProperty( tree , "DrawGridLines", -1);
_ObjectSetProperty( tree , "HeaderAppearance", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2579);
_ObjectSetProperty( tree , "FilterBarPromptType", 2);
conditionalformats = _ObjectGetProperty( tree , "ConditionalFormats");
	_ObjectSetProperty( _ObjectCallMethod( conditionalformats , "Add", "%0 like `*parent*`","parent") , "BackColor", 12632256);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*child*`","child");
		_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
	conditionalformat = _ObjectCallMethod( conditionalformats , "Add", "%0 like `*B*`","b");
		_ObjectSetProperty( conditionalformat , "ForeColor", 16711680);
		_ObjectSetProperty( conditionalformat , "Bold", -1);
		_ObjectSetProperty( conditionalformat , "Italic", -1);
		_ObjectSetProperty( conditionalformat , "ApplyTo", 0);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Value");
		_ObjectSetProperty( column , "Width", 128);
		_ObjectSetProperty( column , "HTMLCaption", "<b>VA</b><r>sko");
	column = _ObjectCallMethod( columns , "Add", "APos");
		_ObjectSetProperty( column , "FormatColumn", "0 apos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(4) = 15790320");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "RPos");
		_ObjectSetProperty( column , "FormatColumn", "0 rpos ``");
		_ObjectSetProperty( column , "AllowSort", 0);
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Index");
		_ObjectSetProperty( column , "FormatColumn", "0 index ``");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 256);
		_ObjectSetProperty( column , "Position", 2);
	column = _ObjectCallMethod( columns , "Add", "Data 1");
		_ObjectSetProperty( column , "FormatColumn", "0 index `A-Z`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 2");
		_ObjectSetProperty( column , "FormatColumn", "0 index `AB` replace `A` with `<off -4>A</off>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(16) = False");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(1) = True");
	column = _ObjectCallMethod( columns , "Add", "Data 3");
		_ObjectSetProperty( column , "FormatColumn", "0 index `CDC` replace `D` with `<b>D</b>`");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "ParentA");
	_ObjectCallMethod( items , "InsertItem", h,"","Child A");
	_ObjectCallMethod( items , "InsertItem", h,"","Child B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,4) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child C`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "ParentB");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellBackColor(InsertItem(h,,`Child 3`),5) = 65280");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,5) = 1");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod( items , "AddItem", "Item D");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");
Message( _ObjectCallMethod( tree , "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.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	OBJECT items;
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	bHasParent = _ObjectCallMethod( tree , "FormatABC", "value != 0",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemParent(Item)"));
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", Item)
		_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellHasCheckBox(Item,0) = bHasParent");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( tree , "HeaderVisible", 1);
_ObjectSetProperty( tree , "SingleSel", 0);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(LockedItem(0,0),0) = `<c>Select multiple items and press the <b>SPACE</b> key`");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,c,i")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", i)
	Message( _ObjectCallMethod( tree , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.CellImages(i,c)")) );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2,`");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_MouseMove(OBJECT tree, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod(tree, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(tree, "TemplatePut", c)
	_ObjectCallMethod(tree, "TemplatePut", hit)
	i = _ObjectCallMethod(tree, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	Message( _ObjectCallMethod( tree , "FormatABC", "( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit) );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 1`),0) = `3,2,1`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 2`),0) = `2,3`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellImages(AddItem(`Item 3`),0) = `2`");
_ObjectCallMethod( tree , "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

OBJECT appearance,columns,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderAppearance", 4);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
	_ObjectCallMethod( columns , "Add", "Column 3");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV" +
	"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
	"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
	"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
	"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
	"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:1 0 -36 0 0");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(182) = 33554432");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "DefaultItemHeight", 20);
_ObjectCallMethod( _ObjectGetProperty( tree , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m" +
	"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
	"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
	"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
	"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
	"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "1 rindex ``");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 16777216);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Default");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Position");
	_ObjectSetProperty( column , "FormatColumn", "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )");
	_ObjectSetProperty( column , "Visible", 0);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%C1 mod 2");
	_ObjectSetProperty( conditionalformat , "BackColor", 15790320);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	h = _ObjectCallMethod( items , "AddItem", "Root 3");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
_ObjectCallMethod( tree , "EndUpdate");

668
Is it possible to change the caption from a column without to remove the column and add it with the new caption
OBJECT tree;

tree =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "ColumnName") , "Caption", "NewName");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "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.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[" +
	"<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchi" +
	"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
	" + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

666
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "all");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

665
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace " +
	"`[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matc" +
	"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
	"nt + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

664
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "allui");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

663
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava" +
	"ilable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `" +
	"` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount" +
	" + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

662
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION treeEvents_AddItem(OBJECT tree, INT Item)
	_ObjectCallMethod(tree, "TemplatePut", "Dim _ObObj,Item")
	_ObjectCallMethod(tree, "TemplatePut", _ObjectGetProperty( tree , "Items"))
	_ObjectCallMethod(tree, "TemplatePut", Item)
	i = _ObjectCallMethod( tree , "FormatABC", "value + 1",_ObjectCallMethod(tree, "ExecuteTemplate", "_ObObj.ItemToIndex(Item)"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim Item")
	_ObjectCallMethod(tree, "TemplatePut", Item)
	_ObjectCallMethod(tree, "ExecuteTemplate", "Items.CellImage(Item,3) = i");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 10);
	_ObjectSetProperty( column , "FilterList", 9472);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(h,2) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080> ` + value + ` </fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value + ` ` + available");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(2).Filter = 1");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) +" +
	" ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replac" +
	"e `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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 )

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-1");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Col-2");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item A`),1) = `Sub-Item A`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item B`),1) = `Sub-Item B`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Item C`),1) = `Sub-Item C`");
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(11) = FormatABC(``<fgcolor=808080>` + value + `</fgcolor>``,Description(11))");
_ObjectSetProperty( tree , "FilterBarCaption", "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 256);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(1)");
	_ObjectSetProperty( column , "FilterType", 3);
	_ObjectSetProperty( column , "Filter", "*B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r>` + value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1280);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 9504);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarPrompt", _ObjectCallMethod( tree , "FormatABC", "`<b>` + value",_ObjectGetProperty( tree , "FilterBarPrompt")));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3591);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount " +
	"+ 1) + ` result(s)` ) : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2055);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2071);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

653
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
FUNCTION treeEvents_AfterExpandItem(OBJECT tree, INT Item)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterType", 6);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	h = _ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Sub-Item B1`),1) = 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Sub-Item B2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterInclude", 1);
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</" +
	"i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>" +
	": ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF>" +
	"<i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +
	"i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=8" +
	"08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" +
	" `</fgcolor>`");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 7);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarFont", _ObjectGetProperty( tree , "Font"));
_ObjectSetProperty( tree , "FilterBarCaption", "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2067);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1281);
_ObjectSetProperty( tree , "FilterBarPrompt", _ObjectCallMethod( tree , "FormatABC", "`<r>` + value",_ObjectGetProperty( tree , "FilterBarPrompt")));
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "RightToLeft", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 257);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ" +
	"jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" +
	"SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" +
	"OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +
	"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" +
	"AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" +
	"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" +
	"0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +
	"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" +
	"MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" +
	"QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 257);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 16777216");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = 255");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(1) = -1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 513);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus.`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r><fgcolor=808080>` + value");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2323);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 18);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "`<r>` + value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2067);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item A|Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_Click()
	_ObjectCallMethod( tree , "ClearFilter");
END

// FilterChange event - Notifies your application that the filter is changed.
FUNCTION treeEvents_FilterChange()
	Message( "Items.MatchItemCount" );
	Message( _ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount") );
	Message( _ObjectCallMethod( tree , "FormatABC", "value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",_ObjectGetProperty( _ObjectGetProperty( tree , "Items") , "MatchItemCount")) );
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "Item");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_Click()
	_ObjectCallMethod( tree , "ClearFilter");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 3);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "B");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Item") , "DisplayFilterButton", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Pos");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "FormatColumn", "1 apos ``");
	_ObjectSetProperty( column , "Position", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item A");
	_ObjectCallMethod( items , "AddItem", "Item B");
	_ObjectCallMethod( items , "AddItem", "Item C");
_ObjectSetProperty( tree , "FilterBarCaption", "len(value) = 0 ? `<fgcolor=808080>no filter` : value");
_ObjectSetProperty( tree , "FilterBarPromptVisible", 2);
column = _ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "Item B");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "VisualDesign", "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc" +
	"TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" +
	"CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" +
	"bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +
	"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" +
	"hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" +
	"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" +
	"oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +
	"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" +
	"FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" +
	"gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" +
	"SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +
	"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:3 -2 -2 2 2");
	_ObjectCallMethod( appearance , "Add", 4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
	_ObjectCallMethod( appearance , "Add", 2,"CP:4 -2 -2 2 2");
_ObjectSetProperty( tree , "LinesAtRoot", 1);
_ObjectSetProperty( tree , "HasButtons", 4);
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "HasButtonsCustom(1) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"XP:TREEVIEW 2 1");
	_ObjectCallMethod( appearance , "Add", 2,"XP:TREEVIEW 2 2");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "EndUpdate");

634
How can I find if the control is running in DPI mode
OBJECT tree;

tree =  ObjectByName("AN1") ;
Message( _ObjectCallMethod( tree , "FormatABC", "dpi = 1 ? `normal/stretch mode` : `dpi mode`") );

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

OBJECT appearance,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
	"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
	"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
	"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS" +
	"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
	"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
	"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
	"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
	"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
	"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(180) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(181) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_SelectionChanged()
	Message( "SelectionChanged" );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "FreezeEvents", -1);
_ObjectSetProperty( tree , "SingleSel", -1);
_ObjectSetProperty( tree , "SelectOnRelease", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( tree , "FreezeEvents", 0);
_ObjectCallMethod( tree , "EndUpdate");

631
Is it possible to select nothing
// SelectionChanged event - Fired after a new item has been selected.
FUNCTION treeEvents_SelectionChanged()
	Message( "SelectionChanged" );
END

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( tree , "FreezeEvents", -1);
_ObjectSetProperty( tree , "AllowSelectNothing", -1);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( tree , "FreezeEvents", 0);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "Width", 24);
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(2) = True");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Column") , "FormatColumn", "1 apos `A-Z`");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(AddItem(``)) = True");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(166) = 12895428");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(167) = 65536");
_ObjectCallMethod( tree , "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.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT appearance,column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
_ObjectSetProperty( tree , "DefaultItemHeight", 22);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABUkIQAAYAQGKIcBiAKBQAGYBIJDEMQ3DjAUBjMK4ZwTC4AIQjCK4JDKHYJRpHEZgLBMJAAGIZYhhUYRUiYMkiJBGGDIDiGGI2SJAcbTVIEc" +
	"x9EyUJSgSTJOjCMokTTIU4TTLYASbJafJJhWSaAiyMouDIOMg1BDNIw/Hika6jOgKUisNJXRzWIBTbDlOQ3JqnbCjOQRSrQBoNDAMAiiaKlbwJPK9RoieQXfwUAJrXJc" +
	"FqXFSLVxNBKAQEBA=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 1 1 -1 -1");
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "BackColor", 16777216);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "%CS0 = 1 ? `<bgcolor=000000><fgcolor=FFFFFF> ` + value + ` </fgcolor></bgcolor>` : value");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

626
How can I change the font for the checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,f,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "DefaultItemHeight", 22);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	f = CreateObject("StdFont");
		_ObjectSetProperty( f , "Name", _ObjectGetProperty( _ObjectGetProperty( tree , "Font") , "Name"));
		_ObjectSetProperty( f , "Size", 12);
	_ObjectSetProperty( conditionalformat , "Font", f);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

625
How can I bold the checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

624
How can I change the foreground color for checked items

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "ForeColor", 8421631);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
	_ObjectCallMethod( tree , "Refresh");
END

OBJECT column,conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Tasks");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0 = 1");
	_ObjectSetProperty( conditionalformat , "BackColor", 8421631);
_ObjectSetProperty( tree , "HeaderVisible", 1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Project");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,hChild")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", hChild)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.SelectItem(hChild) = True");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	hChild = _ObjectCallMethod( items , "InsertItem", h,"","Task 3");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(hChild,0) = 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", columns)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Add(`C1`).Def(0) = True");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C2") , "FormatColumn", "1 index `A-Z`");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "C3") , "FormatColumn", "100 index ``");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`)) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`)) = 1");
_ObjectCallMethod( tree , "EndUpdate");
Message( "Export CSV Items including Check-State:" );
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Check");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "FormatColumn", "%CS0");
Message( _ObjectCallMethod( tree , "Export", "") );
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Remove", "Check");
_ObjectCallMethod( tree , "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).
FUNCTION treeEvents_BeforeExpandItem(OBJECT tree, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
	Message( "ColumnFromPoint" );
	Message( _ObjectCallMethod(tree, "ExecuteTemplate", "ColumnFromPoint(-1,-1)") );
	Message( "ColumnFromPoint return -1, if the user clicks the +/- glitch, else it returns the index of the column where the click occurs." );
	_ObjectCallMethod( _ObjectGetProperty( tree , "Items") , "InsertItem", Item,"","new child");
END

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Items") , "DisplayFilterButton", -1);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 1`)) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 2`)) = True");
_ObjectCallMethod( tree , "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).
FUNCTION treeEvents_BeforeExpandItem(OBJECT tree, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
	_ObjectCallMethod( _ObjectGetProperty( tree , "Items") , "InsertItem", Item,"","new child");
END

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
columns = _ObjectGetProperty( tree , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Items");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 4);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 1`)) = True");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 2`)) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ" +
	"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
	"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = -1");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(26) = 65536");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(27) = 16777215");
_ObjectCallMethod(tree, "ExecuteTemplate", "Description(25) = `<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>`");
_ObjectSetProperty( tree , "HeaderAppearance", 0);
_ObjectSetProperty( tree , "BackColorHeader", 0);
_ObjectSetProperty( tree , "ForeColorHeader", 16777215);
_ObjectSetProperty( tree , "HeaderVisible", -1);
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "FilterList", 8448);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "One");
	_ObjectCallMethod( items , "AddItem", "Two");
	_ObjectCallMethod( items , "AddItem", "Three");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT appearance,column,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
appearance = _ObjectGetProperty( tree , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN" +
	"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
	"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
	"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
	"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
	"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	_ObjectCallMethod( appearance , "Add", 1,"CP:2 -14 -4 -2 4");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Background(32) = BackColor");
_ObjectSetProperty( tree , "HeaderAppearance", 0);
_ObjectSetProperty( tree , "BackColorHeader", 16777215);
_ObjectSetProperty( tree , "HeaderVisible", -1);
_ObjectSetProperty( tree , "HeaderHeight", 24);
_ObjectSetProperty( tree , "BackColorLevelHeader", _ObjectGetProperty( tree , "BackColor"));
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Filter");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "AllowSort", 0);
	_ObjectSetProperty( column , "AllowDragging", 0);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage =2 x 1");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

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

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = x 2");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

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

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = 2 x");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

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

OBJECT createobject("exontrol.print"),rs,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", 0);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb",3,3);
_ObjectSetProperty( tree , "DataSource", rs);
_ObjectCallMethod( tree , "EndUpdate");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = 50%");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", tree);
	_ObjectCallMethod( createobject("exontrol.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.
FUNCTION treeEvents_CellStateChanging(OBJECT tree, INT Item, INT ColIndex, INT NewState)
	OBJECT items;
	items = _ObjectGetProperty( tree , "Items");
		_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,ColIndex,Item")
		_ObjectCallMethod(tree, "TemplatePut", items)
		_ObjectCallMethod(tree, "TemplatePut", ColIndex)
		_ObjectCallMethod(tree, "TemplatePut", Item)
		NewState = _ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(Item,ColIndex)");
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "P1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "P2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
END

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "LinesAtRoot", 4);
_ObjectSetProperty( tree , "SelBackMode", 1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "PartialCheck", -1);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%CS0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root");
	_ObjectCallMethod( items , "InsertItem", h,"","Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Item 2`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(InsertItem(h,,`Item 3`),0) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%CD0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 1`),0) = 1234");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 2`),0) = `this is just an user data`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellData(AddItem(`Item 3`),0) = #1/1/2001#");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Items");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(tree, "TemplatePut", column)
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
	_ObjectSetProperty( column , "Width", 96);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Format");
	_ObjectSetProperty( column , "FormatColumn", "%C0");
	_ObjectSetProperty( column , "Caption", _ObjectGetProperty( column , "FormatColumn"));
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(5) = 8421504");
	_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(8) = Def(5)");
	_ObjectSetProperty( column , "Width", 96);
	_ObjectSetProperty( column , "AllowSizing", 0);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", 1);
	h = _ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,0) = `<b>HTML</b> Text`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaptionFormat(h,0) = 1");
	_ObjectCallMethod( items , "AddItem", 2);
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "RadioImage(0) = 32699122");
_ObjectCallMethod(tree, "ExecuteTemplate", "RadioImage(1) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Check`).Def(1) = True");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Radio 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Radio 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Radio 1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(0) = 32699122");
_ObjectCallMethod(tree, "ExecuteTemplate", "CheckImage(1) = 16777216");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Check`).Def(0) = True");
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Check 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Check 3");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "First Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<c><b>Second Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<r>Third Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "HeaderSingleLine", 0);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "First Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "Second Column");
		_ObjectSetProperty( column , "HeaderBold", -1);
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Third Column");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 36);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(48) = 8");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "First");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<c><b>Second");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "");
		_ObjectSetProperty( column , "HTMLCaption", "<r>Third");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT column,columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "HeaderHeight", 48);
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectCallMethod( columns , "Add", "And others ...");
	column = _ObjectCallMethod( columns , "Add", "First");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(tree, "TemplatePut", column)
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 0);
	column = _ObjectCallMethod( columns , "Add", "Second");
		_ObjectSetProperty( column , "HeaderBold", -1);
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 1);
	column = _ObjectCallMethod( columns , "Add", "Third");
		_ObjectSetProperty( column , "HeaderVertical", -1);
		_ObjectSetProperty( column , "Width", 20);
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectCallMethod(tree, "ExecuteTemplate", "colObj.Def(0) = True");
		_ObjectSetProperty( column , "Position", 2);
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 1`),3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),2) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 3`),1) = 1");
_ObjectCallMethod( tree , "EndUpdate");

603
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION treeEvents_CellStateChanged(OBJECT tree, INT Item, INT ColIndex)
END

OBJECT conditionalformat,items,tree;

tree =  ObjectByName("AN1") ;
ObjectAssociateEvents("treeEvents", tree);
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "SelBackMode", 1);
conditionalformat = _ObjectCallMethod( _ObjectGetProperty( tree , "ConditionalFormats") , "Add", "%CS0","check");
	_ObjectSetProperty( conditionalformat , "Bold", -1);
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Add(`Items`).Def(0) = True");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", _ObjectCallMethod(tree, "ExecuteTemplate", ".ConditionalFormats.Item(`check`).Expression")) , "FormatColumn", _ObjectCallMethod(tree, "ExecuteTemplate", ".ConditionalFormats.Item(`check`).Expression"));
items = _ObjectGetProperty( tree , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellState(AddItem(`Item 2`),0) = 1");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectCallMethod( tree , "EndUpdate");

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

OBJECT columns,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
_ObjectSetProperty( tree , "ColumnAutoResize", -1);
_ObjectSetProperty( tree , "ContinueColumnScroll", 0);
_ObjectSetProperty( tree , "MarkSearchColumn", 0);
_ObjectSetProperty( tree , "SearchColumnIndex", 1);
_ObjectSetProperty( tree , "Indent", 16);
_ObjectSetProperty( tree , "LinesAtRoot", -1);
_ObjectSetProperty( tree , "FilterBarPromptVisible", -1);
_ObjectSetProperty( tree , "FilterBarPromptPattern", "Nancy");
_ObjectSetProperty( tree , "FilterInclude", 1);
columns = _ObjectGetProperty( tree , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Name") , "Width", 96);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Title") , "Width", 96);
	_ObjectCallMethod( columns , "Add", "City");
items = _ObjectGetProperty( tree , "Items");
	h0 = _ObjectCallMethod( items , "AddItem", "Nancy Davolio");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h0")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h0)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Seattle`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Andrew Fuller");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Vice President, Sales`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Tacoma`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Michael Suyama");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `London`");
	h0 = _ObjectCallMethod( items , "AddItem", "Janet Leverling");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Kirkland`");
	h0 = _ObjectCallMethod( items , "InsertItem", h0,"","Margaret Peacock");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,1) = `Sales Representative`");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h0,2) = `Redmond`");
_ObjectCallMethod( tree , "ApplyFilter");
_ObjectCallMethod( tree , "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

OBJECT column,items,tree;

tree =  ObjectByName("AN1") ;
_ObjectCallMethod( tree , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "SortType", 2);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "DisplayFilterDate", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "DateTime");
	_ObjectSetProperty( column , "SortType", 3);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Time");
	_ObjectSetProperty( column , "SortType", 4);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1296);
	_ObjectSetProperty( column , "FormatColumn", "time(value)");
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "Numeric");
	_ObjectSetProperty( column , "SortType", 1);
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
column = _ObjectCallMethod( _ObjectGetProperty( tree , "Columns") , "Add", "String");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterList", 1296);
items = _ObjectGetProperty( tree , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2010");
	_ObjectCallMethod(tree, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(tree, "TemplatePut", items)
	_ObjectCallMethod(tree, "TemplatePut", h)
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #1/27/2010 10:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 1");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "1/27/2011");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #1/27/2011 9:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 11");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
	h = _ObjectCallMethod( items , "AddItem", "11/2/2010");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,1) = #11/2/2010 9:00:00 AM#");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,2) = CellCaption(h,1)");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,3) = 2");
	_ObjectCallMethod(tree, "ExecuteTemplate", "iteObj.CellCaption(h,4) = CellCaption(h,3)");
_ObjectCallMethod(tree, "ExecuteTemplate", "Columns.Item(`DateTime`).DisplayFilterDate = False");
_ObjectCallMethod( tree , "EndUpdate");