752
Locks the first visible column on the left and the last visible column on the right

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->PutBackColorLock(RGB(192,192,192));
spTree1->PutGridLineStyle(EXTREELib::exGridLinesSolid);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->PutCountLockedColumns(17);
spTree1->EndUpdate();

751
Lock the column on the right

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->PutBackColorLock(RGB(192,192,192));
spTree1->PutGridLineStyle(EXTREELib::exGridLinesSolid);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->PutCountLockedColumns(16);
spTree1->EndUpdate();

750
Lock the column on the left

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->PutBackColorLock(RGB(192,192,192));
spTree1->PutGridLineStyle(EXTREELib::exGridLinesSolid);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->PutCountLockedColumns(1);
spTree1->EndUpdate();

749
Bolds only the expanded items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->GetConditionalFormats()->Add(L"%CX0",vtMissing)->PutBold(VARIANT_TRUE);
spTree1->GetColumns()->Add(L"Description");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 2"),vtMissing,"Sub-Child 2");
	var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Child 3"),long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Child 3");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutAutoDrag(EXTREELib::exAutoDragPositionAny);
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesSolid);
spTree1->PutGridLineColor(RGB(208,208,208));
spTree1->GetConditionalFormats()->Add(L"%CC0 and %CX0",vtMissing)->PutBold(VARIANT_TRUE);
EXTREELib::IConditionalFormatPtr var_ConditionalFormat = spTree1->GetConditionalFormats()->Add(L"1",vtMissing);
	var_ConditionalFormat->PutBold(VARIANT_TRUE);
	var_ConditionalFormat->PutApplyTo(EXTREELib::FormatApplyToEnum(0x2));
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Description")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Index")));
	var_Column1->PutFormatColumn(L"1 index ``");
	var_Column1->PutPosition(0);
	var_Column1->PutWidth(16);
EXTREELib::IColumnPtr var_Column2 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Root-Index")));
	var_Column2->PutFormatColumn(L"root(1 index ``)");
	var_Column2->PutPosition(1);
	var_Column2->PutWidth(32);
	var_Column2->PutDef(EXTREELib::exCellBackColor,long(15790320));
EXTREELib::IColumnPtr var_Column3 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Root-Value")));
	var_Column3->PutFormatColumn(L"root(%0)");
	var_Column3->PutPosition(2);
	var_Column3->PutWidth(32);
	var_Column3->PutDef(EXTREELib::exCellBackColor,long(15790320));
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 2"),vtMissing,"Sub-Child 2");
	var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Child 3"),long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutAutoDrag(EXTREELib::exAutoDragPositionAny);
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesSolid);
spTree1->PutGridLineColor(RGB(208,208,208));
spTree1->GetConditionalFormats()->Add(L"%CC0 and %CX0",vtMissing)->PutBold(VARIANT_TRUE);
EXTREELib::IConditionalFormatPtr var_ConditionalFormat = spTree1->GetConditionalFormats()->Add(L"1",vtMissing);
	var_ConditionalFormat->PutBold(VARIANT_TRUE);
	var_ConditionalFormat->PutApplyTo(EXTREELib::FormatApplyToEnum(0x2));
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Description")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Index")));
	var_Column1->PutFormatColumn(L"1 index `I`");
	var_Column1->PutPosition(0);
	var_Column1->PutWidth(16);
EXTREELib::IColumnPtr var_Column2 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Parent-Index")));
	var_Column2->PutFormatColumn(L"parent(1 index `I`)");
	var_Column2->PutPosition(1);
	var_Column2->PutWidth(32);
	var_Column2->PutDef(EXTREELib::exCellBackColor,long(15790320));
EXTREELib::IColumnPtr var_Column3 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Parent-Value")));
	var_Column3->PutFormatColumn(L"parent(%0)");
	var_Column3->PutPosition(2);
	var_Column3->PutWidth(32);
	var_Column3->PutDef(EXTREELib::exCellBackColor,long(15790320));
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 2"),vtMissing,"Sub-Child 2");
	var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Child 3"),long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->InsertItem(h,vtMissing,"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spTree1->EndUpdate();

746
Specify the size of the Columns panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"City");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Start")))->PutVisible(VARIANT_FALSE);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"End")))->PutVisible(VARIANT_FALSE);
spTree1->PutColumnsFloatBarRect(L",,96");
spTree1->PutColumnsFloatBarVisible(EXTREELib::ColumnsFloatBarVisibleEnum(0x20 | EXTREELib::exColumnsFloatBarVisibleIncludeCheckColumns));
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZX") +
	"hal4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI");
spTree1->PutBackground(EXTREELib::exColumnsFloatBackColor,0x1000000);
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"City");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Start")))->PutVisible(VARIANT_FALSE);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"End")))->PutVisible(VARIANT_FALSE);
spTree1->PutColumnsFloatBarVisible(EXTREELib::ColumnsFloatBarVisibleEnum(0x20 | EXTREELib::exColumnsFloatBarVisibleIncludeCheckColumns));
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzT") +
	"J0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSN" +
	"AgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPp" +
	"TlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+" +
	"BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJl" +
	"EkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd" +
	"4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLB" +
	"qOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA");
spTree1->PutBackground(EXTREELib::exColumnsFloatBackColor,0x1000000);
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"City");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Start")))->PutVisible(VARIANT_FALSE);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"End")))->PutVisible(VARIANT_FALSE);
spTree1->PutColumnsFloatBarVisible(EXTREELib::ColumnsFloatBarVisibleEnum(0x20 | EXTREELib::exColumnsFloatBarVisibleIncludeCheckColumns));
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"City");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Start")))->PutVisible(VARIANT_FALSE);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"End")))->PutVisible(VARIANT_FALSE);
spTree1->PutColumnsFloatBarVisible(EXTREELib::ColumnsFloatBarVisibleEnum(0x20 | EXTREELib::exColumnsFloatBarVisibleIncludeCheckColumns));
spTree1->PutBackground(EXTREELib::exColumnsFloatBackColor,RGB(240,240,240));
spTree1->EndUpdate();

