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

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	BackColorLock := RGB(192,192,192);
	GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
	DrawGridLines := EXTREELib_TLB.exVLines;
	HeaderAppearance := EXTREELib_TLB.Etched;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	CountLockedColumns := 17;
	EndUpdate();
end
751
Lock the column on the right

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	BackColorLock := RGB(192,192,192);
	GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
	DrawGridLines := EXTREELib_TLB.exVLines;
	HeaderAppearance := EXTREELib_TLB.Etched;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	CountLockedColumns := 16;
	EndUpdate();
end
750
Lock the column on the left

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	BackColorLock := RGB(192,192,192);
	GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
	DrawGridLines := EXTREELib_TLB.exVLines;
	HeaderAppearance := EXTREELib_TLB.Etched;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	CountLockedColumns := 1;
	EndUpdate();
end
749
Bolds only the expanded items

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	ConditionalFormats.Add('%CX0',Null).Bold := True;
	Columns.Add('Description');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
	end;
	EndUpdate();
end
748
Displays the root item's index and value/caption using expressions

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	AutoDrag := EXTREELib_TLB.exAutoDragPositionAny;
	SingleSel := False;
	DrawGridLines := EXTREELib_TLB.exRowLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
	GridLineColor := RGB(208,208,208);
	ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
	with ConditionalFormats.Add('1',Null) do
	begin
		Bold := True;
		ApplyTo := EXTREELib_TLB.FormatApplyToEnum($2);
	end;
	with (IUnknown(Columns.Add('Description')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := '1 index ``';
		Position := 0;
		Width := 16;
	end;
	with (IUnknown(Columns.Add('Root-Index')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := 'root(1 index ``)';
		Position := 1;
		Width := 32;
		Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with (IUnknown(Columns.Add('Root-Value')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := 'root(%0)';
		Position := 2;
		Width := 32;
		Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
747
Displays the parent item's index and caption/value using expressions

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	AutoDrag := EXTREELib_TLB.exAutoDragPositionAny;
	SingleSel := False;
	DrawGridLines := EXTREELib_TLB.exRowLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesSolid;
	GridLineColor := RGB(208,208,208);
	ConditionalFormats.Add('%CC0 and %CX0',Null).Bold := True;
	with ConditionalFormats.Add('1',Null) do
	begin
		Bold := True;
		ApplyTo := EXTREELib_TLB.FormatApplyToEnum($2);
	end;
	with (IUnknown(Columns.Add('Description')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := '1 index `I`';
		Position := 0;
		Width := 16;
	end;
	with (IUnknown(Columns.Add('Parent-Index')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := 'parent(1 index `I`)';
		Position := 1;
		Width := 32;
		Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with (IUnknown(Columns.Add('Parent-Value')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := 'parent(%0)';
		Position := 2;
		Width := 32;
		Def[EXTREELib_TLB.exCellBackColor] := OleVariant(15790320);
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(InsertItem(h,Null,'Child 2'),Null,'Sub-Child 2');
		CellState[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(0)] := 1;
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		InsertItem(h,Null,'Child 3');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
746
Specify the size of the Columns panel

with Tree1 do
begin
	BeginUpdate();
	HeaderHeight := 24;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('City');
		(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
		(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
	end;
	ColumnsFloatBarRect := ',,96';
	ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
	EndUpdate();
end
745
Show a vertical line between pivot and Columns panel (EBN color)

with Tree1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZXh' + 
	'al4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI');
	Background[EXTREELib_TLB.exColumnsFloatBackColor] := $1000000;
	HeaderHeight := 24;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('City');
		(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
		(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
	end;
	ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
	EndUpdate();
end
744
Change the background of the Columns panel (EBN color)

with Tree1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' + 
	'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' + 
	'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' + 
	'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' + 
	'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' + 
	'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' + 
	'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' + 
	'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
	Background[EXTREELib_TLB.exColumnsFloatBackColor] := $1000000;
	HeaderHeight := 24;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('City');
		(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
		(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
	end;
	ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
	EndUpdate();
end
743
Change the background of the Columns panel (solid color)

with Tree1 do
begin
	BeginUpdate();
	HeaderHeight := 24;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('City');
		(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
		(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
	end;
	ColumnsFloatBarVisible := EXTREELib_TLB.ColumnsFloatBarVisibleEnum($20 Or Integer(EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns));
	Background[EXTREELib_TLB.exColumnsFloatBackColor] := $f0f0f0;
	EndUpdate();
end
742
Change the visual appearance of the Columns panel

with Tree1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ' + 
	'0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNA' + 
	'gqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpT' + 
	'lWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+B' + 
	'ZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlE' + 
	'kVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4' + 
	'kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBq' + 
	'OIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA');
	Background[EXTREELib_TLB.exColumnsFloatAppearance] := $1000000;
	Background[EXTREELib_TLB.exColumnsFloatCaptionBackColor] := $f6f6f6;
	BackColorHeader := $1000000;
	HeaderHeight := 24;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('City');
		(IUnknown(Add('Start')) as EXTREELib_TLB.Column).Visible := False;
		(IUnknown(Add('End')) as EXTREELib_TLB.Column).Visible := False;
	end;
	Description[EXTREELib_TLB.exColumnsFloatBar] := 'Show/Hide';
	ColumnsFloatBarVisible := EXTREELib_TLB.exColumnsFloatBarVisibleIncludeCheckColumns;
	EndUpdate();
end
741
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exRowLines;
	(IUnknown(Columns.Add('Country')) as EXTREELib_TLB.Column).ShowIdem := '<fgcolor gray>〃';
	with Items do
	begin
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
	end;
	EndUpdate();
end
740
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exRowLines;
	(IUnknown(Columns.Add('Country')) as EXTREELib_TLB.Column).ShowIdem := ' ';
	with Items do
	begin
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Spain');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
		AddItem('Germany');
	end;
	EndUpdate();
end
739
Displays a glitch funnel for drop-down filter buttons (empty or active)

with Tree1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		RenderType := -1;
		Add(1,'gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZOi' + 
	'wLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYReW' + 
	'APfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=');
		Add(2,'CP:1 -2 0 0 0');
	end;
	DrawGridLines := EXTREELib_TLB.exAllLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	ShowFocusRect := False;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $2000000;
	Background[EXTREELib_TLB.exHeaderFilterBarActive] := $2000001;
	HeaderAppearance := EXTREELib_TLB.Etched;
	BackColorHeader := RGB(255,255,255);
	HeaderHeight := 24;
	HeaderVisible := True;
	with (IUnknown(Columns.Add('1st col')) as EXTREELib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		Filter := 'Item B';
		FilterType := EXTREELib_TLB.exFilter;
	end;
	Columns.Add('2nd col');
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	ApplyFilter();
	EndUpdate();
end
738
How can I replace or add an icon at runtime

with Tree1 do
begin
	BeginUpdate();
	ReplaceIcon('gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+Ok' + 
	'YB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==',Null);
	ReplaceIcon('C:\images\favicon.ico',OleVariant(0));
	(IUnknown(Columns.Add('Items')) as EXTREELib_TLB.Column).Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
	Items.AddItem('Item <img>1</img>');
	EndUpdate();
end
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

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Items')) as EXTREELib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		DisplayFilterPattern := True;
		Def[EXTREELib_TLB.exFilterPatternTemplate] := '*<%filter%>*';
		FilterType := EXTREELib_TLB.exPattern;
		Filter := '1';
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
	end;
	ApplyFilter();
	EndUpdate();
end
736
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exAllLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	ColumnAutoResize := False;
	Columns.Add('Column 1');
	Columns.Add('Column 2');
	Columns.Add('Column 3');
	Columns.Add('Column 4');
	EndUpdate();
end
735
Load data as a tree using a parent-id relationship

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exVLines;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Select * FROM Employees WHERE 1=0','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Columns.Item[OleVariant(0)].Width := 128;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Employees','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	PutItems(rs.GetRows(Null,Null,Null),';0;15');
	Items.ExpandItem[0] := True;
	EndUpdate();
end
734
Highlight the leaf items

with Tree1 do
begin
	BeginUpdate();
	ConditionalFormats.Add('%CC0=0',Null).ForeColor := $808080;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with Columns do
	begin
		(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
		Add('Desc');
	end;
	with Items do
	begin
		hR := AddItem('Root');
		CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
		ExpandItem[hR] := True;
		h := InsertItem(hR,Null,'Home');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
		InsertItem(h,Null,'Alice');
		InsertItem(h,Null,'Bob');
		ExpandItem[h] := True;
		h := InsertItem(hR,Null,'Etc');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
		h := InsertItem(h,Null,'nginx.conf');
		CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
	end;
	EndUpdate();
end
733
Highlight the parent items

with Tree1 do
begin
	BeginUpdate();
	ConditionalFormats.Add('%CC0',Null).ForeColor := $ff;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with Columns do
	begin
		(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
		Add('Desc');
	end;
	with Items do
	begin
		hR := AddItem('Root');
		CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
		ExpandItem[hR] := True;
		h := InsertItem(hR,Null,'Home');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
		InsertItem(h,Null,'Alice');
		InsertItem(h,Null,'Bob');
		ExpandItem[h] := True;
		h := InsertItem(hR,Null,'Etc');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
		h := InsertItem(h,Null,'nginx.conf');
		CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
	end;
	EndUpdate();
end
732
Highlight the item being expanded or collapsed

with Tree1 do
begin
	BeginUpdate();
	ConditionalFormats.Add('%CX0',Null).Bold := True;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with Columns do
	begin
		(IUnknown(Add('Item')) as EXTREELib_TLB.Column).Width := 16;
		Add('Desc');
	end;
	with Items do
	begin
		hR := AddItem('Root');
		CellCaption[OleVariant(hR),OleVariant(1)] := 'The root directory /';
		ExpandItem[hR] := True;
		h := InsertItem(hR,Null,'Home');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The home directory with user directories Alice and Bob';
		InsertItem(h,Null,'Alice');
		InsertItem(h,Null,'Bob');
		ExpandItem[h] := True;
		h := InsertItem(hR,Null,'Etc');
		CellCaption[OleVariant(h),OleVariant(1)] := 'The etc directory with one configuration file';
		h := InsertItem(h,Null,'nginx.conf');
		CellCaption[OleVariant(InsertItem(hR,Null,'Var')),OleVariant(1)] := 'The var directory';
	end;
	EndUpdate();
end
731
Disable temporarily the column's sort, resize and drag and drop

with Tree1 do
begin
	BeginUpdate();
	SortBarVisible := True;
	SortBarCaption := '<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)';
	HeaderEnabled := False;
	HeaderAppearance := EXTREELib_TLB.Etched;
	(IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column).FormatColumn := '1 index ``';
	(IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column).FormatColumn := '1 apos ``';
	Columns.Add('Edit');
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	DrawGridLines := EXTREELib_TLB.exVLines;
	GridLineColor := RGB(224,224,224);
	EndUpdate();
end
730
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.Tree1AnchorClick(ASender: TObject; AnchorID : WideString; Options : WideString);
begin
	with Tree1 do
	begin
		OutputDebugString( AnchorID );
	end
end;

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	TreeColumnIndex := -1;
	DrawGridLines := EXTREELib_TLB.exAllLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	BackColorAlternate := RGB(240,240,240);
	ShowFocusRect := False;
	Columns.Add('Default');
	with Items do
	begin
		AddItem('before item');
		h := AddItem('<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4AjM' + 
	'GhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEBA' + 
	'==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DABv' + 
	'ABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>`' + 
	'50;</a><br>+ withdraw(amount: Currency)');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exCaptionWordWrap;
		AddItem('after item');
	end;
	EndUpdate();
end
729
Expandable-caption

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	TreeColumnIndex := -1;
	DrawGridLines := EXTREELib_TLB.exAllLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	BackColorAlternate := RGB(240,240,240);
	ShowFocusRect := False;
	Columns.Add('Default');
	with Items do
	begin
		AddItem('before item');
		h := AddItem('<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exCaptionWordWrap;
		AddItem('after item');
	end;
	EndUpdate();
end
728
Force scrollbars hover-all feature
with Tree1 do
begin
	Background[EXTREELib_TLB.exScrollHoverAll] := $ffffffff;
end
727
Disable scrollbars hover-all feature (Windows 11 or greater)
with Tree1 do
begin
	Background[EXTREELib_TLB.exScrollHoverAll] := $1;
end
726
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Tree1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	with Tree1 do
	begin
		ShowToolTip('new content','',Null,'+8','+8');
	end
end;


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

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Tree1MouseMove(ASender: TObject; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	with Tree1 do
	begin
		ShowToolTip('<null>','<null>',Null,'+8','+8');
	end
end;

with Tree1 do
begin
	ColumnAutoResize := False;
	(IUnknown(Columns.Add('tootip')) as EXTREELib_TLB.Column).ToolTip := 'this is a tooltip assigned to a column';
end
724
Highlight the match once the filter is applied

// FilterChange event - Notifies your application that the filter is changed.
procedure TForm1.Tree1FilterChange(ASender: TObject; );
begin
	with Tree1 do
	begin
		format := FormatABC('`lower(value) replace lower(''` + value + `'') with ''<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>''`',OleVariant(FilterBarPromptPattern),Null,Null);
		Columns.Item[OleVariant(0)].FormatColumn := format;
		Columns.Item[OleVariant(1)].FormatColumn := format;
		Columns.Item[OleVariant(2)].FormatColumn := format;
	end
end;

with Tree1 do
begin
	BeginUpdate();
	SelBackColor := BackColor;
	SelForeColor := ForeColor;
	ColumnAutoResize := True;
	ContinueColumnScroll := False;
	MarkSearchColumn := False;
	SearchColumnIndex := 1;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 23;
	BackColorLevelHeader := BackColor;
	FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
	FilterBarPromptVisible := Integer(EXTREELib_TLB.exFilterBarCompact) Or Integer(EXTREELib_TLB.exFilterBarCaptionVisible) Or Integer(EXTREELib_TLB.exFilterBarVisible) Or Integer(EXTREELib_TLB.exFilterBarPromptVisible);
	FilterBarBackColor := BackColor;
	FilterBarPromptPattern := 'and';
	with Columns do
	begin
		with (IUnknown(Add('Name')) as EXTREELib_TLB.Column) do
		begin
			Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
			FormatColumn := 'lower(value)';
		end;
		with (IUnknown(Add('Title')) as EXTREELib_TLB.Column) do
		begin
			Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
			FormatColumn := 'lower(value)';
		end;
		with (IUnknown(Add('City')) as EXTREELib_TLB.Column) do
		begin
			Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
			FormatColumn := 'lower(value)';
		end;
	end;
	with Items do
	begin
		h0 := AddItem('Nancy Davolio');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle';
		h0 := AddItem('Andrew Fuller');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Tacoma';
		SelectItem[h0] := True;
		h0 := AddItem('Janet Leverling');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Kirkland';
		h0 := AddItem('Margaret Peacock');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Redmond';
		h0 := AddItem('Steven Buchanan');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Manager';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
		h0 := AddItem('Michael Suyama');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
		h0 := AddItem('Robert King');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
		h0 := AddItem('Laura Callahan');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle';
		h0 := AddItem('Anne Dodsworth');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
	end;
	EndUpdate();
end
723
ADOR, MDB (JET)

with Tree1 do
begin
	ColumnAutoResize := False;
	ContinueColumnScroll := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
end
722
Re-order the cell's caption, icons and images/pictures

with Tree1 do
begin
	BeginUpdate();
	Images('gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc' + 
	'D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB');
	with (IUnknown(Columns.Add('ToLeft')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
	end;
	with (IUnknown(Columns.Add('ToRight')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		Def[EXTREELib_TLB.exCellDrawPartsOrder] := 'caption,picture,icons,icon,check';
	end;
	DefaultItemHeight := 32;
	DrawGridLines := EXTREELib_TLB.exVLines;
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Items do
	begin
		h := AddItem('Caption');
		CellImage[OleVariant(h),OleVariant(0)] := 2;
		CellImages[OleVariant(h),OleVariant(0)] := '1,2';
		CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(Tree1.ExecuteTemplate('loadpicture(`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' + 
	'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
		CellCaption[OleVariant(h),OleVariant(1)] := CellCaption[OleVariant(h),OleVariant(0)];
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.RightAlignment;
		CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
		CellImages[OleVariant(h),OleVariant(1)] := '2,1';
		CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
		h := AddItem('<b>HTML</b> <off 4>Caption');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXTREELib_TLB.exHTML;
		CellImage[OleVariant(h),OleVariant(0)] := 2;
		CellImages[OleVariant(h),OleVariant(0)] := '1,2';
		CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(Tree1.ExecuteTemplate('loadpicture(`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' + 
	'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
		CellCaption[OleVariant(h),OleVariant(1)] := CellCaption[OleVariant(h),OleVariant(0)];
		CellCaptionFormat[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.exHTML;
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXTREELib_TLB.RightAlignment;
		CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
		CellImages[OleVariant(h),OleVariant(1)] := '2,1';
		CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
	end;
	EndUpdate();
end
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.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
	// Column.Def(48) = 2
	// Column.Def(49) = 2
end;

with Tree1 do
begin
	BeginUpdate();
	ImageSize := 32;
	DefaultItemHeight := 36;
	HeaderHeight := DefaultItemHeight;
	SortBarHeight := DefaultItemHeight;
	Font.Size := 16;
	FilterBarFont.Size := Tree1.Font.Size;
	ToolTipFont.Size := Tree1.Font.Size;
	Indent := 26;
	Images('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');
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' + 
	'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' + 
	'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' + 
	'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' + 
	'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' + 
	'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' + 
	'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' + 
	'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' + 
	'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' + 
	'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
		Add(2,'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' + 
	'RBCCQAgQEA==');
		Add(3,'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');
		Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' + 
	'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' + 
	'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' + 
	'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' + 
	'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' + 
	'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' + 
	'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' + 
	'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
	end;
	BackColorHeader := $4c6c6c6;
	SelBackColor := $4000000;
	SelForeColor := RGB(0,0,1);
	CheckImage[EXTREELib_TLB.Unchecked] := 16777216;
	CheckImage[EXTREELib_TLB.Checked] := 33554432;
	CheckImage[EXTREELib_TLB.PartialChecked] := 50331648;
	Background[EXTREELib_TLB.exSelBackColorFilter] := SelBackColor;
	Background[EXTREELib_TLB.exSelForeColorFilter] := SelForeColor;
	Background[EXTREELib_TLB.exBackColorFilter] := BackColor;
	Background[EXTREELib_TLB.exForeColorFilter] := ForeColor;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $4000000;
	Background[EXTREELib_TLB.exHeaderFilterBarActive] := $4010101;
	Background[EXTREELib_TLB.exFooterFilterBarButton] := $40000ff;
	HeaderAppearance := EXTREELib_TLB.Etched;
	ShowFocusRect := False;
	SortBarVisible := True;
	BackColorSortBar := BackColor;
	BackColorLevelHeader := BackColor;
	FilterBarDropDownHeight := 1;
	with (IUnknown(Columns.Add('Check')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
		Width := 128;
		DisplayFilterButton := True;
		FilterList := EXTREELib_TLB.exShowCheckBox;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := '1 pos ``';
		AllowSort := False;
		Width := 48;
		AllowSizing := False;
		Alignment := EXTREELib_TLB.CenterAlignment;
		HeaderAlignment := EXTREELib_TLB.CenterAlignment;
	end;
	with (IUnknown(Columns.Add('Image')) as EXTREELib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXTREELib_TLB.exShowExclude) Or Integer(EXTREELib_TLB.exShowCheckBox) Or Integer(EXTREELib_TLB.exSortItemsAsc);
		FilterType := EXTREELib_TLB.exImage;
		DisplayExpandButton := True;
		ExpandColumns := '1,2,3';
		Width := 128;
		HeaderImage := 1;
	end;
	with (IUnknown(Columns.Add('Images')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		Width := 196;
		HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
	end;
	Columns.Item['Pos'].Position := 3;
	with Items do
	begin
		hR := AddItem('Root');
		ItemDivider[hR] := 0;
		ItemDividerLine[hR] := EXTREELib_TLB.EmptyLine;
		h := InsertItem(hR,Null,'Child A');
		CellImage[OleVariant(h),OleVariant(2)] := 1;
		CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
		CellCaption[OleVariant(h),OleVariant(3)] := '123';
		h := InsertItem(hR,Null,'Child B');
		CellState[OleVariant(h),OleVariant(0)] := 1;
		CellImage[OleVariant(h),OleVariant(2)] := 3;
		CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
		CellCaption[OleVariant(h),OleVariant(3)] := '231';
		SelectItem[h] := True;
		h := InsertItem(hR,Null,'Child C');
		CellImage[OleVariant(h),OleVariant(2)] := 2;
		CellState[OleVariant(h),OleVariant(3)] := 1;
		CellCaption[OleVariant(h),OleVariant(3)] := '312';
		CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
		ExpandItem[hR] := True;
	end;
	EndUpdate();
end
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.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
	// Column.Def(48) = 2
	// Column.Def(49) = 2
end;

with Tree1 do
begin
	BeginUpdate();
	ImageSize := 16;
	Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' + 
	'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' + 
	'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' + 
	'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' + 
	'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' + 
	'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
	with VisualAppearance do
	begin
		Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' + 
	'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' + 
	'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' + 
	'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' + 
	'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' + 
	'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' + 
	'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' + 
	'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' + 
	'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
	end;
	BackColorHeader := $4c6c6c6;
	SelBackColor := $4000000;
	SelForeColor := RGB(0,0,1);
	Background[EXTREELib_TLB.exSelBackColorFilter] := SelBackColor;
	Background[EXTREELib_TLB.exSelForeColorFilter] := SelForeColor;
	Background[EXTREELib_TLB.exBackColorFilter] := BackColor;
	Background[EXTREELib_TLB.exForeColorFilter] := ForeColor;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $4000000;
	Background[EXTREELib_TLB.exHeaderFilterBarActive] := $4010101;
	Background[EXTREELib_TLB.exFooterFilterBarButton] := $40000ff;
	HeaderAppearance := EXTREELib_TLB.Etched;
	ShowFocusRect := False;
	SortBarVisible := True;
	BackColorSortBar := BackColor;
	BackColorLevelHeader := BackColor;
	FilterBarDropDownHeight := 1;
	with (IUnknown(Columns.Add('Check')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
		Width := 128;
		DisplayFilterButton := True;
		FilterList := EXTREELib_TLB.exShowCheckBox;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := '1 pos ``';
		AllowSort := False;
		Width := 48;
		AllowSizing := False;
		Alignment := EXTREELib_TLB.CenterAlignment;
		HeaderAlignment := EXTREELib_TLB.CenterAlignment;
	end;
	with (IUnknown(Columns.Add('Image')) as EXTREELib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXTREELib_TLB.exShowExclude) Or Integer(EXTREELib_TLB.exShowCheckBox) Or Integer(EXTREELib_TLB.exSortItemsAsc);
		FilterType := EXTREELib_TLB.exImage;
		DisplayExpandButton := True;
		ExpandColumns := '1,2,3';
		Width := 128;
		HeaderImage := 1;
	end;
	with (IUnknown(Columns.Add('Images')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		Width := 196;
		HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
	end;
	Columns.Item['Pos'].Position := 3;
	with Items do
	begin
		hR := AddItem('Root');
		ItemDivider[hR] := 0;
		ItemDividerLine[hR] := EXTREELib_TLB.EmptyLine;
		h := InsertItem(hR,Null,'Child A');
		CellImage[OleVariant(h),OleVariant(2)] := 1;
		CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
		CellCaption[OleVariant(h),OleVariant(3)] := '123';
		h := InsertItem(hR,Null,'Child B');
		CellState[OleVariant(h),OleVariant(0)] := 1;
		CellImage[OleVariant(h),OleVariant(2)] := 3;
		CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
		CellCaption[OleVariant(h),OleVariant(3)] := '231';
		SelectItem[h] := True;
		h := InsertItem(hR,Null,'Child C');
		CellImage[OleVariant(h),OleVariant(2)] := 2;
		CellState[OleVariant(h),OleVariant(3)] := 1;
		CellCaption[OleVariant(h),OleVariant(3)] := '312';
		CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
		ExpandItem[hR] := True;
	end;
	EndUpdate();
end
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.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
	with Tree1 do
	begin
		with Column do
		begin
		end;
	end
end;

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Columns.Item['ShipVia'].Position := 2;
	EndUpdate();
end
718
Is it possible to set from code, a column sort without being inserted in the sortbar

with Tree1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\Access\sample.accdb',1,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	SortBarVisible := True;
	Layout := 'singlesort="C1:1"';
	EndUpdate();
end
717
Is it possible to view all events the control fires
// Event event - Notifies the application once the control fires an event.
procedure TForm1.Tree1Event(ASender: TObject; EventID : Integer);
begin
	with Tree1 do
	begin
		OutputDebugString( EventParam[-2] );
	end
end;

with Tree1 do
begin
	BeginUpdate();
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Tasks')) as EXTREELib_TLB.Column) do
	begin
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
		Def[EXTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
		FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)';
	end;
	HeaderVisible := True;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Null,'Task 1');
		SelectItem[hChild] := True;
		hChild := InsertItem(h,Null,'Task 2');
		CellState[OleVariant(hChild),OleVariant(0)] := 1;
		hChild := InsertItem(h,Null,'Task 3');
		CellState[OleVariant(hChild),OleVariant(0)] := 1;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
716
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.Tree1BeforeExpandItem(ASender: TObject; Item : HITEM; var Cancel : OleVariant);
begin
	with Tree1 do
	begin
		Cancel := Tree1.Items.ItemParent[Item];
	end
end;

with Tree1 do
begin
	BeginUpdate();
	SingleSel := False;
	Columns.Add('Default');
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(InsertItem(h,Null,'Child 1.1'),Null,'Child');
		InsertItem(h,Null,'Child 1.2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(InsertItem(h,Null,'Child 2.1'),Null,'Child');
		InsertItem(h,Null,'Child 2.2');
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
715
How can I display an item of picture type

with Tree1 do
begin
	BeginUpdate();
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	ScrollBySingleLine := False;
	HeaderAppearance := EXTREELib_TLB.Etched;
	HeaderHeight := 24;
	(IUnknown(Columns.Add('Artikel')) as EXTREELib_TLB.Column).HTMLCaption := '<u>Artikel';
	(IUnknown(Columns.Add('Waarde')) as EXTREELib_TLB.Column).HTMLCaption := '<u>Waarde';
	HTMLPicture['T22128'] := 'c:\exontrol\images\zipdisk.gif';
	with Items do
	begin
		h := AddItem('T22128-28)2D');
		h1 := InsertItem(h,Null,'<img>T22128:128</img>');
		CellCaptionFormat[OleVariant(h1),OleVariant(0)] := EXTREELib_TLB.exHTML;
		ItemHeight[h1] := 128;
		h1 := InsertItem(h,Null,'werkvoorbereiding');
		CellCaption[OleVariant(h1),OleVariant(1)] := '5.80';
		CellBold[OleVariant(h1),OleVariant(1)] := True;
		CellCaption[OleVariant(InsertItem(h1,Null,'Type')),OleVariant(1)] := 'Eenvoudig';
		CellCaption[OleVariant(InsertItem(h1,Null,'Prijs p/uur')),OleVariant(1)] := '60,00';
		CellCaption[OleVariant(InsertItem(h1,Null,'Marhe')),OleVariant(1)] := '15,00%';
		CellCaption[OleVariant(InsertItem(h1,Null,'Insteltijd min.')),OleVariant(1)] := '5,00';
		CellCaption[OleVariant(InsertItem(h1,Null,'Aantal')),OleVariant(1)] := OleVariant(1);
		CellCaption[OleVariant(InsertItem(h1,Null,'Kostprije')),OleVariant(1)] := '5,00';
		ExpandItem[h1] := True;
		h1 := InsertItem(h,Null,'materiall');
		CellCaption[OleVariant(h1),OleVariant(1)] := '14.82';
		CellBold[OleVariant(h1),OleVariant(1)] := True;
		ItemHasChildren[h1] := True;
		h1 := InsertItem(h,Null,'snijden');
		CellCaption[OleVariant(h1),OleVariant(1)] := '3.13';
		CellBold[OleVariant(h1),OleVariant(1)] := True;
		ItemHasChildren[h1] := True;
		ExpandItem[h] := True;
	end;
	EndUpdate();
end
714
Dark mode

with Tree1 do
begin
	BeginUpdate();
	back := 65536;
	fore := 16777215;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 
	'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 
	'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
	VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4bi' + 
	'aKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA');
	VisualAppearance.Add(3,'gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5Cj' + 
	'mG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKaxb' + 
	'buaaXLhGCYBgIA==');
	HeaderAppearance := EXTREELib_TLB.Bump;
	BackColor := back;
	BackColorHeader := back;
	BackColorLevelHeader := back;
	BackColorSortBar := back;
	BackColorSortBarCaption := back;
	FilterBarBackColor := back;
	FilterBarForeColor := fore;
	ForeColor := fore;
	ForeColorHeader := fore;
	ForeColorSortBar := fore;
	SelBackColor := fore;
	SelForeColor := back;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1000000;
	Background[EXTREELib_TLB.BackgroundPartEnum($10 Or Integer(EXTREELib_TLB.exCellButtonUp))] := $2000000;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXTREELib_TLB.exToolTipAppearance] := $3000000;
	Background[EXTREELib_TLB.exToolTipBackColor] := back;
	Background[EXTREELib_TLB.exToolTipForeColor] := fore;
	Background[EXTREELib_TLB.exSelBackColorFilter] := fore;
	Background[EXTREELib_TLB.exSelForeColorFilter] := back;
	Background[EXTREELib_TLB.exBackColorFilter] := back;
	Background[EXTREELib_TLB.exForeColorFilter] := fore;
	Background[EXTREELib_TLB.exSortBarLinkColor] := back;
	Background[EXTREELib_TLB.BackgroundPartEnum($80 Or Integer(EXTREELib_TLB.exDateSelect))] := $2000000;
	Background[EXTREELib_TLB.BackgroundPartEnum($80 Or Integer(EXTREELib_TLB.exDateSeparatorBar))] := $2000000;
	Background[EXTREELib_TLB.exTreeLinesColor] := fore;
	Description[EXTREELib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>';
	EndUpdate();
end
713
How can I specify the cell's outline, border or lines around, when the cell gets selected

with Tree1 do
begin
	BeginUpdate();
	AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' + 
	'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' + 
	'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' + 
	'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' + 
	'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
		Add(2,'CP:1 -4 0 0 0');
	end;
	SelBackColor := $2000000;
	SelForeColor := RGB(0,0,1);
	FullRowSelect := False;
	ShowFocusRect := False;
	DefaultItemHeight := 24;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exVLines;
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
		CellCaption[OleVariant(AddItem('Cell 3')),OleVariant(1)] := 'Cell 4';
	end;
	Items.SelectPos := OleVariant(1);
	SelectColumnIndex := 1;
	EndUpdate();
end
712
How can I specify the cell's outline, border or lines around, when the item gets selected

with Tree1 do
begin
	BeginUpdate();
	AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' + 
	'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' + 
	'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' + 
	'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' + 
	'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
	SelBackColor := $1000000;
	SelForeColor := RGB(0,0,1);
	ShowFocusRect := False;
	DefaultItemHeight := 24;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exVLines;
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
		CellCaption[OleVariant(AddItem('Cell 3')),OleVariant(1)] := 'Cell 4';
		SelectPos := OleVariant(1);
	end;
	EndUpdate();
end
711
How can I specify the cell's outline, border or lines around

with Tree1 do
begin
	BeginUpdate();
	AttachTemplate('handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}');
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wHI' + 
	'MQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCqO' + 
	'p6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZYn' + 
	'jUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgWY' + 
	'RoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA=');
	SelBackMode := EXTREELib_TLB.exTransparent;
	ShowFocusRect := False;
	DefaultItemHeight := 24;
	HeaderHeight := 24;
	DrawGridLines := EXTREELib_TLB.exVLines;
	Columns.Add('C1');
	Columns.Add('C2');
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Cell 1')),OleVariant(1)] := 'Cell 2';
		h := AddItem('Cell 2');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Cell 3';
		CellBackColor[OleVariant(h),OleVariant(1)] := $1000000;
	end;
	EndUpdate();
end
710
Is it possible to highligth the match while a filter is applied

// AddColumn event - Fired after a new column has been added.
procedure TForm1.Tree1AddColumn(ASender: TObject; Column : IColumn);
begin
	// Column.Def(17) = 1
end;

// FilterChange event - Notifies your application that the filter is changed.
procedure TForm1.Tree1FilterChange(ASender: TObject; );
begin
	with Tree1 do
	begin
		format := FormatABC('`value replace ''` + value + `'' with ''<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>''`',OleVariant(FilterBarPromptPattern),Null,Null);
		Columns.Item[OleVariant(0)].FormatColumn := format;
		Columns.Item[OleVariant(1)].FormatColumn := format;
	end
end;

with Tree1 do
begin
	BeginUpdate();
	DrawGridLines := EXTREELib_TLB.exVLines;
	HeaderAppearance := EXTREELib_TLB.Etched;
	Columns.Add('Col 1');
	Columns.Add('Col 2');
	with Items do
	begin
		CellCaption[OleVariant(AddItem('219 Smith')),OleVariant(1)] := 'Ignacio 1234';
		CellCaption[OleVariant(AddItem('1666 County Road 309A')),OleVariant(1)] := '897 Manassa';
		CellCaption[OleVariant(AddItem('38 Lone Pine')),OleVariant(1)] := 'Durango 11';
		CellCaption[OleVariant(AddItem('612 Jachim Street')),OleVariant(1)] := 'Lamar 222';
	end;
	FilterBarPromptPattern := '1';
	FilterBarPromptVisible := Integer(EXTREELib_TLB.exFilterBarCompact) Or Integer(EXTREELib_TLB.exFilterBarSingleLine) Or Integer(EXTREELib_TLB.exFilterBarVisible) Or Integer(EXTREELib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := Integer(EXTREELib_TLB.exFilterPromptCaseSensitive) Or Integer(EXTREELib_TLB.exFilterPromptContainsAll);
	EndUpdate();
end
709
Is it possible to highlight the column's header once a filter is applied (sample 2)

with Tree1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwSA' + 
	'sXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbDM' + 
	'RwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZwX' + 
	'g+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGqD' + 
	'BoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA=');
		Add(2,'gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQFi' + 
	'6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIKA' + 
	'T4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QBH' + 
	'AmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBaB' + 
	'ZhggZgagaYRoEwShWA6NZZAMQBAICA==');
	end;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1000000;
	Background[EXTREELib_TLB.exHeaderFilterBarActive] := $2000000;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	HeaderHeight := 28;
	BackColorHeader := RGB(255,255,255);
	DrawGridLines := EXTREELib_TLB.exRowLines;
	HeaderVisible := True;
	with Columns do
	begin
		(IUnknown(Add('C1')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
		with (IUnknown(Add('C2')) as EXTREELib_TLB.Column) do
		begin
			DisplayFilterButton := True;
			Filter := 'Item 2';
			FilterType := EXTREELib_TLB.exFilter;
		end;
		(IUnknown(Add('C3')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
	end;
	with Items do
	begin
		h := AddItem('Item 1');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Item 2';
		CellCaption[OleVariant(h),OleVariant(2)] := 'Item 3';
		h := AddItem('Item 4');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Item 5';
		CellCaption[OleVariant(h),OleVariant(2)] := 'Item 6';
	end;
	ApplyFilter();
	EndUpdate();
end
708
How can I make the expand/collapse glyphs DPI aware

with Tree1 do
begin
	size := 2;
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(3,'gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQcC' + 
	'QAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBKc' + 
	'RQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJr' + 
	'nSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGYG' + 
	'oGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQpF' + 
	'IVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJZ' + 
	'nloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA==');
		Add(4,'gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhYI' + 
	'gAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyVY' + 
	'ghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDxT' + 
	'iGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FYF' + 
	'oFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAhaF' + 
	'KFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWRY' + 
	'OiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA==');
		Add(1,Tree1.FormatABC('`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null));
		Add(2,Tree1.FormatABC('`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)',OleVariant(size),Null,Null));
	end;
	LinesAtRoot := EXTREELib_TLB.exGroupLinesAtRoot;
	HasButtons := EXTREELib_TLB.exCustom;
	HasButtonsCustom[False] := 16777216;
	HasButtonsCustom[True] := 33554432;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
	EndUpdate();
end
707
Is it possible to highlight the column's header once a filter is applied (sample 1)

with Tree1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' + 
	'0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' + 
	'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' + 
	'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' + 
	'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' + 
	'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=');
		Add(1,'CP:2 -8 -4 2 4');
	end;
	Background[EXTREELib_TLB.exHeaderFilterBarButton] := $1fefefe;
	Background[EXTREELib_TLB.exHeaderFilterBarActive] := $1010101;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	HeaderHeight := 28;
	BackColorHeader := RGB(255,255,255);
	DrawGridLines := EXTREELib_TLB.exRowLines;
	HeaderVisible := True;
	with Columns do
	begin
		(IUnknown(Add('C1')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
		with (IUnknown(Add('C2')) as EXTREELib_TLB.Column) do
		begin
			DisplayFilterButton := True;
			Filter := 'Item 2';
			FilterType := EXTREELib_TLB.exFilter;
		end;
		(IUnknown(Add('C3')) as EXTREELib_TLB.Column).DisplayFilterButton := True;
	end;
	with Items do
	begin
		h := AddItem('Item 1');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Item 2';
		CellCaption[OleVariant(h),OleVariant(2)] := 'Item 3';
		h := AddItem('Item 4');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Item 5';
		CellCaption[OleVariant(h),OleVariant(2)] := 'Item 6';
	end;
	ApplyFilter();
	EndUpdate();
end
706
Is it possible to show the filterbar on top of the rows

with Tree1 do
begin
	BeginUpdate();
	FilterBarPromptVisible := EXTREELib_TLB.exFilterBarTop;
	HeaderHeight := 24;
	FilterBarHeight := HeaderHeight;
	HeaderAppearance := EXTREELib_TLB.Flat;
	DrawGridLines := EXTREELib_TLB.exAllLines;
	GridLineStyle := EXTREELib_TLB.exGridLinesGeometric;
	with (IUnknown(Columns.Add('Column')) as EXTREELib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXTREELib_TLB.exPattern;
		Filter := 'B*';
	end;
	with (IUnknown(Columns.Add('Index')) as EXTREELib_TLB.Column) do
	begin
		FormatColumn := '1 index ``';
		Position := 0;
		Width := 48;
		AllowSizing := False;
		SortType := EXTREELib_TLB.SortNumeric;
		Def[EXTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
	end;
	with Items do
	begin
		AddItem('A.1');
		AddItem('A.2');
		AddItem('B.1');
		AddItem('B.2');
		AddItem('B.3');
		AddItem('C');
	end;
	ApplyFilter();
	EndUpdate();
end
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.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	with Tree1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		with Items do
		begin
			ExpandItem[i] := True;
		end;
	end
end;

// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	with Tree1 do
	begin
		AllowedEffects := 1;
	end
end;

with Tree1 do
begin
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABPUIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIaRjEEQDCKYcxHCaIBiGcaIfDEBIeSBHcgRbAcOQHGSZZBhGRJGj' + 
	'uKIbSrLICzBDUcRnGwAKQoaaaEomHwyAZOYwDAIoWhpKKCKjqWJKNb+XgAAJTES0RRVRTNAZ1YghGAQgIA==');
	Background[EXTREELib_TLB.exListOLEDropPosition] := $1000000;
	Background[EXTREELib_TLB.exDragDropBefore] := $0;
	Background[EXTREELib_TLB.exDragDropAfter] := $ffffff;
	OLEDropMode := EXTREELib_TLB.exOLEDropManual;
	AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	Indent := 16;
	SelBackMode := EXTREELib_TLB.exTransparent;
	Columns.Add('Default');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
	OutputDebugString( 'You can:' );
	OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
	OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
	OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
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.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	with Tree1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		with Items do
		begin
			ExpandItem[i] := True;
		end;
	end
end;

// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	with Tree1 do
	begin
		AllowedEffects := 1;
	end
end;

with Tree1 do
begin
	Background[EXTREELib_TLB.exDragDropBefore] := $0;
	Background[EXTREELib_TLB.exDragDropAfter] := $ffffff;
	OLEDropMode := EXTREELib_TLB.exOLEDropManual;
	AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	Indent := 16;
	SelBackMode := EXTREELib_TLB.exTransparent;
	Columns.Add('Default');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
	OutputDebugString( 'You can:' );
	OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
	OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
	OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
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.
procedure TForm1.Tree1OLEDragDrop(ASender: TObject; Data : IExDataObject; var Effect : Integer; Button : Smallint; Shift : Smallint; X : Integer; Y : Integer);
begin
	// SelectItem(InsertItem(i,, Data.GetData(1))) = True
	with Tree1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		with Items do
		begin
			ExpandItem[i] := True;
		end;
	end
end;

// OLEStartDrag event - Occurs when the OLEDrag method is called.
procedure TForm1.Tree1OLEStartDrag(ASender: TObject; Data : IExDataObject; var AllowedEffects : Integer);
begin
	// Data.SetData(Me.Items.CellCaption(FocusItem, 0), 1)
	with Tree1 do
	begin
		AllowedEffects := 1;
	end
end;

with Tree1 do
begin
	OLEDropMode := EXTREELib_TLB.exOLEDropManual;
	AutoDrag := EXTREELib_TLB.exAutoDragPositionAnyOnRight;
	LinesAtRoot := EXTREELib_TLB.exLinesAtRoot;
	Indent := 16;
	SelBackMode := EXTREELib_TLB.exTransparent;
	Columns.Add('Default');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
	end;
	OutputDebugString( 'You can:' );
	OutputDebugString( 'A) left-click to drag and drop items between controls (open a new exhelper and run the same sample)' );
	OutputDebugString( 'B) right-click to re-arrange the item position inside the same control' );
	OutputDebugString( 'This sample shows how you can insert the data being dropped as a child of the item being hovered.' );
end
702
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	with Columns do
	begin
		Add('Item');
		with (IUnknown(Add('Pos')) as EXTREELib_TLB.Column) do
		begin
			Position := 0;
			Width := 32;
			AllowSizing := False;
			FormatColumn := '1 index ``';
			AllowSort := False;
			AllowDragging := False;
		end;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	EndUpdate();
end
701
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

with Tree1 do
begin
	BeginUpdate();
	HeaderAppearance := EXTREELib_TLB.Etched;
	Background[EXTREELib_TLB.exCursorHoverColumn] := $ffffffff;
	with Columns do
	begin
		Add('Item');
		with (IUnknown(Add('Pos')) as EXTREELib_TLB.Column) do
		begin
			Position := 0;
			Width := 32;
			AllowSizing := False;
			FormatColumn := '1 index ``';
			AllowSort := False;
			AllowDragging := False;
		end;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	EndUpdate();
end