584
How can I enable the clear-button (visible only if required and focused)
with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := 3;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
583
How can I enable the clear-button (visible only if focused)
with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := 2;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
582
Change the clear-button appearance

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'XP:Window 19 1');
		Add(2,'XP:Window 19 3');
	end;
	Background[EXCOMBOBOXLib_TLB.exClearButtonUp] := $1000000;
	Background[EXCOMBOBOXLib_TLB.exClearButtonDown] := $2000000;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := 1;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
581
How can I enable the clear-button (always visible)

with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := -1;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
580
How can I enable the clear-button (visible only if required)

with ComboBox1 do
begin
	BeginUpdate();
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	HeaderVisible := False;
	IntegralHeight := True;
	ShowClearButton := 1;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Zero');
		AddItem('One');
		AddItem('Two');
	end;
	Select[OleVariant(0)] := 'Zero';
	EndUpdate();
end
579
Is it possible to Click or Double Click on any area of the combo to force the dropdown list to open
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
procedure TForm1.ComboBox1Click(ASender: TObject; );
begin
	with ComboBox1 do
	begin
		OutputDebugString( DropDown[Null] );
		DropDown[Null] := True;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	IntegralHeight := True;
	Columns.Add('P1');
	with Items do
	begin
		h := AddItem('Root');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		SelectItem[h] := True;
	end;
	EndUpdate();
end
578
How do I assign a database to your control, using ADO, ADOR or ADODB objects (MDB,JET)

with ComboBox1 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.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\SAMPLE.MDB',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	EndUpdate();
end
577
Re-order the cell's caption, icons and images/pictures

with ComboBox1 do
begin
	BeginUpdate();
	IntegralHeight := True;
	Images('gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 
	'Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc' + 
	'D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB');
	with (IUnknown(Columns.Add('ToLeft')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
	end;
	with (IUnknown(Columns.Add('ToRight')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		Def[EXCOMBOBOXLib_TLB.exCellDrawPartsOrder] := 'caption,picture,icons,icon,check';
	end;
	DefaultItemHeight := 32;
	DrawGridLines := EXCOMBOBOXLib_TLB.exVLines;
	HeaderAppearance := EXCOMBOBOXLib_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(ComboBox1.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)] := EXCOMBOBOXLib_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)] := EXCOMBOBOXLib_TLB.exHTML;
		CellImage[OleVariant(h),OleVariant(0)] := 2;
		CellImages[OleVariant(h),OleVariant(0)] := '1,2';
		CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(ComboBox1.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)] := EXCOMBOBOXLib_TLB.exHTML;
		CellHAlignment[OleVariant(h),OleVariant(1)] := EXCOMBOBOXLib_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
576
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.ComboBox1AddColumn(ASender: TObject; Column : IColumn);
begin
	// Column.Def(48) = 2
	// Column.Def(49) = 2
end;