742
Change the visual appearance of the Columns panel

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzT") +
	"J0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSN" +
	"AgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPp" +
	"TlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+" +
	"BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJl" +
	"EkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd" +
	"4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLB" +
	"qOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA");
spTree1->PutBackground(EXTREELib::exColumnsFloatAppearance,0x1000000);
spTree1->PutBackground(EXTREELib::exColumnsFloatCaptionBackColor,RGB(246,246,246));
spTree1->PutBackColorHeader(0x1000000);
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"City");
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Start")))->PutVisible(VARIANT_FALSE);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"End")))->PutVisible(VARIANT_FALSE);
spTree1->PutDescription(EXTREELib::exColumnsFloatBar,L"Show/Hide");
spTree1->PutColumnsFloatBarVisible(EXTREELib::exColumnsFloatBarVisibleIncludeCheckColumns);
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Country")))->PutShowIdem(L"<fgcolor gray>〃");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Country")))->PutShowIdem(L" ");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Spain");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
	var_Items->AddItem("Germany");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->PutRenderType(-1);
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZO") +
	"iwLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYRe" +
	"WAPfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=");
	var_Appearance->Add(2,"CP:1 -2 0 0 0");
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x2000000);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarActive,0x2000001);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutBackColorHeader(RGB(255,255,255));
spTree1->PutHeaderHeight(24);
spTree1->PutHeaderVisible(VARIANT_TRUE);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"1st col")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilter(L"Item B");
	var_Column->PutFilterType(EXTREELib::exFilter);
spTree1->GetColumns()->Add(L"2nd col");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spTree1->ApplyFilter();
spTree1->EndUpdate();

738
How can I replace or add an icon at runtime

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->ReplaceIcon(_bstr_t("gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O") +
	"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==",vtMissing);
spTree1->ReplaceIcon("C:\\images\\favicon.ico",long(0));
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Items")))->PutDef(EXTREELib::exCellCaptionFormat,long(1));
spTree1->GetItems()->AddItem("Item <img>1</img>");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDef(EXTREELib::exFilterPatternTemplate,"*<%filter%>*");
	var_Column->PutFilterType(EXTREELib::exPattern);
	var_Column->PutFilter(L"1");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
spTree1->ApplyFilter();
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Column 1");
spTree1->GetColumns()->Add(L"Column 2");
spTree1->GetColumns()->Add(L"Column 3");
spTree1->GetColumns()->Add(L"Column 4");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset");
	rs->Open("Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->GetColumns()->GetItem(long(0))->PutWidth(128);
rs = ::CreateObject(L"ADODB.Recordset");
	rs->Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutItems(rs->GetRows(0,vtMissing,vtMissing),";0;15");
spTree1->GetItems()->PutExpandItem(0,VARIANT_TRUE);
spTree1->EndUpdate();

734
Highlight the leaf items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetConditionalFormats()->Add(L"%CC0=0",vtMissing)->PutForeColor(RGB(128,128,128));
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16);
	var_Columns->Add(L"Desc");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long hR = var_Items->AddItem("Root");
	var_Items->PutCellCaption(hR,long(1),"The root directory /");
	var_Items->PutExpandItem(hR,VARIANT_TRUE);
	long h = var_Items->InsertItem(hR,vtMissing,"Home");
	var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob");
	var_Items->InsertItem(h,vtMissing,"Alice");
	var_Items->InsertItem(h,vtMissing,"Bob");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(hR,vtMissing,"Etc");
	var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file");
	h = var_Items->InsertItem(h,vtMissing,"nginx.conf");
	var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory");
spTree1->EndUpdate();

733
Highlight the parent items

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetConditionalFormats()->Add(L"%CC0",vtMissing)->PutForeColor(RGB(255,0,0));
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16);
	var_Columns->Add(L"Desc");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long hR = var_Items->AddItem("Root");
	var_Items->PutCellCaption(hR,long(1),"The root directory /");
	var_Items->PutExpandItem(hR,VARIANT_TRUE);
	long h = var_Items->InsertItem(hR,vtMissing,"Home");
	var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob");
	var_Items->InsertItem(h,vtMissing,"Alice");
	var_Items->InsertItem(h,vtMissing,"Bob");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(hR,vtMissing,"Etc");
	var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file");
	h = var_Items->InsertItem(h,vtMissing,"nginx.conf");
	var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory");
spTree1->EndUpdate();

732
Highlight the item being expanded or collapsed

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->GetConditionalFormats()->Add(L"%CX0",vtMissing)->PutBold(VARIANT_TRUE);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"Item")))->PutWidth(16);
	var_Columns->Add(L"Desc");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long hR = var_Items->AddItem("Root");
	var_Items->PutCellCaption(hR,long(1),"The root directory /");
	var_Items->PutExpandItem(hR,VARIANT_TRUE);
	long h = var_Items->InsertItem(hR,vtMissing,"Home");
	var_Items->PutCellCaption(h,long(1),"The home directory with user directories Alice and Bob");
	var_Items->InsertItem(h,vtMissing,"Alice");
	var_Items->InsertItem(h,vtMissing,"Bob");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(hR,vtMissing,"Etc");
	var_Items->PutCellCaption(h,long(1),"The etc directory with one configuration file");
	h = var_Items->InsertItem(h,vtMissing,"nginx.conf");
	var_Items->PutCellCaption(var_Items->InsertItem(hR,vtMissing,"Var"),long(1),"The var directory");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutSortBarVisible(VARIANT_TRUE);
spTree1->PutSortBarCaption(L"<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)");
spTree1->PutHeaderEnabled(VARIANT_FALSE);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Index")))->PutFormatColumn(L"1 index ``");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Pos")))->PutFormatColumn(L"1 apos ``");
spTree1->GetColumns()->Add(L"Edit");
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutGridLineColor(RGB(224,224,224));
spTree1->EndUpdate();

