668:
Is it possible to change the caption from a column without to remove the column and add it with the new caption
public void init()
{
	;

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

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

	super();

	extree1.BeginUpdate();
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	COM::createFromVariant(extree1.Columns().Add("Item")).DisplayFilterButton(true);
	var_Column = COM::createFromVariant(extree1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.DisplayFilterButton(true);
		com_Column.DisplayFilterPattern(false);
		com_Column.FilterType(6/*exCheck*/);
	var_Column1 = COM::createFromVariant(extree1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.AllowSizing(false);
		com_Column1.AllowSort(false);
		com_Column1.Width(32);
		com_Column1.FormatColumn("1 apos ``");
		com_Column1.Position(0);
	var_Items = extree1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item A");
		h = com_Items.AddItem("Item B");
		com_Items.CellState(com_Items.InsertItem(h,,"Sub-Item B1"),COMVariant::createFromInt(1),1);
		com_Items.InsertItem(h,,"Sub-Item B2");
		com_Items.ExpandItem(h,true);
		com_Items.AddItem("Item C");
	extree1.FilterInclude(1/*exItemsWithChilds*/);
	extree1.FilterBarFont(extree1.Font());
	var_s = "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i";
	var_s = var_s + "></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:";
	var_s = var_s + " ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><";
	var_s = var_s + "i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i";
	var_s = var_s + "></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80";
	var_s = var_s + "8080>` + promptpattern + `</fgcolor>`";
	extree1.FilterBarCaption(var_s);
	extree1.FilterBarPromptPattern("B");
	extree1.FilterBarPromptVisible(7/*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	var_Column2 = COM::createFromObject(extree1.Columns()).Item(COMVariant::createFromInt(0)); com_Column2 = var_Column2;
		com_Column2.FilterType(240/*exFilter*/);
		com_Column2.Filter("Item A|Item B");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
652:
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

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

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

	super();

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

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

	super();

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

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

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s = var_s + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s = var_s + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s = var_s + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX";
		var_s = var_s + "IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg";
		var_s = var_s + "wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI";
		var_s = var_s + "NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB";
		var_s1 = var_s1 + "cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD";
		var_s1 = var_s1 + "xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l";
		var_s1 = var_s1 + "lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe";
		var_s1 = var_s1 + "Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF";
		var_s1 = var_s1 + "SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ";
		var_s1 = var_s1 + "tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.Background(180/*exTreeGlyphOpen*/,0x1000000);
	extree1.Background(181/*exTreeGlyphClose*/,0x2000000);
	extree1.Columns().Add("Column");
	var_Items = extree1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child");
	extree1.EndUpdate();
}
632:
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	;
	print( "SelectionChanged" );
}

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

	super();

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

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

	super();

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

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

	super();

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

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

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

	super();

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

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

	super();

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

	extree1.BeginUpdate();
	var_Appearance = extree1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg";
		var_s = var_s + "mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd";
		var_s = var_s + "r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
	extree1.Background(0/*exHeaderFilterBarButton*/,0x1000000);
	extree1.Background(32/*exCursorHoverColumn*/,-1);
	extree1.HeaderAppearance(0/*None2*/);
	extree1.BackColorHeader(WinApi::RGB2int(0,0,0));
	extree1.ForeColorHeader(WinApi::RGB2int(255,255,255));
	extree1.HeaderVisible(true);
	extree1.BackColorLevelHeader(extree1.BackColor());
	var_Column = COM::createFromVariant(extree1.Columns().Add("Filter")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.AllowSort(false);
		com_Column.AllowDragging(false);
	extree1.EndUpdate();
}
618:
How do I change the drop down filter icon/button (white)

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

	super();

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

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

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

	super();

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

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

	super();

	extree1.BeginUpdate();
	extree1.ColumnAutoResize(true);
	extree1.ContinueColumnScroll(0);
	extree1.MarkSearchColumn(false);
	extree1.SearchColumnIndex(1);
	extree1.Indent(16);
	extree1.LinesAtRoot(-1/*exLinesAtRoot*/);
	extree1.FilterBarPromptVisible(true);
	extree1.FilterBarPromptPattern("Nancy");
	extree1.FilterInclude(1/*exItemsWithChilds*/);
	var_Columns = extree1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(96);
		COM::createFromVariant(com_Columns.Add("Title")).Width(96);
		com_Columns.Add("City");
	var_Items = extree1.Items(); com_Items = var_Items;
		h0 = com_Items.AddItem("Nancy Davolio");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.InsertItem(h0,,"Andrew Fuller");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Vice President, Sales");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Tacoma");
		h0 = com_Items.InsertItem(h0,,"Michael Suyama");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Janet Leverling");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Kirkland");
		h0 = com_Items.InsertItem(h0,,"Margaret Peacock");
		com_Items.CellCaption(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellCaption(h0,COMVariant::createFromInt(2),"Redmond");
	extree1.ApplyFilter();
	extree1.EndUpdate();
}
601:
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

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

	super();

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