21:
How do I get the caption of the cell/item from the point

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.ExplorerTree1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with ExplorerTree1 do
	begin
		with (IUnknown(GroupListFromPoint[-1,-1]) as _TLB.Object) do
		begin
		end;
	end
end;

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Group 1') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		Columns.Add('Number');
		(IUnknown(Columns.Add('Round')) as EXPLORERTREELib_TLB.Column).ComputedField := 'round(%0)';
		with Items do
		begin
			AddItem('-1.98');
			AddItem('0.99');
			AddItem('1.23');
			AddItem('2.34');
		end;
		Expanded := True;
	end;
	with Groups.Add('Group 2') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		Columns.Add('Number');
		(IUnknown(Columns.Add('Round')) as EXPLORERTREELib_TLB.Column).ComputedField := 'round(%0)';
		with Items do
		begin
			AddItem('-1.98');
			AddItem('0.99');
			AddItem('1.23');
			AddItem('2.34');
		end;
		Expanded := True;
	end;
	EndUpdate();
end
20:
How can I ensure that a specified item is visible

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups do
	begin
		with Add('Group') do
		begin
			Expanded := True;
			with Items do
			begin
				AddItem('Item');
				AddItem('Item');
				AddItem('Item');
				AddItem('Item');
			end;
			PutItems(GetItems(OleVariant(0)),OleVariant(0));
			PutItems(GetItems(OleVariant(0)),OleVariant(0));
			Items.AddItem('Ensure');
		end;
	end;
	with Groups.Item[OleVariant(0)].Items do
	begin
		h := ItemByIndex[16];
		ItemBackColor[h] := $ffff;
		EnsureVisibleItem(h);
	end;
	EndUpdate();
end
19:
is it possible to display icons in the control's shortcut bar

with ExplorerTree1 do
begin
	BeginUpdate();
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	ShowShortcutBar := True;
	with Groups do
	begin
		Add('Group A.1').Shortcut := '<img>1</img> First Group';
		Add('Group A.2').Shortcut := '<img>1</img> First Group';
		Add('Group B.1').Shortcut := '<img>2</img> Second Group';
		Add('Group B.2').Shortcut := '<img>2</img> Second Group';
		Add('Group B.3').Shortcut := '<img>2</img> Second Group';
	end;
	EndUpdate();
end
18:
How can I display the control's shortcut bar

with ExplorerTree1 do
begin
	BeginUpdate();
	ShowShortcutBar := True;
	with Groups do
	begin
		Add('Group A.1').Shortcut := 'A';
		Add('Group A.2').Shortcut := 'A';
		Add('Group B.1').Shortcut := 'B';
		Add('Group B.2').Shortcut := 'B';
		Add('Group B.3').Shortcut := 'B';
	end;
	EndUpdate();
end
17:
Can I display the cell's check box after the text

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		Expanded := True;
		with Columns.Item[OleVariant(0)] do
		begin
			Def[EXPLORERTREELib_TLB.exCellHasCheckBox] := OleVariant(True);
			Def[EXPLORERTREELib_TLB.exCellDrawPartsOrder] := 'caption,check';
		end;
		with Items do
		begin
			CellHasCheckBox[OleVariant(AddItem('Caption 1')),OleVariant(0)] := True;
			CellHasCheckBox[OleVariant(AddItem('Caption 2')),OleVariant(0)] := True;
		end;
	end;
	EndUpdate();
end
16:
Can I change the order of the parts in the cell, as checkbox after the text, and so on

with ExplorerTree1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		Expanded := True;
		Columns.Item[OleVariant(0)].Def[EXPLORERTREELib_TLB.exCellDrawPartsOrder] := 'caption,check,icon,icons,picture';
		with Items do
		begin
			h := AddItem('Text');
			CellImage[OleVariant(h),OleVariant(0)] := 1;
			CellHasCheckBox[OleVariant(h),OleVariant(0)] := True;
		end;
	end;
	EndUpdate();
end
15:
Can I have an image displayed after the text. Can I get that effect without using HTML content