730
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickTree1(LPCTSTR   AnchorID, LPCTSTR   Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_TRUE);
spTree1->PutTreeColumnIndex(-1);
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
spTree1->PutBackColorAlternate(RGB(240,240,240));
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("before item");
	long h = var_Items->AddItem(_bstr_t("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4Aj") +
	"MGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEB" +
	"A==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DAB" +
	"vABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>	" +
	"650;</a><br>+ withdraw(amount: Currency)");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);
	var_Items->PutCellSingleLine(h,long(0),EXTREELib::exCaptionWordWrap);
	var_Items->AddItem("after item");
spTree1->EndUpdate();

729
Expandable-caption

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_TRUE);
spTree1->PutTreeColumnIndex(-1);
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
spTree1->PutBackColorAlternate(RGB(240,240,240));
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("before item");
	long h = var_Items->AddItem("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);
	var_Items->PutCellSingleLine(h,long(0),EXTREELib::exCaptionWordWrap);
	var_Items->AddItem("after item");
spTree1->EndUpdate();

728
Force scrollbars hover-all feature
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutBackground(EXTREELib::exScrollHoverAll,-1);

727
Disable scrollbars hover-all feature (Windows 11 or greater)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutBackground(EXTREELib::exScrollHoverAll,RGB(1,0,0));

726
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTree1(short   Button, short   Shift, long   X, long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	spTree1->ShowToolTip(L"new content","",vtMissing,"+8","+8");
}


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

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveTree1(short   Button, short   Shift, long   X, long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	spTree1->ShowToolTip(L"<null>","<null>",vtMissing,"+8","+8");
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"tootip")))->PutToolTip(L"this is a tooltip assigned to a column");

724
Highlight the match once the filter is applied

// FilterChange event - Notifies your application that the filter is changed.
void OnFilterChangeTree1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	_variant_t format = spTree1->FormatABC(L"`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",spTree1->GetFilterBarPromptPattern(),vtMissing,vtMissing);
	spTree1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"format");
	spTree1->GetColumns()->GetItem(long(1))->PutFormatColumn(L"format");
	spTree1->GetColumns()->GetItem(long(2))->PutFormatColumn(L"format");
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutSelBackColor(spTree1->GetBackColor());
spTree1->PutSelForeColor(spTree1->GetForeColor());
spTree1->PutColumnAutoResize(VARIANT_TRUE);
spTree1->PutContinueColumnScroll(VARIANT_FALSE);
spTree1->PutMarkSearchColumn(VARIANT_FALSE);
spTree1->PutSearchColumnIndex(1);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(23);
spTree1->PutBackColorLevelHeader(spTree1->GetBackColor());
spTree1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
spTree1->PutFilterBarPromptVisible(EXTREELib::FilterBarVisibleEnum(EXTREELib::exFilterBarCompact | EXTREELib::exFilterBarCaptionVisible | EXTREELib::exFilterBarVisible | EXTREELib::exFilterBarPromptVisible));
spTree1->PutFilterBarBackColor(spTree1->GetBackColor());
spTree1->PutFilterBarPromptPattern(L"and");
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"Name")));
		var_Column->PutDef(EXTREELib::exCellCaptionFormat,long(1));
		var_Column->PutFormatColumn(L"lower(value)");
	EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"Title")));
		var_Column1->PutDef(EXTREELib::exCellCaptionFormat,long(1));
		var_Column1->PutFormatColumn(L"lower(value)");
	EXTREELib::IColumnPtr var_Column2 = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"City")));
		var_Column2->PutDef(EXTREELib::exCellCaptionFormat,long(1));
		var_Column2->PutFormatColumn(L"lower(value)");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h0 = var_Items->AddItem("Nancy Davolio");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Seattle");
	h0 = var_Items->AddItem("Andrew Fuller");
	var_Items->PutCellCaption(h0,long(1),"Vice President, Sales");
	var_Items->PutCellCaption(h0,long(2),"Tacoma");
	var_Items->PutSelectItem(h0,VARIANT_TRUE);
	h0 = var_Items->AddItem("Janet Leverling");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Kirkland");
	h0 = var_Items->AddItem("Margaret Peacock");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Redmond");
	h0 = var_Items->AddItem("Steven Buchanan");
	var_Items->PutCellCaption(h0,long(1),"Sales Manager");
	var_Items->PutCellCaption(h0,long(2),"London");
	h0 = var_Items->AddItem("Michael Suyama");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"London");
	h0 = var_Items->AddItem("Robert King");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"London");
	h0 = var_Items->AddItem("Laura Callahan");
	var_Items->PutCellCaption(h0,long(1),"Inside Sales Coordinator");
	var_Items->PutCellCaption(h0,long(2),"Seattle");
	h0 = var_Items->AddItem("Anne Dodsworth");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"London");
spTree1->EndUpdate();

723
ADOR, MDB (JET)

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
spTree1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.mdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->Images(_bstr_t("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
	"lVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmD" +
	"cD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB");
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"ToLeft")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"ToRight")));
	var_Column1->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column1->PutDef(EXTREELib::exCellDrawPartsOrder,"caption,picture,icons,icon,check");