with ComboBox1 do
begin
	BeginUpdate();
	ImageSize := 32;
	LabelHeight := 36;
	DefaultItemHeight := 36;
	HeaderHeight := DefaultItemHeight;
	SortBarHeight := DefaultItemHeight;
	Font.Size := 16;
	FilterBarFont.Size := ComboBox1.Font.Size;
	ToolTipFont.Size := ComboBox1.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;
	HeaderBackColor := $4c6c6c6;
	SelBackColor := $4000000;
	SelForeColor := RGB(0,0,1);
	CheckImage[EXCOMBOBOXLib_TLB.Unchecked] := 16777216;
	CheckImage[EXCOMBOBOXLib_TLB.Checked] := 33554432;
	CheckImage[EXCOMBOBOXLib_TLB.PartialChecked] := 50331648;
	Background[EXCOMBOBOXLib_TLB.exSelBackColorFilter] := SelBackColor;
	Background[EXCOMBOBOXLib_TLB.exSelForeColorFilter] := SelForeColor;
	Background[EXCOMBOBOXLib_TLB.exBackColorFilter] := BackColor;
	Background[EXCOMBOBOXLib_TLB.exForeColorFilter] := ForeColor;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $4000000;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarActive] := $4010101;
	Background[EXCOMBOBOXLib_TLB.exFooterFilterBarButton] := $40000ff;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	ShowFocusRect := False;
	SortBarVisible := True;
	BackColorSortBar := BackColor;
	BackColorLevelHeader := BackColor;
	FilterBarDropDownHeight := 1;
	IntegralHeight := True;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
		Width := 128;
		DisplayFilterButton := True;
		FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 pos ``';
		AllowSort := False;
		Width := 48;
		AllowSizing := False;
		Alignment := EXCOMBOBOXLib_TLB.CenterAlignment;
		HeaderAlignment := EXCOMBOBOXLib_TLB.CenterAlignment;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		Width := 128;
		HeaderImage := 1;
	end;
	with (IUnknown(Columns.Add('Images')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_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] := EXCOMBOBOXLib_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
575
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.ComboBox1AddColumn(ASender: TObject; Column : IColumn);
begin
	// Column.Def(48) = 2
	// Column.Def(49) = 2
end;

with ComboBox1 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;
	HeaderBackColor := $4c6c6c6;
	SelBackColor := $4000000;
	SelForeColor := RGB(0,0,1);
	Background[EXCOMBOBOXLib_TLB.exSelBackColorFilter] := SelBackColor;
	Background[EXCOMBOBOXLib_TLB.exSelForeColorFilter] := SelForeColor;
	Background[EXCOMBOBOXLib_TLB.exBackColorFilter] := BackColor;
	Background[EXCOMBOBOXLib_TLB.exForeColorFilter] := ForeColor;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $4000000;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarActive] := $4010101;
	Background[EXCOMBOBOXLib_TLB.exFooterFilterBarButton] := $40000ff;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	ShowFocusRect := False;
	SortBarVisible := True;
	BackColorSortBar := BackColor;
	BackColorLevelHeader := BackColor;
	FilterBarDropDownHeight := 1;
	IntegralHeight := True;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
		Width := 128;
		DisplayFilterButton := True;
		FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 pos ``';
		AllowSort := False;
		Width := 48;
		AllowSizing := False;
		Alignment := EXCOMBOBOXLib_TLB.CenterAlignment;
		HeaderAlignment := EXCOMBOBOXLib_TLB.CenterAlignment;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		Width := 128;
		HeaderImage := 1;
	end;
	with (IUnknown(Columns.Add('Images')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_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] := EXCOMBOBOXLib_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
574
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.ComboBox1AddColumn(ASender: TObject; Column : IColumn);
begin
	with ComboBox1 do
	begin
		with Column do
		begin
		end;
	end
end;

with ComboBox1 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\ExComboBox\Sample\Access\sample.accdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Columns.Item['ShipVia'].Position := 2;
	EndUpdate();
end
573
Can I limit the number of characters the user can type into, similar with text-box's MaxLength property
with ComboBox1 do
begin
	(IUnknown(Columns.Add('Max 2 chars')) as EXCOMBOBOXLib_TLB.Column).EditMaxLength := 2;
	AutoSearch := False;
	AutoComplete := False;
end
572
Is it possible to change the visual appearance of the drop down button (method 3, theme)

with ComboBox1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'XP: COMBOBOX 1 1');
	VisualAppearance.Add(2,'XP: COMBOBOX 1 3');
	Background[EXCOMBOBOXLib_TLB.exDropDownButtonUp] := $1000000;
	Background[EXCOMBOBOXLib_TLB.exDropDownButtonDown] := $2000000;
	Columns.Add('Default');
	EndUpdate();
end
571
Is it possible to change the visual appearance of the drop down button (method 2, ebn)

with ComboBox1 do
begin
	BeginUpdate();
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABKYCg6AADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjGKsIhsGIbJAGQBJCjWGodQLOEgzNC' + 
	'0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwTJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3a' + 
	'ioOpLZrqOZZYzYFoRFYNTTJMTLcZifBsEoib4qSxMVaDPQWNT3CTIMQve4IEyGQ6jDDVOjYfqmDzTPAALLFUaNYzoOKyABMHATBIXAY7BIIOQ1HgHNBwJAAczzcTSBIA' + 
	'BECQoBoTBnEOKZIkuJYFEMCBElgXBoG0CQUHKIB8huYBiDUEYtAkA4Ol+D5PmWdJ7nyHh/iKCQ8iYWwWkWY5aAIfgfFgFgEgGXxoCSbR+g8N5wFMCABnCDgQAiX54AYA' + 
	'4CiCCAaBgfhfjedgTBgBZhggVQVEWCBOBWAIPGgZgqgcIJYHoEQYEWcYMniDJPFOUJ1giYhYEYJ8siidgMgOIQ4kIMoMmASJWDeCQiGgAgogYY54jgI4QiMM5iCsOxkG' + 
	'iYhJgWIoYjIQILmMGRGAQNpNjMcJjhiZBYloVoOiSKAKCAGIkBkdhEgKJgDHAMgMEMcJkDgD4mDODhlhGY4QgwbgbEcAxElANBnnGQhehwJgZkwN4EmEOZaHiGQgikGB' + 
	'pBoRozGSWS5jmRoKgSSJiDiEAgEgEgOg2HZnhkTgZiaJxIEyDwjkkF5Qn6K5qAqCgRiOKhYG4PYqCiOBGiuKxrGqPJ+iwag6D4eotiuCoqiyKYfCqepAiyahKECbYxGu' + 
	'KwejaFJsiqBpBh4YRbBqPIPGyCAWlWLICDoTBrDsLhCgiIgpC2W4mkmK5JmIdIfDwbwDi2bxAlAECAg=');
	Background[EXCOMBOBOXLib_TLB.exDropDownButtonUp] := $1f0f0f0;
	Background[EXCOMBOBOXLib_TLB.exDropDownButtonDown] := $1666666;
	Columns.Add('Default');
	EndUpdate();