with ExplorerTree1 do
begin
	Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 
	'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 
	'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=');
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		Expanded := True;
		Columns.Item[OleVariant(0)].Def[EXPLORERTREELib_TLB.exCellDrawPartsOrder] := 'caption,icon,check,icons,picture';
		with Items do
		begin
			h := AddItem('Text');
			CellImage[OleVariant(h),OleVariant(0)] := 1;
		end;
	end;
	EndUpdate();
end
14:
How do I enable the filter prompt feature

with ExplorerTree1 do
begin
	BeginUpdate();
	Groups.Add('Group 1');
	with Groups.Add('Group 2') do
	begin
		AutoHeight := True;
		HeaderVisible := True;
		Columns.Clear();
		ColumnAutoResize := True;
		ContinueColumnScroll := False;
		MarkSearchColumn := False;
		SearchColumnIndex := 1;
		FilterBarPromptVisible := True;
		with Columns do
		begin
			(IUnknown(Add('Name')) as EXPLORERTREELib_TLB.Column).Width := 96;
			(IUnknown(Add('Title')) as EXPLORERTREELib_TLB.Column).Width := 96;
			Add('City');
		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;
		Expanded := True;
	end;
	Groups.Add('Group 3');
	EndUpdate();
end
13:
Can I specify unsortable items

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		AutoHeight := True;
		HeaderVisible := True;
		Columns.Clear();
		HasLines := EXPLORERTREELib_TLB.exNoLine;
		ScrollBySingleLine := True;
		MarkSearchColumn := False;
		with Columns do
		begin
			Add('Name');
			Add('A');
			Add('B');
			Add('C');
		end;
		with Items do
		begin
			h := AddItem('Group 1');
			CellHAlignment[OleVariant(h),OleVariant(0)] := EXPLORERTREELib_TLB.CenterAlignment;
			ItemDivider[h] := 0;
			ItemDividerLineAlignment[h] := EXPLORERTREELib_TLB.DividerBoth;
			ItemHeight[h] := 24;
			SortableItem[h] := False;
			h1 := InsertItem(h,Null,'Child 1');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(1);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(2);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(3);
			h1 := InsertItem(h,Null,'Child 2');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(4);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(5);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(6);
			ExpandItem[h] := True;
			h := AddItem('Group 2');
			CellHAlignment[OleVariant(h),OleVariant(0)] := EXPLORERTREELib_TLB.CenterAlignment;
			ItemDivider[h] := 0;
			ItemDividerLineAlignment[h] := EXPLORERTREELib_TLB.DividerBoth;
			ItemHeight[h] := 24;
			SortableItem[h] := False;
			h1 := InsertItem(h,Null,'Child 1');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(1);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(2);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(3);
			h1 := InsertItem(h,Null,'Child 2');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(4);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(5);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(6);
			ExpandItem[h] := True;
		end;
		Expanded := True;
	end;
	EndUpdate();
end
12:
Can I change the style of the line being displayed by a divider item

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		MarkSearchColumn := False;
		TreeColumnIndex := -1;
		ScrollBySingleLine := False;
		Columns.Add('C1');
		Columns.Add('C2');
		SelBackMode := EXPLORERTREELib_TLB.exTransparent;
		with Items do
		begin
			h := AddItem('Cell 1');
			CellCaption[OleVariant(h),OleVariant(1)] := 'This is bit of text that''s shown on multiple lines. This is bit of text that''s shown on multiple lines.';
			CellSingleLine[OleVariant(h),OleVariant(1)] := False;
			h := AddItem('This is bit of text that''s displayed on the entire item, divider.');
			ItemDivider[h] := 0;
			ItemDividerLine[h] := EXPLORERTREELib_TLB.DoubleDotLine;
			ItemDividerLineAlignment[h] := EXPLORERTREELib_TLB.DividerBoth;
			CellHAlignment[OleVariant(h),OleVariant(0)] := EXPLORERTREELib_TLB.CenterAlignment;
			ItemHeight[h] := 24;
		end;
		Expanded := True;
	end;
	EndUpdate();