spTree1->PutDefaultItemHeight(32);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Caption");
	var_Items->PutCellImage(h,long(0),2);
	var_Items->PutCellImages(h,long(0),"1,2");
	var_Items->PutCellPicture(h,long(0),((ObjectPtr)(spTree1->ExecuteTemplate(_bstr_t("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") +
	"GL2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7" +
	"FXI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0F" +
	"CjVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4" +
	"wG8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/Ay" +
	"QJAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZe" +
	"nEVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSF" +
	"pTheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5si" +
	"qbZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8Yx" +
	"XhIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8D" +
	"PH8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZA" +
	"mBgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCM" +
	"EgSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rBy" +
	"jJGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0W" +
	"gLhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTH" +
	"CBwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB" +
	"1iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHw" +
	"L4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0" +
	"FqGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYd" +
	"guhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCG" +
	"USNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmh" +
	"AFaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg" +
	"6BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GF" +
	"ZQS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gm" +
	"iXE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsA" +
	"YAah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg" +
	"5AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARA" +
	"SA/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9A" +
	"IBdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcA" +
	"dAcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJB" +
	"PhSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzA" +
	"hhLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARB" +
	"vgjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURA" +
	"Ghvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh" +
	"/gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3s" +
	"UhMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4A" +
	"fgZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8x" +
	"MhgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA" +
	"2BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXB" +
	"WhFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBag" +
	"xAkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9B" +
	"tnWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqB" +
	"UgphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDA" +
	"jAjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBih" +
	"Fh7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdA" +
	"uAXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeA" +
	"FBNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg" +
	"3ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhch" +
	"ug3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCB" +
	"QAcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxh" +
	"Tg9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5" +
	"WgZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJA" +
	"kgqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEg" +
	"qgqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyh" +
	"VgmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADB" +
	"Wh3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMA" +
	"GAshzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFO" +
	"rC0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZT" +
	"WP1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwd" +
	"i4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8" +
	"PiPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnL" +
	"Cs8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIy" +
	"DQCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhO" +
	"ApDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj" +
	"5Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)"))));
	var_Items->PutCellCaption(h,long(1),var_Items->GetCellCaption(h,long(0)));
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellImage(h,long(1),var_Items->GetCellImage(h,long(0)));
	var_Items->PutCellImages(h,long(1),"2,1");
	var_Items->PutCellPicture(h,long(1),((ObjectPtr)(var_Items->GetCellPicture(h,long(0)))));
	h = var_Items->AddItem("<b>HTML</b> <off 4>Caption");
	var_Items->PutCellCaptionFormat(h,long(0),EXTREELib::exHTML);
	var_Items->PutCellImage(h,long(0),2);
	var_Items->PutCellImages(h,long(0),"1,2");
	var_Items->PutCellPicture(h,long(0),((ObjectPtr)(spTree1->ExecuteTemplate(_bstr_t("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") +
	"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`)"))));
	var_Items->PutCellCaption(h,long(1),var_Items->GetCellCaption(h,long(0)));
	var_Items->PutCellCaptionFormat(h,long(1),EXTREELib::exHTML);
	var_Items->PutCellHAlignment(h,long(1),EXTREELib::RightAlignment);
	var_Items->PutCellImage(h,long(1),var_Items->GetCellImage(h,long(0)));
	var_Items->PutCellImages(h,long(1),"2,1");
	var_Items->PutCellPicture(h,long(1),((ObjectPtr)(var_Items->GetCellPicture(h,long(0)))));
spTree1->EndUpdate();

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

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutImageSize(32);
spTree1->PutDefaultItemHeight(36);
spTree1->PutHeaderHeight(spTree1->GetDefaultItemHeight());
spTree1->PutSortBarHeight(spTree1->GetDefaultItemHeight());
spTree1->GetFont()->PutSize(_variant_t(long(16)));
spTree1->GetFilterBarFont()->PutSize(_variant_t(spTree1->GetFont()->GetSize()));
spTree1->GetToolTipFont()->PutSize(_variant_t(spTree1->GetFont()->GetSize()));
spTree1->PutIndent(26);
spTree1->Images(_bstr_t("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
	"NUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlw" +
	"yV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+C" +
	"MPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9" +
	"FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5" +
	"y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" +
	"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMt" +
	"NhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xi" +
	"oW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X" +
	"4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT" +
	"6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUV" +
	"DNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" +
	"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlf" +
	"fEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC" +
	"6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8R" +
	"gH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVW" +
	"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==");
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
	"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
	"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
	"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
	"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
	"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
	"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
	"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
	"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
	"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
	"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" +
	"gRBCCQAgQEA==");
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
	"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");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
	"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
	"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
	"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
	"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
	"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
	"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
	"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spTree1->PutBackColorHeader(0x4c6c6c6);
spTree1->PutSelBackColor(0x4000000);
spTree1->PutSelForeColor(RGB(0,0,1));
spTree1->PutCheckImage(EXTREELib::Unchecked,16777216);
spTree1->PutCheckImage(EXTREELib::Checked,33554432);
spTree1->PutCheckImage(EXTREELib::PartialChecked,50331648);
spTree1->PutBackground(EXTREELib::exSelBackColorFilter,spTree1->GetSelBackColor());
spTree1->PutBackground(EXTREELib::exSelForeColorFilter,spTree1->GetSelForeColor());
spTree1->PutBackground(EXTREELib::exBackColorFilter,spTree1->GetBackColor());
spTree1->PutBackground(EXTREELib::exForeColorFilter,spTree1->GetForeColor());
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x4000000);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarActive,0x4010101);
spTree1->PutBackground(EXTREELib::exFooterFilterBarButton,0x40000ff);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutSortBarVisible(VARIANT_TRUE);
spTree1->PutBackColorSortBar(spTree1->GetBackColor());
spTree1->PutBackColorLevelHeader(spTree1->GetBackColor());
spTree1->PutFilterBarDropDownHeight(1);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Check")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
	var_Column->PutWidth(128);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXTREELib::exShowCheckBox);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Pos")));
	var_Column1->PutFormatColumn(L"1 pos ``");
	var_Column1->PutAllowSort(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutAlignment(EXTREELib::CenterAlignment);
	var_Column1->PutHeaderAlignment(EXTREELib::CenterAlignment);
EXTREELib::IColumnPtr var_Column2 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Image")));
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutFilterList(EXTREELib::FilterListEnum(EXTREELib::exShowExclude | EXTREELib::exShowCheckBox | EXTREELib::exSortItemsAsc));
	var_Column2->PutFilterType(EXTREELib::exImage);
	var_Column2->PutDisplayExpandButton(VARIANT_TRUE);
	var_Column2->PutExpandColumns(L"1,2,3");
	var_Column2->PutWidth(128);
	var_Column2->PutHeaderImage(1);
EXTREELib::IColumnPtr var_Column3 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Images")));
	var_Column3->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column3->PutWidth(196);
	var_Column3->PutHTMLCaption(L"<img>1</img><img>2</img><img>3</img> Images");
spTree1->GetColumns()->GetItem("Pos")->PutPosition(3);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long hR = var_Items->AddItem("Root");
	var_Items->PutItemDivider(hR,0);
	var_Items->PutItemDividerLine(hR,EXTREELib::EmptyLine);
	long h = var_Items->InsertItem(hR,vtMissing,"Child A");
	var_Items->PutCellImage(h,long(2),1);
	var_Items->PutCellImages(h,long(3),"1,2,3");
	var_Items->PutCellCaption(h,long(3),"123");
	h = var_Items->InsertItem(hR,vtMissing,"Child B");
	var_Items->PutCellState(h,long(0),1);
	var_Items->PutCellImage(h,long(2),3);
	var_Items->PutCellImages(h,long(3),"2,3,1");
	var_Items->PutCellCaption(h,long(3),"231");
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(hR,vtMissing,"Child C");
	var_Items->PutCellImage(h,long(2),2);
	var_Items->PutCellState(h,long(3),1);
	var_Items->PutCellCaption(h,long(3),"312");
	var_Items->PutCellImages(h,long(3),"3,1,2");
	var_Items->PutExpandItem(hR,VARIANT_TRUE);
spTree1->EndUpdate();

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

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutImageSize(16);
spTree1->Images(_bstr_t("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") +
	"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
	"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
	"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
	"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
	"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==");
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
	"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
	"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
	"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
	"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
	"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
	"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
	"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==");