end
570
Is it possible to change the visual appearance of the drop down button (method 1, no visual theme)

with ComboBox1 do
begin
	BeginUpdate();
	UseVisualTheme := EXCOMBOBOXLib_TLB.exNoVisualTheme;
	Columns.Add('Default');
	EndUpdate();
end
569
Is it possible to highlight the column's header once a filter is applied

with ComboBox1 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[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $1fefefe;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarActive] := $1010101;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	HeaderHeight := 28;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	HeaderVisible := True;
	with Columns do
	begin
		(IUnknown(Add('C1')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
		with (IUnknown(Add('C2')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			DisplayFilterButton := True;
			Filter := 'Item 2';
			FilterType := EXCOMBOBOXLib_TLB.exFilter;
		end;
		(IUnknown(Add('C3')) as EXCOMBOBOXLib_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
568
How do I change the drop down filter icon/button (black)

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 
	'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 
	'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
	end;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $1000000;
	Background[EXCOMBOBOXLib_TLB.exBackColorFilter] := $10000;
	Background[EXCOMBOBOXLib_TLB.exForeColorFilter] := $ffffff;
	Description[EXCOMBOBOXLib_TLB.exFilterBarExclude] := '<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>';
	HeaderAppearance := EXCOMBOBOXLib_TLB.None2;
	HeaderBackColor := RGB(0,0,0);
	HeaderForeColor := RGB(255,255,255);
	HeaderVisible := True;
	with (IUnknown(Columns.Add('Filter')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
	end;
	with Items do
	begin
		AddItem('One');
		AddItem('Two');
		AddItem('Three');
	end;
	EndUpdate();
end
567
Can I customize the count of selected items, shown on the right side of the control's label (multiple-selection)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	SingleSel := False;
	SingleEdit := True;
	LabelColumnIndex := 0;
	SelBackColor := RGB(51,153,255);
	SelForeColor := RGB(255,255,255);
	LabelText := '<bgcolor=3399FF><fgcolor=FFFFFF> %c </fgcolor></bgcolor>';
	with Columns do
	begin
		Add('Column');
		Add('Sub-Column');
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item 1')),OleVariant(1)] := 'SubItem 1.1';
		CellCaption[OleVariant(AddItem('Item 2')),OleVariant(1)] := 'SubItem 2.1';
		CellCaption[OleVariant(AddItem('Item 3')),OleVariant(1)] := 'SubItem 3.1';
		CellCaption[OleVariant(AddItem('Item 4')),OleVariant(1)] := 'SubItem 4.1';
		SelectItem[ItemByIndex[1]] := True;
		SelectItem[ItemByIndex[3]] := True;
	end;
	EndUpdate();
end
566
Is it possible to hide the count of selected items, shown on the right side of the control's label (multiple-selection)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	SingleSel := False;
	SingleEdit := True;
	LabelColumnIndex := 0;
	SelBackColor := RGB(51,153,255);
	SelForeColor := RGB(255,255,255);
	LabelText := ' ';
	with Columns do
	begin
		Add('Column');
		Add('Sub-Column');
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item 1')),OleVariant(1)] := 'SubItem 1.1';
		CellCaption[OleVariant(AddItem('Item 2')),OleVariant(1)] := 'SubItem 2.1';
		CellCaption[OleVariant(AddItem('Item 3')),OleVariant(1)] := 'SubItem 3.1';
		CellCaption[OleVariant(AddItem('Item 4')),OleVariant(1)] := 'SubItem 4.1';
		SelectItem[ItemByIndex[1]] := True;
		SelectItem[ItemByIndex[3]] := True;
	end;
	EndUpdate();
end
565
Does your control support multiple-selection

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Style := EXCOMBOBOXLib_TLB.DropDownList;
	SingleSel := False;
	SingleEdit := True;
	LabelColumnIndex := 0;
	with Columns do
	begin
		Add('Column');
		Add('Sub-Column');
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item 1')),OleVariant(1)] := 'SubItem 1.1';
		CellCaption[OleVariant(AddItem('Item 2')),OleVariant(1)] := 'SubItem 2.1';
		CellCaption[OleVariant(AddItem('Item 3')),OleVariant(1)] := 'SubItem 3.1';
		CellCaption[OleVariant(AddItem('Item 4')),OleVariant(1)] := 'SubItem 4.1';
		SelectItem[ItemByIndex[1]] := True;
		SelectItem[ItemByIndex[3]] := True;
	end;
	EndUpdate();
end
564
Is it possible to show the filterbar on top of the rows

with ComboBox1 do
begin
	BeginUpdate();
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarTop;
	HeaderHeight := 24;
	FilterBarHeight := HeaderHeight;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Flat;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesGeometric;
	ColumnAutoResize := True;
	with (IUnknown(Columns.Add('Column')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exPattern;
		Filter := 'B*';
	end;
	with (IUnknown(Columns.Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 index ``';
		Position := 0;
		Width := 48;
		AllowSizing := False;
		SortType := EXCOMBOBOXLib_TLB.SortNumeric;
		Def[EXCOMBOBOXLib_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
563
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header (non-clickable)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	with Columns do
	begin
		Add('Item');
		with (IUnknown(Add('Pos')) as EXCOMBOBOXLib_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
562
Is there anyway to stop the header changing colour when the mouse hovers/moves across the column header

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	with Columns do
	begin
		Add('Item');
		with (IUnknown(Add('Pos')) as EXCOMBOBOXLib_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
561
How I can programmatically select a row (method 2)

with ComboBox1 do
begin
	BeginUpdate();
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Item 1');
		AddItem('Item 2');
		AddItem('Item 3');
	end;
	Value := 'Item 2';
	EndUpdate();
end
560
How I can programmatically select a row (with regular combobox I can set the ListIndex right up to Listcount -1)

with ComboBox1 do
begin
	BeginUpdate();
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Item 1');
		AddItem('Item 2');
		AddItem('Item 3');
		SelectItem[ItemByIndex[1]] := True;
	end;
	EndUpdate();
end
559
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.ComboBox1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with ComboBox1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		OutputDebugString( i );
		OutputDebugString( Items.ItemData[i] );
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	Columns.Add('Default');
	with Items do
	begin
		ItemData[AddItem('method 1')] := 'your extra data of method 1';
		InsertItem(0,'your extra data of method 2','method 2');
	end;
	with Items do
	begin
		DefaultItem := AddItem('method 3');
		ItemData[0] := 'your extra data of method 3';
	end;
	EndUpdate();
end
558
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

with ComboBox1 do
begin
	BeginUpdate();
	AttachTemplate('handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}');
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	GridLineStyle := EXCOMBOBOXLib_TLB.exGridLinesVSolid;
	with Columns do
	begin
		Add('Item');
		with (IUnknown(Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Position := 0;
			Width := 32;
			AllowSizing := False;
			FormatColumn := '1 index ``';
		end;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	EndUpdate();
end
557
Can I sort the column by check-state

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		SortType := EXCOMBOBOXLib_TLB.exSortByState;
	end;
	with Items do
	begin
		AddItem(Null);
		CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		CellState[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		AddItem(Null);
	end;
	Columns.Item[OleVariant(0)].SortOrder := EXCOMBOBOXLib_TLB.SortAscending;
	EndUpdate();
end
556
Can I sort the column by image

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		SortType := EXCOMBOBOXLib_TLB.exSortByImage;
	end;
	with Items do
	begin
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 3;
		AddItem(Null);
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 1;
		CellImage[OleVariant(AddItem(Null)),OleVariant(0)] := 2;
	end;
	Columns.Item[OleVariant(0)].SortOrder := EXCOMBOBOXLib_TLB.SortAscending;
	EndUpdate();
end
555
How can I build a "virtual" tree using your control

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.ComboBox1BeforeExpandItem(ASender: TObject; Item : HITEM;var Cancel : OleVariant);
begin
	with ComboBox1 do
	begin
		with Items do
		begin
			ItemHasChildren[InsertItem(Item,Null,'new')] := True;
		end;
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	Style := EXCOMBOBOXLib_TLB.DropDown;
	Columns.Add('Def');
	with Items do
	begin
		AddItem('Item 1');
		ItemHasChildren[AddItem('Item 2')] := True;
		AddItem('Item 3');
	end;
	Value := 'Item 2';
	EndUpdate();
end
554
How can I display UNICODE characters

with ComboBox1 do
begin
	BeginUpdate();
	with Font do
	begin
		Name := 'Arial Unicode';
		Size := 22;
	end;
	HeaderVisible := False;
	DefaultItemHeight := 48;
	(IUnknown(Columns.Add('')) as EXCOMBOBOXLib_TLB.Column).Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
	with Items do
	begin
		AddItem('Ӓӓ');
		AddItem('ᦜᦝ;ᦞ');
		AddItem('ɮɭ;ɯ');
		AddItem('勳勴勵勶');
		FormatCell[OleVariant(AddItem(OleVariant(ComboBox1.Version))),OleVariant(0)] := '(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` ';
	end;
	EndUpdate();
end
553
How do I display the position of the item with 0-padding

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Items')) as EXCOMBOBOXLib_TLB.Column).FormatColumn := '((1 apos ``) lpad `00`) + `. `  + value';
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
		AddItem('Item D');
	end;
	EndUpdate();
end
552
Is it possible to configure different colour/icon when there is a active filter

// FilterChange event - Occurs when filter was changed.
procedure TForm1.ComboBox1FilterChange(ASender: TObject; );
begin
	with ComboBox1 do
	begin
		Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := FormatABC('value = 0 ? 0x1000001 : 0x10000FF ',OleVariant(Columns.Item[OleVariant(0)].FilterType),Null,Null);
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		RenderType := -16777216;
		Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 
	'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 
	'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
	end;
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	ShowFocusRect := False;
	Background[EXCOMBOBOXLib_TLB.exHeaderFilterBarButton] := $1000001;
	Background[EXCOMBOBOXLib_TLB.exCursorHoverColumn] := $ffffffff;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	HeaderVisible := True;
	with (IUnknown(Columns.Add('Filter')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
		FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	with Columns.Item[OleVariant(0)] do
	begin
		Filter := 'Item B';
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
	end;
	ApplyFilter();
	EndUpdate();
end
551
Why can’t I type free text into a DropDown style combobox

with ComboBox1 do
begin
	AutoComplete := False;
	IntegralHeight := True;
	Columns.Add('Column');
	with Items do
	begin
		AddItem('Item 3');
		AddItem('Item 1');
		AddItem('Item 2');
	end;
end
550
I am calling Value to change the selected value, but the selection is not visible, unless I scroll to it

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',1,1,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10311);
	with Items do
	begin
		EnsureVisibleItem(FocusItem);
	end;
	EndUpdate();
end
549
How can I create a new ADO recordset

with ComboBox1 do
begin
	BeginUpdate();
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Fields.Append('A',8,Null,Null,Null);
		Fields.Append('B',8,Null,Null,Null);
		Open(Null,Null,Null,Null,Null);
		AddNew(Null,Null);
		Fields.Item['A'].Value := 'Item A.1';
		Fields.Item['B'].Value := 'Item B.1';
		Update(Null,Null);
		AddNew(Null,Null);
		Fields.Item['A'].Value := 'Item A.2';
		Fields.Item['B'].Value := 'Item B.2';
		Update(Null,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := 'Item A.1';
	EndUpdate();
end
548
Do do I get the DAO version I have installed
with ComboBox1 do
begin
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.35'))) as DAO_TLB.PrivDBEngine).Version );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine).Version );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine).Version );
end
547
How do I get a list of interfaces the object implemenets

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2);
	end;
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.PropertiesList'))) as EXPROPERTIESLISTLib_TLB.PropertiesList).Interfaces[rs] );
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset2);
	Value := OleVariant(10248);
	EndUpdate();
end
546
Do do I get the ADO version I have installed
with ComboBox1 do
begin
	OutputDebugString( 'ADO Version:' );
	OutputDebugString( (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Connection'))) as ADODB_TLB.Connection).Version );
end
545
DAO, ACCDB, 120

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset2);
	Value := OleVariant(10248);
	EndUpdate();
end
544
DAO, MDB, 120

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.120'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := (IUnknown(OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null)) as DAO_TLB.Recordset2);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset2);
	Value := OleVariant(10248);
	EndUpdate();
end
543
DAO, MDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine) do
	begin
		rs := OpenDatabase('C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',Null,Null,Null).OpenRecordset('Orders',Null,Null,Null);
	end;
	DataSource := (IUnknown(rs) as DAO_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
542
ADODB, ACCDB, x64

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.accdb',1,1,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
541
ADOR, ACCDB

with ComboBox1 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\ExComboBox\Sample\Access\sample.accdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
540
ADODB, MDB

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := False;
	rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
	with rs do
	begin
		Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExComboBox\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
539
ADOR, MDB

with ComboBox1 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\ExComboBox\Sample\Access\sample.mdb',3,3,Null);
	end;
	DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
	Value := OleVariant(10248);
	EndUpdate();
end
538
Type of wraps the cell's caption support (Sample 2)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderSingleLine := False;
	HeaderHeight := 36;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	with Columns do
	begin
		with (IUnknown(Add('Single-Line (exCaptionSingleLine)')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(-1);
		end;
		with (IUnknown(Add('Word-Wrap (exCaptionWordWrap)')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(0);
			FormatColumn := '%0';
		end;
		with (IUnknown(Add('Break-Wrap (exCaptionBreakWrap)')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(1);
			FormatColumn := '%0';
		end;
	end;
	with Items do
	begin
		AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
		AddItem('This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.');
	end;
	EndUpdate();
end
537
Type of wraps the cell's caption support (Sample 1)

with ComboBox1 do
begin
	BeginUpdate();
	HeaderSingleLine := False;
	HeaderHeight := 36;
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	(IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column).Width := 128;
	with Items do
	begin
		h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
		h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
		h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionWordWrap;
		h := AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionBreakWrap;
		h := AddItem('This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.');
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionBreakWrap;
	end;
	EndUpdate();
end
536
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

with ComboBox1 do
begin
	BeginUpdate();
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	(IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column).Width := 128;
	with Items do
	begin
		CellSingleLine[OleVariant(AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.')),OleVariant(0)] := EXCOMBOBOXLib_TLB.exCaptionBreakWrap;
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
	end;
	EndUpdate();
end
535
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

with ComboBox1 do
begin
	BeginUpdate();
	DrawGridLines := EXCOMBOBOXLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	with (IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Width := 128;
		Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(1);
	end;
	with Items do
	begin
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
	end;
	EndUpdate();
end
534
Export Data in HTML format

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXCOMBOBOXLib_TLB.exFilterPromptContainsAny;
	with ConditionalFormats do
	begin
		Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
		with Add('%0 like `*child*`','child') do
		begin
			ForeColor := $8080ff;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
		with Add('%0 like `*B*`','b') do
		begin
			ForeColor := $ff0000;
			Bold := True;
			Italic := True;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
	end;
	with Columns do
	begin
		with (IUnknown(Add('Value')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 128;
			HTMLCaption := '<b>VA</b><r>sko';
		end;
		with (IUnknown(Add('APos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 apos ``';
			AllowSort := False;
			Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
			Def[EXCOMBOBOXLib_TLB.exCellForeColor] := OleVariant(8421504);
			Def[EXCOMBOBOXLib_TLB.exHeaderForeColor] := Def[EXCOMBOBOXLib_TLB.exCellForeColor];
			Position := 0;
		end;
		with (IUnknown(Add('RPos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 rpos ``';
			AllowSort := False;
			Position := 1;
		end;
		with (IUnknown(Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index ``';
			DisplayFilterButton := True;
			FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
			Position := 2;
		end;
		with (IUnknown(Add('Data 1')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `A-Z`';
			Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 2')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(False);
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 3')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
		end;
	end;
	with Items do
	begin
		h := AddItem('ParentA');
		InsertItem(h,Null,'Child A');
		InsertItem(h,Null,'Child B');
		CellState[OleVariant(h),OleVariant(4)] := 1;
		CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00;
		ExpandItem[h] := True;
		AddItem('Item A');
		h := AddItem('ParentB');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00;
		CellState[OleVariant(h),OleVariant(5)] := 1;
		AddItem('Item B');
		AddItem('Item C');
		AddItem('Item D');
		ExpandItem[h] := True;
	end;
	EndUpdate();
	sFile := 'c:/temp/export.html';
	Export(OleVariant(sFile),'vis');
	with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('InternetExplorer.Application'))) as SHDocVw_TLB.ShellBrowserWindow) do
	begin
	end;
end
533
Export Data in CSV format

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXCOMBOBOXLib_TLB.exAllLines;
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXCOMBOBOXLib_TLB.exFilterPromptContainsAny;
	with ConditionalFormats do
	begin
		Add('%0 like `*parent*`','parent').BackColor := $c0c0c0;
		with Add('%0 like `*child*`','child') do
		begin
			ForeColor := $8080ff;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
		with Add('%0 like `*B*`','b') do
		begin
			ForeColor := $ff0000;
			Bold := True;
			Italic := True;
			ApplyTo := EXCOMBOBOXLib_TLB.exFormatToColumns;
		end;
	end;
	with Columns do
	begin
		with (IUnknown(Add('Value')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			Width := 128;
			HTMLCaption := '<b>VA</b><r>sko';
		end;
		with (IUnknown(Add('APos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 apos ``';
			AllowSort := False;
			Def[EXCOMBOBOXLib_TLB.exCellBackColor] := OleVariant(15790320);
			Def[EXCOMBOBOXLib_TLB.exCellForeColor] := OleVariant(8421504);
			Def[EXCOMBOBOXLib_TLB.exHeaderForeColor] := Def[EXCOMBOBOXLib_TLB.exCellForeColor];
			Position := 0;
		end;
		with (IUnknown(Add('RPos')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 rpos ``';
			AllowSort := False;
			Position := 1;
		end;
		with (IUnknown(Add('Index')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index ``';
			DisplayFilterButton := True;
			FilterList := EXCOMBOBOXLib_TLB.exShowCheckBox;
			Position := 2;
		end;
		with (IUnknown(Add('Data 1')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `A-Z`';
			Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 2')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `AB` replace `A` with `<off -4>A</off>`';
			Def[EXCOMBOBOXLib_TLB.exCellSingleLine] := OleVariant(False);
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXCOMBOBOXLib_TLB.exCellHasRadioButton] := OleVariant(True);
		end;
		with (IUnknown(Add('Data 3')) as EXCOMBOBOXLib_TLB.Column) do
		begin
			FormatColumn := '0 index `CDC` replace `D` with `<b>D</b>`';
			Def[EXCOMBOBOXLib_TLB.exCellCaptionFormat] := OleVariant(1);
		end;
	end;
	with Items do
	begin
		h := AddItem('ParentA');
		InsertItem(h,Null,'Child A');
		InsertItem(h,Null,'Child B');
		CellState[OleVariant(h),OleVariant(4)] := 1;
		CellBackColor[OleVariant(InsertItem(h,Null,'Child C')),OleVariant(5)] := $ff00;
		ExpandItem[h] := True;
		AddItem('Item A');
		h := AddItem('ParentB');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		CellBackColor[OleVariant(InsertItem(h,Null,'Child 3')),OleVariant(5)] := $ff00;
		CellState[OleVariant(h),OleVariant(5)] := 1;
		AddItem('Item B');
		AddItem('Item C');
		AddItem('Item D');
		ExpandItem[h] := True;
	end;
	EndUpdate();
	OutputDebugString( Export('','vis') );
end
532
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

with ComboBox1 do
begin
	BeginUpdate();
	HeaderAppearance := EXCOMBOBOXLib_TLB.Etched;
	with Columns do
	begin
		Add('Column 1');
		Add('Column 2');
		Add('Column 3');
	end;
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVI' + 
	'UcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4a' + 
	'DhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBe' + 
	'EMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIB' + 
	'ICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokG' + 
	'KHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=');
		Add(2,'CP:1 0 -36 0 0');
	end;
	Background[EXCOMBOBOXLib_TLB.exColumnsPositionSign] := $2000000;
	EndUpdate();
end
531
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

with ComboBox1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	DefaultItemHeight := 20;
	VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY' + 
	'1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hh' + 
	'WfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6' + 
	'DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJ' + 
	'SEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0' + 
	'pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==');
	with (IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Position')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '1 rindex ``';
		Visible := False;
	end;
	with ConditionalFormats.Add('%C1 mod 2',Null) do
	begin
		BackColor := $1000000;
	end;
	with Items do
	begin
		AddItem('Item 1');
		AddItem('Item 2');
		AddItem('Item 3');
		AddItem('Item 4');
	end;
	EndUpdate();
end
530
How can I specify alternate background colors for each root item, similar with BackColorAlternate

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Default')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Position')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		FormatColumn := '( ( 1:=( ( 0:=(1 rpos '''') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )';
		Visible := False;
	end;
	with ConditionalFormats.Add('%C1 mod 2',Null) do
	begin
		BackColor := $f0f0f0;
	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');
		h := AddItem('Root 3');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
	end;
	EndUpdate();
end
529
FilterBarCaption ALL Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<' + 
	's>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchit' + 
	'emcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount ' + 
	'+ ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
528
FilterBarCaption ALL Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'all';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
527
FilterBarCaption ALLUI Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `' + 
	'[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( match' + 
	'itemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcoun' + 
	't + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
526
FilterBarCaption ALLUI Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'allui';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
525
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( avai' + 
	'lable replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with ``' + 
	' replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount ' + 
	'+ 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
524
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// InsertItem event - Occurs after a new item has been inserted to Items collection.
procedure TForm1.ComboBox1InsertItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
	end
end;

with ComboBox1 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=');
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXCOMBOBOXLib_TLB.exImage;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		h := AddItem('Item B');
		CellCaption[OleVariant(h),OleVariant(1)] := 'Sub-Item B';
		CellState[OleVariant(h),OleVariant(2)] := 1;
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value + ` ` + available';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
523
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B';
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := '(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ' + 
	'` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace' + 
	' `]` with ` </b></bgcolor></fgcolor>`';
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
522
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B';
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`';
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
521
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Col-1')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		CellCaption[OleVariant(AddItem('Item A')),OleVariant(1)] := 'Sub-Item A';
		CellCaption[OleVariant(AddItem('Item B')),OleVariant(1)] := 'Sub-Item B';
		CellCaption[OleVariant(AddItem('Item C')),OleVariant(1)] := 'Sub-Item C';
	end;
	Description[EXCOMBOBOXLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXCOMBOBOXLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`';
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
520
Is it possible to automatically displays the control's filter label to the right

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarCaption := '`<r>` + value';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarToggle);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
519
How can I get the number of results/items being shown in the control's filter bar (sample 4)

with ComboBox1 do
begin
	BeginUpdate();
	with (IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXCOMBOBOXLib_TLB.exShowExclude) Or Integer(EXCOMBOBOXLib_TLB.exShowFocusItem) Or Integer(EXCOMBOBOXLib_TLB.exShowCheckBox) Or Integer(EXCOMBOBOXLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarPrompt := FormatABC('`<b>` + value',OleVariant(FilterBarPrompt),Null,Null);
	FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + 
	' 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
518
How can I get the number of results being shown in the control's filter bar (sample 3)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount +' + 
	' 1) + ` result(s)` ) : ``)';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
517
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarCaption := '`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
516
How can I get the number of results being shown in the control's filter bar (sample 1)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
515
FilterBarCaption Predefined Keywords

// AfterExpandItem event - Fired after an item is expanded (collapsed).
procedure TForm1.ComboBox1AfterExpandItem(ASender: TObject; Item : HITEM);
begin
	with ComboBox1 do
	begin
		Refresh();
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	LinesAtRoot := EXCOMBOBOXLib_TLB.exLinesAtRoot;
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Check')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		Def[EXCOMBOBOXLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXCOMBOBOXLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		h := AddItem('Item B');
		CellState[OleVariant(InsertItem(h,Null,'Sub-Item B1')),OleVariant(1)] := 1;
		InsertItem(h,Null,'Sub-Item B2');
		ExpandItem[h] := True;
		AddItem('Item C');
	end;
	FilterInclude := EXCOMBOBOXLib_TLB.exItemsWithChilds;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarCaption := '`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i' + 
	'></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>:' + 
	' ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><' + 
	'i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i' + 
	'></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=80' + 
	'8080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + ' + 
	'`</fgcolor>`';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCaptionVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
514
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarFont := (IUnknown(Font) as stdole_TLB.StdFont);
	FilterBarCaption := '`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
513
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarToggle) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	FilterBarPrompt := FormatABC('`<r>` + value',OleVariant(FilterBarPrompt),Null,Null);
	EndUpdate();
end
512
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

with ComboBox1 do
begin
	BeginUpdate();
	RightToLeft := True;
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarToggle) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
511
How can I change the visual appearance of the filter bar's close button (EBN)

with ComboBox1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJj' + 
	'yI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmS' + 
	'ZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8ORO' + 
	'icbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2D' + 
	'YxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXA' + 
	'iAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJ' + 
	'DCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0' + 
	'TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAk' + 
	'jIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSM' + 
	'RsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQ' + 
	'HkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ');
	end;
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarToggle) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	Background[EXCOMBOBOXLib_TLB.exFooterFilterBarButton] := $1000000;
	EndUpdate();
end
510
How can I change the visual appearance of the filter bar's close button (solid)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarPromptVisible;
	Background[EXCOMBOBOXLib_TLB.exFooterFilterBarButton] := $ff;
	EndUpdate();
end
509
Is it possible to prevent definitely showing the filter bar's close button

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarPromptVisible;
	Background[EXCOMBOBOXLib_TLB.exFooterFilterBarButton] := $ffffffff;
	EndUpdate();
end
508
Is it possible to show the close button only if there is a filter applied

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
507
The control's filter bar is not closed once I click the close button (toggle)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
		LockedItemCount[EXCOMBOBOXLib_TLB.exBottom] := 1;
		h := LockedItem[EXCOMBOBOXLib_TLB.exBottom,0];
		ItemDivider[h] := 0;
		CellCaption[OleVariant(h),OleVariant(0)] := '<c><fgcolor=808080>Press the CTRL + F to turn on/off the control''s filter bar. ALT + Up/Down moves the focus.';
		CellCaptionFormat[OleVariant(h),OleVariant(0)] := EXCOMBOBOXLib_TLB.exHTML;
	end;
	FilterBarCaption := '`<r><fgcolor=808080>` + value';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarToggle) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
506
How can I display the control's filter on a single line

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarCaption := 'len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
505
How can I display the control's filter on a single line (prompt-combined)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarCaption := '`<r>` + value';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarCompact) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarSingleLine) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
504
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
procedure TForm1.ComboBox1Click(ASender: TObject; );
begin
	with ComboBox1 do
	begin
		ClearFilter();
	end
end;

// FilterChange event - Occurs when filter was changed.
procedure TForm1.ComboBox1FilterChange(ASender: TObject; );
begin
	with ComboBox1 do
	begin
		OutputDebugString( 'Items.MatchItemCount' );
		OutputDebugString( Items.MatchItemCount );
		OutputDebugString( FormatABC('value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`',Items.MatchItemCount,Null,Null) );
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'Item';
	EndUpdate();
end
503
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
procedure TForm1.ComboBox1Click(ASender: TObject; );
begin
	with ComboBox1 do
	begin
		ClearFilter();
	end
end;

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end
502
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXCOMBOBOXLib_TLB.exFilterBarVisible) Or Integer(EXCOMBOBOXLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXCOMBOBOXLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
501
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

with ComboBox1 do
begin
	BeginUpdate();
	(IUnknown(Columns.Add('Item')) as EXCOMBOBOXLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXCOMBOBOXLib_TLB.Column) do
	begin
		AllowSizing := False;
		AllowSort := False;
		Width := 32;
		FormatColumn := '1 apos ``';
		Position := 0;
	end;
	with Items do
	begin
		AddItem('Item A');
		AddItem('Item B');
		AddItem('Item C');
	end;
	FilterBarPromptVisible := EXCOMBOBOXLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end