end
11:
How can I expand all items

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		LinesAtRoot := EXPLORERTREELib_TLB.exLinesAtRoot;
		Columns.Add('Items');
		with Items do
		begin
			h := AddItem('Root 1');
			InsertItem(h,Null,'Child 1');
			InsertItem(h,Null,'Child 2');
			h := AddItem('Root 2');
			InsertItem(h,Null,'Child 1');
			InsertItem(h,Null,'Child 2');
			ExpandItem[0] := True;
		end;
		Expanded := True;
	end;
	EndUpdate();
end
10:
Is it possible display numbers in the same format no matter of regional settings in the control panel

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		(IUnknown(Columns.Add('Def')) as EXPLORERTREELib_TLB.Column).Def[EXPLORERTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
		with Items do
		begin
			h := AddItem(OleVariant(100000.27));
			FormatCell[OleVariant(h),OleVariant(0)] := '(value format '''') +  '' <fgcolor=808080>(default positive)''';
			h := AddItem(OleVariant(100000.27));
			FormatCell[OleVariant(h),OleVariant(0)] := '(value format ''2|.|3|,|1|1'')';
			h := AddItem(OleVariant(-100000.27));
			FormatCell[OleVariant(h),OleVariant(0)] := '(value format '''') +  '' <fgcolor=808080>(default negative)''';
			h := AddItem(OleVariant(-100000.27));
			FormatCell[OleVariant(h),OleVariant(0)] := '(value format ''2|.|3|,|1|1'')';
		end;
		Expanded := True;
	end;
end
9:
Is it possible to format numbers

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		HeaderVisible := True;
		MarkSearchColumn := False;
		Columns.Clear();
		with Columns do
		begin
			Add('Name');
			with (IUnknown(Add('A')) as EXPLORERTREELib_TLB.Column) do
			begin
				SortType := EXPLORERTREELib_TLB.SortNumeric;
				AllowSizing := False;
				Width := 36;
				FormatColumn := 'len(value) ? value + '' +''';
			end;
			with (IUnknown(Add('B')) as EXPLORERTREELib_TLB.Column) do
			begin
				SortType := EXPLORERTREELib_TLB.SortNumeric;
				AllowSizing := False;
				Width := 36;
				FormatColumn := 'len(value) ? value + '' +''';
			end;
			with (IUnknown(Add('C')) as EXPLORERTREELib_TLB.Column) do
			begin
				SortType := EXPLORERTREELib_TLB.SortNumeric;
				AllowSizing := False;
				Width := 36;
				FormatColumn := 'len(value) ? value + '' =''';
			end;
			with (IUnknown(Add('A+B+C')) as EXPLORERTREELib_TLB.Column) do
			begin
				SortType := EXPLORERTREELib_TLB.SortNumeric;
				Width := 64;
				ComputedField := 'dbl(%1)+dbl(%2)+dbl(%3)';
				FormatColumn := 'type(value) in (0,1) ? ''null'' : ( dbl(value)<0 ? ''<fgcolor=FF0000>''+ (value format ''2|.|3|,|1'' ) : (dbl(value)>0 ? ''<fgcolor=000' + 
	'0FF>+''+(value format ''2|.|3|,'' ): ''0.00'') )';
				Def[EXPLORERTREELib_TLB.exCellCaptionFormat] := OleVariant(1);
			end;
		end;
		with Items do
		begin
			h := AddItem('Root');
			CellCaptionFormat[OleVariant(h),OleVariant(4)] := EXPLORERTREELib_TLB.exComputedField;
			h1 := InsertItem(h,Null,'Child 1');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(7);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(3);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(1);
			h1 := InsertItem(h,Null,'Child 2');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(-2);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(-2);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(-4);
			h1 := InsertItem(h,Null,'Child 3');
			CellCaption[OleVariant(h1),OleVariant(1)] := OleVariant(2);
			CellCaption[OleVariant(h1),OleVariant(2)] := OleVariant(2);
			CellCaption[OleVariant(h1),OleVariant(3)] := OleVariant(-4);
			ExpandItem[h] := True;
		end;
		Expanded := True;
	end;
	EndUpdate();
end
8:
Is there any function to round the values base on the .5 value

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		HeaderVisible := True;
		Columns.Clear();
		Columns.Add('Number');
		(IUnknown(Columns.Add('Round')) as EXPLORERTREELib_TLB.Column).ComputedField := 'round(%0)';
		with Items do
		begin
			AddItem('-1.98');
			AddItem('0.99');
			AddItem('1.23');
			AddItem('2.34');
		end;
		Expanded := True;
	end;
end
7:
How can I show a column that adds values in the cells

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		Columns.Clear();
		HeaderVisible := True;
		Columns.Add('A');
		Columns.Add('B');
		(IUnknown(Columns.Add('A+B')) as EXPLORERTREELib_TLB.Column).ComputedField := 'dbl(%0) + dbl(%1)';
		with Items do
		begin
			CellCaption[OleVariant(AddItem(OleVariant(1))),OleVariant(1)] := OleVariant(2);
		end;
		with Items do
		begin
			CellCaption[OleVariant(AddItem(OleVariant(10))),OleVariant(1)] := OleVariant(20);
		end;
		Expanded := True;
	end;
end
6:
How do I change the item's background color for numbers less than a value

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		ConditionalFormats.Add('dbl(%0) < 10',Null).BackColor := $ff;
		Items.AddItem(OleVariant(1));
		Items.AddItem(OleVariant(2));
		Items.AddItem(OleVariant(10));
		Items.AddItem(OleVariant(20));
		Expanded := True;
	end;
end
5:
How do I highlight in bold the numbers greater than a value

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		ConditionalFormats.Add('dbl(%0) >= 10',Null).Bold := True;
		Items.AddItem(OleVariant(1));
		Items.AddItem(OleVariant(2));
		Items.AddItem(OleVariant(10));
		Items.AddItem(OleVariant(20));
		Expanded := True;
	end;
end
4:
How do I change the caption being displayed in the control's filter bar

with ExplorerTree1 do
begin
	with Groups.Add('Default') do
	begin
		FilterBarCaption := 'your filter caption';
		with (IUnknown(Columns.Add('Column')) as EXPLORERTREELib_TLB.Column) do
		begin
			DisplayFilterButton := True;
			FilterType := EXPLORERTREELib_TLB.exBlanks;
		end;
		ApplyFilter();
		Expanded := True;
	end;
end
3:
Is it possible to change the style for the vertical or horizontal grid lines, in the list area

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		AutoHeight := True;
		DrawGridLines := EXPLORERTREELib_TLB.exAllLines;
		GridLineStyle := Integer(EXPLORERTREELib_TLB.exGridLinesVSolid) Or Integer(EXPLORERTREELib_TLB.exGridLinesHDot4);
		ColumnAutoResize := False;
		with Columns.Item[OleVariant(0)] do
		begin
			Caption := 'C1';
			Width := 64;
		end;
		Columns.Add('C2');
		Columns.Add('C3');
		ColumnAutoResize := True;
		with Items do
		begin
			h := AddItem('Item 1');
			CellCaption[OleVariant(h),OleVariant(1)] := 'SubItem 1.2';
			CellCaption[OleVariant(h),OleVariant(2)] := 'SubItem 1.3';
			h := AddItem('Item 2');
			CellCaption[OleVariant(h),OleVariant(1)] := 'SubItem 2.2';
			CellCaption[OleVariant(h),OleVariant(2)] := 'SubItem 2.3';
			h := AddItem('Item 3');
			CellCaption[OleVariant(h),OleVariant(1)] := 'SubItem 3.2';
			CellCaption[OleVariant(h),OleVariant(2)] := 'SubItem 3.3';
		end;
		Expanded := True;
	end;
	EndUpdate();
end
2:
Is it possible to change the style for the grid lines, for instance to be solid not dotted

with ExplorerTree1 do
begin
	BeginUpdate();
	with Groups.Add('Default') do
	begin
		DrawGridLines := EXPLORERTREELib_TLB.exAllLines;
		GridLineStyle := EXPLORERTREELib_TLB.exGridLinesSolid;
		Expanded := True;
	end;
	EndUpdate();
end
1:
How can I change the visual appearance for the groups, using your EBN files

with ExplorerTree1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
	BackColorGroup := $1000000;
	with Groups do
	begin
		Add('Group 1');
		Add('Group 2');
		Add('Group 3');
	end;
	EndUpdate();
end