spTree1->PutBackColorHeader(0x4c6c6c6);
spTree1->PutSelBackColor(0x4000000);
spTree1->PutSelForeColor(RGB(0,0,1));
spTree1->PutBackground(EXTREELib::exSelBackColorFilter,spTree1->GetSelBackColor());
spTree1->PutBackground(EXTREELib::exSelForeColorFilter,spTree1->GetSelForeColor());
spTree1->PutBackground(EXTREELib::exBackColorFilter,spTree1->GetBackColor());
spTree1->PutBackground(EXTREELib::exForeColorFilter,spTree1->GetForeColor());
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x4000000);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarActive,0x4010101);
spTree1->PutBackground(EXTREELib::exFooterFilterBarButton,0x40000ff);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutSortBarVisible(VARIANT_TRUE);
spTree1->PutBackColorSortBar(spTree1->GetBackColor());
spTree1->PutBackColorLevelHeader(spTree1->GetBackColor());
spTree1->PutFilterBarDropDownHeight(1);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Check")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
	var_Column->PutWidth(128);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXTREELib::exShowCheckBox);
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Pos")));
	var_Column1->PutFormatColumn(L"1 pos ``");
	var_Column1->PutAllowSort(VARIANT_FALSE);
	var_Column1->PutWidth(48);
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutAlignment(EXTREELib::CenterAlignment);
	var_Column1->PutHeaderAlignment(EXTREELib::CenterAlignment);
EXTREELib::IColumnPtr var_Column2 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Image")));
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutFilterList(EXTREELib::FilterListEnum(EXTREELib::exShowExclude | EXTREELib::exShowCheckBox | EXTREELib::exSortItemsAsc));
	var_Column2->PutFilterType(EXTREELib::exImage);
	var_Column2->PutDisplayExpandButton(VARIANT_TRUE);
	var_Column2->PutExpandColumns(L"1,2,3");
	var_Column2->PutWidth(128);
	var_Column2->PutHeaderImage(1);
EXTREELib::IColumnPtr var_Column3 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Images")));
	var_Column3->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column3->PutWidth(196);
	var_Column3->PutHTMLCaption(L"<img>1</img><img>2</img><img>3</img> Images");
spTree1->GetColumns()->GetItem("Pos")->PutPosition(3);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long hR = var_Items->AddItem("Root");
	var_Items->PutItemDivider(hR,0);
	var_Items->PutItemDividerLine(hR,EXTREELib::EmptyLine);
	long h = var_Items->InsertItem(hR,vtMissing,"Child A");
	var_Items->PutCellImage(h,long(2),1);
	var_Items->PutCellImages(h,long(3),"1,2,3");
	var_Items->PutCellCaption(h,long(3),"123");
	h = var_Items->InsertItem(hR,vtMissing,"Child B");
	var_Items->PutCellState(h,long(0),1);
	var_Items->PutCellImage(h,long(2),3);
	var_Items->PutCellImages(h,long(3),"2,3,1");
	var_Items->PutCellCaption(h,long(3),"231");
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(hR,vtMissing,"Child C");
	var_Items->PutCellImage(h,long(2),2);
	var_Items->PutCellState(h,long(3),1);
	var_Items->PutCellCaption(h,long(3),"312");
	var_Items->PutCellImages(h,long(3),"3,1,2");
	var_Items->PutExpandItem(hR,VARIANT_TRUE);
spTree1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void OnAddColumnTree1(LPDISPATCH   Column)
{
}

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->GetColumns()->GetItem("ShipVia")->PutPosition(2);
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutColumnAutoResize(VARIANT_FALSE);
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.1 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\Access\\sample.accdb",ADODB::adOpenKeyset,ADODB::adLockOptimistic,0);
spTree1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spTree1->PutSortBarVisible(VARIANT_TRUE);
spTree1->PutLayout(L"singlesort=\"C1:1\"");
spTree1->EndUpdate();

717
Is it possible to view all events the control fires
// Event event - Notifies the application once the control fires an event.
void OnEventTree1(long   EventID)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spTree1->GetEventParam(-2)) );
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Tasks")));
	var_Column->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
	var_Column->PutDef(EXTREELib::exCellCaptionFormat,long(1));
	var_Column->PutFormatColumn(L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
spTree1->PutHeaderVisible(VARIANT_TRUE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Project");
	long hChild = var_Items->InsertItem(h,vtMissing,"Task 1");
	var_Items->PutSelectItem(hChild,VARIANT_TRUE);
	hChild = var_Items->InsertItem(h,vtMissing,"Task 2");
	var_Items->PutCellState(hChild,long(0),1);
	hChild = var_Items->InsertItem(h,vtMissing,"Task 3");
	var_Items->PutCellState(hChild,long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spTree1->EndUpdate();

716
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void OnBeforeExpandItemTree1(long   Item, VARIANT FAR*   Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	Cancel = spTree1->GetItems()->GetItemParent(Item);
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutSingleSel(VARIANT_FALSE);
spTree1->GetColumns()->Add(L"Default");
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 1.1"),vtMissing,"Child");
	var_Items->InsertItem(h,vtMissing,"Child 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(var_Items->InsertItem(h,vtMissing,"Child 2.1"),vtMissing,"Child");
	var_Items->InsertItem(h,vtMissing,"Child 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spTree1->EndUpdate();

715
How can I display an item of picture type

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutScrollBySingleLine(VARIANT_FALSE);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutHeaderHeight(24);
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Artikel")))->PutHTMLCaption(L"<u>Artikel");
((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Waarde")))->PutHTMLCaption(L"<u>Waarde");
spTree1->PutHTMLPicture(L"T22128","c:\\exontrol\\images\\zipdisk.gif");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("T22128-28)2D");
	long h1 = var_Items->InsertItem(h,vtMissing,"<img>T22128:128</img>");
	var_Items->PutCellCaptionFormat(h1,long(0),EXTREELib::exHTML);
	var_Items->PutItemHeight(h1,128);
	h1 = var_Items->InsertItem(h,vtMissing,"werkvoorbereiding");
	var_Items->PutCellCaption(h1,long(1),"5.80");
	var_Items->PutCellBold(h1,long(1),VARIANT_TRUE);
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Type"),long(1),"Eenvoudig");
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Prijs p/uur"),long(1),"60,00");
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Marhe"),long(1),"15,00%");
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Insteltijd min."),long(1),"5,00");
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Aantal"),long(1),long(1));
	var_Items->PutCellCaption(var_Items->InsertItem(h1,vtMissing,"Kostprije"),long(1),"5,00");
	var_Items->PutExpandItem(h1,VARIANT_TRUE);
	h1 = var_Items->InsertItem(h,vtMissing,"materiall");
	var_Items->PutCellCaption(h1,long(1),"14.82");
	var_Items->PutCellBold(h1,long(1),VARIANT_TRUE);
	var_Items->PutItemHasChildren(h1,VARIANT_TRUE);
	h1 = var_Items->InsertItem(h,vtMissing,"snijden");
	var_Items->PutCellCaption(h1,long(1),"3.13");
	var_Items->PutCellBold(h1,long(1),VARIANT_TRUE);
	var_Items->PutItemHasChildren(h1,VARIANT_TRUE);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spTree1->EndUpdate();

714
Dark mode

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
_bstr_t back = 65536;
_bstr_t fore = 16777215;
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
	"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
	"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
spTree1->GetVisualAppearance()->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4b") +
	"iaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA");
spTree1->GetVisualAppearance()->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5C") +
	"jmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKax" +
	"bbuaaXLhGCYBgIA==");
spTree1->PutHeaderAppearance(EXTREELib::Bump);
spTree1->PutBackColor(back);
spTree1->PutBackColorHeader(back);
spTree1->PutBackColorLevelHeader(back);
spTree1->PutBackColorSortBar(back);
spTree1->PutBackColorSortBarCaption(back);
spTree1->PutFilterBarBackColor(back);
spTree1->PutFilterBarForeColor(fore);
spTree1->PutForeColor(fore);
spTree1->PutForeColorHeader(fore);
spTree1->PutForeColorSortBar(fore);
spTree1->PutSelBackColor(fore);
spTree1->PutSelForeColor(back);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x1000000);
spTree1->PutBackground(EXTREELib::BackgroundPartEnum(0x10 | EXTREELib::exCellButtonUp),0x2000000);
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
spTree1->PutBackground(EXTREELib::exToolTipAppearance,0x3000000);
spTree1->PutBackground(EXTREELib::exToolTipBackColor,back);
spTree1->PutBackground(EXTREELib::exToolTipForeColor,fore);
spTree1->PutBackground(EXTREELib::exSelBackColorFilter,fore);
spTree1->PutBackground(EXTREELib::exSelForeColorFilter,back);
spTree1->PutBackground(EXTREELib::exBackColorFilter,back);
spTree1->PutBackground(EXTREELib::exForeColorFilter,fore);
spTree1->PutBackground(EXTREELib::exSortBarLinkColor,back);
spTree1->PutBackground(EXTREELib::BackgroundPartEnum(0x80 | EXTREELib::exDateSelect),0x2000000);
spTree1->PutBackground(EXTREELib::BackgroundPartEnum(0x80 | EXTREELib::exDateSeparatorBar),0x2000000);
spTree1->PutBackground(EXTREELib::exTreeLinesColor,fore);
spTree1->PutDescription(EXTREELib::exFilterBarExclude,L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
	var_Appearance->Add(2,"CP:1 -4 0 0 0");
spTree1->PutSelBackColor(0x2000000);
spTree1->PutSelForeColor(RGB(0,0,1));
spTree1->PutFullRowSelect(VARIANT_FALSE);
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutDefaultItemHeight(24);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2");
	var_Items->PutCellCaption(var_Items->AddItem("Cell 3"),long(1),"Cell 4");
spTree1->GetItems()->PutSelectPos(long(1));
spTree1->PutSelectColumnIndex(1);
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
spTree1->PutSelBackColor(0x1000000);
spTree1->PutSelForeColor(RGB(0,0,1));
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutDefaultItemHeight(24);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2");
	var_Items->PutCellCaption(var_Items->AddItem("Cell 3"),long(1),"Cell 4");
	var_Items->PutSelectPos(long(1));
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->AttachTemplate("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}");
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
	"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
	"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
	"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
	"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=");
spTree1->PutSelBackMode(EXTREELib::exTransparent);
spTree1->PutShowFocusRect(VARIANT_FALSE);
spTree1->PutDefaultItemHeight(24);
spTree1->PutHeaderHeight(24);
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->GetColumns()->Add(L"C1");
spTree1->GetColumns()->Add(L"C2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Cell 1"),long(1),"Cell 2");
	long h = var_Items->AddItem("Cell 2");
	var_Items->PutCellCaption(h,long(1),"Cell 3");
	var_Items->PutCellBackColor(h,long(1),0x1000000);
spTree1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void OnAddColumnTree1(LPDISPATCH   Column)
{
	// Column.Def(17) = 1
}

// FilterChange event - Notifies your application that the filter is changed.
void OnFilterChangeTree1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	_variant_t format = spTree1->FormatABC(L"`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",spTree1->GetFilterBarPromptPattern(),vtMissing,vtMissing);
	spTree1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"format");
	spTree1->GetColumns()->GetItem(long(1))->PutFormatColumn(L"format");
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutDrawGridLines(EXTREELib::exVLines);
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->GetColumns()->Add(L"Col 1");
spTree1->GetColumns()->Add(L"Col 2");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("219 Smith"),long(1),"Ignacio 1234");
	var_Items->PutCellCaption(var_Items->AddItem("1666 County Road 309A"),long(1),"897 Manassa");
	var_Items->PutCellCaption(var_Items->AddItem("38 Lone Pine"),long(1),"Durango 11");
	var_Items->PutCellCaption(var_Items->AddItem("612 Jachim Street"),long(1),"Lamar 222");
spTree1->PutFilterBarPromptPattern(L"1");
spTree1->PutFilterBarPromptVisible(EXTREELib::FilterBarVisibleEnum(EXTREELib::exFilterBarCompact | EXTREELib::exFilterBarSingleLine | EXTREELib::exFilterBarVisible | EXTREELib::exFilterBarPromptVisible));
spTree1->PutFilterBarPromptType(EXTREELib::FilterPromptEnum(EXTREELib::exFilterPromptCaseSensitive | EXTREELib::exFilterPromptContainsAll));
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwS") +
	"AsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbD" +
	"MRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZw" +
	"Xg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGq" +
	"DBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQF") +
	"i6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIK" +
	"AT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QB" +
	"HAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBa" +
	"BZhggZgagaYRoEwShWA6NZZAMQBAICA==");
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x1000000);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarActive,0x2000000);
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
spTree1->PutHeaderHeight(28);
spTree1->PutBackColorHeader(RGB(255,255,255));
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->PutHeaderVisible(VARIANT_TRUE);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDisplayFilterButton(VARIANT_TRUE);
	EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"C2")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilter(L"Item 2");
		var_Column->PutFilterType(EXTREELib::exFilter);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"C3")))->PutDisplayFilterButton(VARIANT_TRUE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutCellCaption(h,long(1),"Item 2");
	var_Items->PutCellCaption(h,long(2),"Item 3");
	h = var_Items->AddItem("Item 4");
	var_Items->PutCellCaption(h,long(1),"Item 5");
	var_Items->PutCellCaption(h,long(2),"Item 6");
spTree1->ApplyFilter();
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
_bstr_t size = 2;
spTree1->BeginUpdate();
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQc") +
	"CQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBK" +
	"cRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJ" +
	"rnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGY" +
	"GoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQp" +
	"FIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" +
	"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhY") +
	"IgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyV" +
	"YghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDx" +
	"TiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FY" +
	"FoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAha" +
	"FKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" +
	"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==");
	var_Appearance->Add(1,spTree1->FormatABC(L"`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,vtMissing,vtMissing));
	var_Appearance->Add(2,spTree1->FormatABC(L"`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",size,vtMissing,vtMissing));
spTree1->PutLinesAtRoot(EXTREELib::exGroupLinesAtRoot);
spTree1->PutHasButtons(EXTREELib::exCustom);
spTree1->PutHasButtonsCustom(VARIANT_FALSE,16777216);
spTree1->PutHasButtonsCustom(VARIANT_TRUE,33554432);
spTree1->GetColumns()->Add(L"Column");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
EXTREELib::IAppearancePtr var_Appearance = spTree1->GetVisualAppearance();
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
	"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
	"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
	"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
	"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
	"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	var_Appearance->Add(1,"CP:2 -8 -4 2 4");
spTree1->PutBackground(EXTREELib::exHeaderFilterBarButton,0x1fefefe);
spTree1->PutBackground(EXTREELib::exHeaderFilterBarActive,0x1010101);
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
spTree1->PutHeaderHeight(28);
spTree1->PutBackColorHeader(RGB(255,255,255));
spTree1->PutDrawGridLines(EXTREELib::exRowLines);
spTree1->PutHeaderVisible(VARIANT_TRUE);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"C1")))->PutDisplayFilterButton(VARIANT_TRUE);
	EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"C2")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutFilter(L"Item 2");
		var_Column->PutFilterType(EXTREELib::exFilter);
	((EXTREELib::IColumnPtr)(var_Columns->Add(L"C3")))->PutDisplayFilterButton(VARIANT_TRUE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutCellCaption(h,long(1),"Item 2");
	var_Items->PutCellCaption(h,long(2),"Item 3");
	h = var_Items->AddItem("Item 4");
	var_Items->PutCellCaption(h,long(1),"Item 5");
	var_Items->PutCellCaption(h,long(2),"Item 6");
spTree1->ApplyFilter();
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutFilterBarPromptVisible(EXTREELib::exFilterBarTop);
spTree1->PutHeaderHeight(24);
spTree1->PutFilterBarHeight(spTree1->GetHeaderHeight());
spTree1->PutHeaderAppearance(EXTREELib::Flat);
spTree1->PutDrawGridLines(EXTREELib::exAllLines);
spTree1->PutGridLineStyle(EXTREELib::exGridLinesGeometric);
EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Column")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXTREELib::exPattern);
	var_Column->PutFilter(L"B*");
EXTREELib::IColumnPtr var_Column1 = ((EXTREELib::IColumnPtr)(spTree1->GetColumns()->Add(L"Index")));
	var_Column1->PutFormatColumn(L"1 index ``");
	var_Column1->PutPosition(0);
	var_Column1->PutWidth(48);
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutSortType(EXTREELib::SortNumeric);
	var_Column1->PutDef(EXTREELib::exCellHasCheckBox,VARIANT_TRUE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("A.1");
	var_Items->AddItem("A.2");
	var_Items->AddItem("B.1");
	var_Items->AddItem("B.2");
	var_Items->AddItem("B.3");
	var_Items->AddItem("C");
spTree1->ApplyFilter();
spTree1->EndUpdate();

705
DragDrop (with visual effect)

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
void OnOLEDragDropTree1(LPDISPATCH   Data, long FAR*   Effect, short   Button, short   Shift, long   X, long   Y)
{
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	long i = spTree1->GetItemFromPoint(-1,-1,c,hit);
	EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
		var_Items->PutExpandItem(i,VARIANT_TRUE);
}

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragTree1(LPDISPATCH   Data, long FAR*   AllowedEffects)
{
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJG") +
	"juKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==");
spTree1->PutBackground(EXTREELib::exListOLEDropPosition,0x1000000);
spTree1->PutBackground(EXTREELib::exDragDropBefore,RGB(0,0,0));
spTree1->PutBackground(EXTREELib::exDragDropAfter,RGB(255,255,255));
spTree1->PutOLEDropMode(EXTREELib::exOLEDropManual);
spTree1->PutAutoDrag(EXTREELib::exAutoDragPositionAnyOnRight);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutIndent(16);
spTree1->PutSelBackMode(EXTREELib::exTransparent);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
OutputDebugStringW( L"You can:" );
OutputDebugStringW( L"A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
OutputDebugStringW( L"B) right-click to re-arrange the item position inside the same control" );
OutputDebugStringW( L"This sample shows how you can insert the data being dropped as a child of the item being hovered." );

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

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
void OnOLEDragDropTree1(LPDISPATCH   Data, long FAR*   Effect, short   Button, short   Shift, long   X, long   Y)
{
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	long i = spTree1->GetItemFromPoint(-1,-1,c,hit);
	EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
		var_Items->PutExpandItem(i,VARIANT_TRUE);
}

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragTree1(LPDISPATCH   Data, long FAR*   AllowedEffects)
{
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutBackground(EXTREELib::exDragDropBefore,RGB(0,0,0));
spTree1->PutBackground(EXTREELib::exDragDropAfter,RGB(255,255,255));
spTree1->PutOLEDropMode(EXTREELib::exOLEDropManual);
spTree1->PutAutoDrag(EXTREELib::exAutoDragPositionAnyOnRight);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutIndent(16);
spTree1->PutSelBackMode(EXTREELib::exTransparent);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
OutputDebugStringW( L"You can:" );
OutputDebugStringW( L"A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
OutputDebugStringW( L"B) right-click to re-arrange the item position inside the same control" );
OutputDebugStringW( L"This sample shows how you can insert the data being dropped as a child of the item being hovered." );

703
DragDrop

// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
void OnOLEDragDropTree1(LPDISPATCH   Data, long FAR*   Effect, short   Button, short   Shift, long   X, long   Y)
{
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'
		#import <ExTree.dll>
		using namespace EXTREELib;
	*/
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	long i = spTree1->GetItemFromPoint(-1,-1,c,hit);
	EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
		var_Items->PutExpandItem(i,VARIANT_TRUE);
}

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragTree1(LPDISPATCH   Data, long FAR*   AllowedEffects)
{
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
	AllowedEffects = 1;
}

EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->PutOLEDropMode(EXTREELib::exOLEDropManual);
spTree1->PutAutoDrag(EXTREELib::exAutoDragPositionAnyOnRight);
spTree1->PutLinesAtRoot(EXTREELib::exLinesAtRoot);
spTree1->PutIndent(16);
spTree1->PutSelBackMode(EXTREELib::exTransparent);
spTree1->GetColumns()->Add(L"Default");
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
OutputDebugStringW( L"You can:" );
OutputDebugStringW( L"A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)" );
OutputDebugStringW( L"B) right-click to re-arrange the item position inside the same control" );
OutputDebugStringW( L"This sample shows how you can insert the data being dropped as a child of the item being hovered." );

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"Item");
	EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"Pos")));
		var_Column->PutPosition(0);
		var_Column->PutWidth(32);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutFormatColumn(L"1 index ``");
		var_Column->PutAllowSort(VARIANT_FALSE);
		var_Column->PutAllowDragging(VARIANT_FALSE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spTree1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXTREELib' for the library: 'ExTree 1.0 Control Library'

	#import <ExTree.dll>
	using namespace EXTREELib;
*/
EXTREELib::ITreePtr spTree1 = GetDlgItem(IDC_TREE1)->GetControlUnknown();
spTree1->BeginUpdate();
spTree1->PutHeaderAppearance(EXTREELib::Etched);
spTree1->PutBackground(EXTREELib::exCursorHoverColumn,-1);
EXTREELib::IColumnsPtr var_Columns = spTree1->GetColumns();
	var_Columns->Add(L"Item");
	EXTREELib::IColumnPtr var_Column = ((EXTREELib::IColumnPtr)(var_Columns->Add(L"Pos")));
		var_Column->PutPosition(0);
		var_Column->PutWidth(32);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutFormatColumn(L"1 index ``");
		var_Column->PutAllowSort(VARIANT_FALSE);
		var_Column->PutAllowDragging(VARIANT_FALSE);
EXTREELib::IItemsPtr var_Items = spTree1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spTree1->EndUpdate();