957:
Type of wraps the cell's caption support (Sample 2)

with Gantt1 do
begin
	BeginUpdate();
	HeaderSingleLine := False;
	HeaderHeight := 36;
	DrawGridLines := EXGANTTLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	with Columns do
	begin
		with (IUnknown(Add('Single-Line (exCaptionSingleLine)')) as EXGANTTLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(-1);
		end;
		with (IUnknown(Add('Word-Wrap (exCaptionWordWrap)')) as EXGANTTLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXGANTTLib_TLB.exCellSingleLine] := OleVariant(0);
			FormatColumn := '%0';
		end;
		with (IUnknown(Add('Break-Wrap (exCaptionBreakWrap)')) as EXGANTTLib_TLB.Column) do
		begin
			Width := 96;
			Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
			Def[EXGANTTLib_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
956:
Type of wraps the cell's caption support (Sample 1)

with Gantt1 do
begin
	BeginUpdate();
	HeaderSingleLine := False;
	HeaderHeight := 36;
	DrawGridLines := EXGANTTLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	(IUnknown(Columns.Add('Default')) as EXGANTTLib_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)] := EXGANTTLib_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)] := EXGANTTLib_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)] := EXGANTTLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_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)] := EXGANTTLib_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)] := EXGANTTLib_TLB.exHTML;
		CellSingleLine[OleVariant(h),OleVariant(0)] := EXGANTTLib_TLB.exCaptionBreakWrap;
	end;
	EndUpdate();
end
955:
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

with Gantt1 do
begin
	BeginUpdate();
	DrawGridLines := EXGANTTLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	(IUnknown(Columns.Add('Default')) as EXGANTTLib_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)] := EXGANTTLib_TLB.exCaptionBreakWrap;
		AddItem('This is the first line.\r\nThis is the second line.\r\nThis is the third line.');
	end;
	EndUpdate();
end
954:
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

with Gantt1 do
begin
	BeginUpdate();
	DrawGridLines := EXGANTTLib_TLB.exRowLines;
	ColumnAutoResize := False;
	ScrollBySingleLine := True;
	with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do
	begin
		Width := 128;
		Def[EXGANTTLib_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
953:
How can I change the visual appearance/color of the Filter For ... field

with Gantt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	BackColorHeader := RGB(1,0,0);
	ForeColorHeader := RGB(255,255,255);
	Background[EXGANTTLib_TLB.exBackColorFilter] := BackColorHeader;
	Background[EXGANTTLib_TLB.exForeColorFilter] := ForeColorHeader;
	Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $f0f0f0;
	Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff;
	HeaderAppearance := EXGANTTLib_TLB.Bump;
	with (IUnknown(Columns.Add('Items')) as EXGANTTLib_TLB.Column) do
	begin
		FilterOnType := True;
		DisplayFilterButton := True;
		FilterList := EXGANTTLib_TLB.exNoItems;
	end;
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
	end;
	EndUpdate();
end
952:
How can I display the cell's caption without spaces on both sides

with Gantt1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
		FormatColumn := '((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`';
	end;
	with Items do
	begin
		AddItem('');
		AddItem('Item A');
		AddItem('    Item B');
		AddItem('        Item   C    ');
	end;
	EndUpdate();
end
951:
How can I highlight the spaces within the column (sample 2)

with Gantt1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
		FormatColumn := '`''` + ( value replace ` ` with `_` ) + `''`';
	end;
	with Items do
	begin
		AddItem('');
		AddItem('Item A');
		AddItem('    Item B');
		AddItem('        Item   C    ');
	end;
	EndUpdate();
end
950:
How can I highlight the spaces within the column (sample 1)

with Gantt1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
		FormatColumn := 'len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )';
	end;
	with Items do
	begin
		AddItem('');
		AddItem('Item A');
		AddItem('    Item B');
		AddItem('        Item   C    ');
	end;
	EndUpdate();
end
949:
How can I change the visual aspect of the drop down filter-calendar

with Gantt1 do
begin
	BeginUpdate();
	Background[EXGANTTLib_TLB.exBackColorFilter] := $10000;
	Background[EXGANTTLib_TLB.exForeColorFilter] := $ffffff;
	Background[EXGANTTLib_TLB.exDateScrollRange] := $ffffff;
	Background[EXGANTTLib_TLB.exDateHeader] := Background[EXGANTTLib_TLB.exBackColorFilter];
	Background[EXGANTTLib_TLB.exDateScrollThumb] := $808080;
	with (IUnknown(Columns.Add('Date')) as EXGANTTLib_TLB.Column) do
	begin
		FilterType := EXGANTTLib_TLB.exDate;
		DisplayFilterButton := True;
		DisplayFilterDate := True;
		DisplayFilterPattern := False;
	end;
	EndUpdate();
end
948:
Export Data in HTML format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		with Items do
		begin
			i := ItemToIndex[Item];
			AddBar(Item,'Task','1/2/2008','1/9/2008','',Null);
			ItemBar[Item,'',EXGANTTLib_TLB.exBarDuration] := OleVariant(i);
			ItemBar[Item,'',EXGANTTLib_TLB.exBarMove] := OleVariant(i);
			CellCaption[OleVariant(Item),OleVariant(1)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarStart];
			CellCaption[OleVariant(Item),OleVariant(2)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarEnd];
		end;
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXGANTTLib_TLB.exAllLines;
	HeaderAppearance := EXGANTTLib_TLB.Etched;
	Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXGANTTLib_TLB.exFilterPromptContainsAny;
	DrawGridLines := EXGANTTLib_TLB.exAllLines;
	with Chart do
	begin
		DrawGridLines := EXGANTTLib_TLB.exAllLines;
		PaneWidth[False] := 196;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2008';
		FirstWeekDay := EXGANTTLib_TLB.exMonday;
	end;
	with ConditionalFormats.Add('(%2 - %1) = 3','K3') do
	begin
		ForeColor := $ff;
		BarColor := ForeColor;
		ApplyToBars := 'Task';
	end;
	with ConditionalFormats.Add('(%2 - %1) = 5','K5') do
	begin
		ForeColor := $ff00;
		BarColor := ForeColor;
		ApplyToBars := 'Task';
	end;
	with Columns do
	begin
		(IUnknown(Add('Tasks')) as EXGANTTLib_TLB.Column).Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		Add('Start');
		Add('End');
	end;
	with Items do
	begin
		AddItem('Task 1');
		AddItem('Task 2');
		AddItem('Task 3');
		AddItem('Task 4');
		AddItem('Task 5');
		AddItem('Task 6');
		AddItem('Task 7');
		AddItem('Task 8');
	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
		Navigate2(sFile,Null,Null,Null,Null);
	end;
end
947:
Export Data in CSV format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		with Items do
		begin
			i := ItemToIndex[Item];
			AddBar(Item,'Task','1/2/2008','1/9/2008','',Null);
			ItemBar[Item,'',EXGANTTLib_TLB.exBarDuration] := OleVariant(i);
			ItemBar[Item,'',EXGANTTLib_TLB.exBarMove] := OleVariant(i);
			CellCaption[OleVariant(Item),OleVariant(1)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarStart];
			CellCaption[OleVariant(Item),OleVariant(2)] := ItemBar[Item,'',EXGANTTLib_TLB.exBarEnd];
		end;
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	BackColorAlternate := RGB(240,240,240);
	DrawGridLines := EXGANTTLib_TLB.exAllLines;
	HeaderAppearance := EXGANTTLib_TLB.Etched;
	Description[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	FilterBarPromptType := EXGANTTLib_TLB.exFilterPromptContainsAny;
	with Chart do
	begin
		PaneWidth[False] := 196;
		LevelCount := 2;
		FirstVisibleDate := '1/1/2008';
	end;
	with ConditionalFormats.Add('(%2 - %1) = 3','K3') do
	begin
		ForeColor := $ff;
		BarColor := ForeColor;
		ApplyToBars := 'Task';
	end;
	with ConditionalFormats.Add('(%2 - %1) = 5','K5') do
	begin
		ForeColor := $ff00;
		BarColor := ForeColor;
		ApplyToBars := 'Task';
	end;
	with Columns do
	begin
		(IUnknown(Add('Tasks')) as EXGANTTLib_TLB.Column).Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		Add('Start');
		Add('End');
	end;
	with Items do
	begin
		AddItem('Task 1');
		AddItem('Task 2');
		AddItem('Task 3');
		AddItem('Task 4');
		AddItem('Task 5');
		AddItem('Task 6');
		AddItem('Task 7');
		AddItem('Task 8');
	end;
	EndUpdate();
	OutputDebugString( Export('','vis') );
end
946:
Is it possible to check multiple-items at once
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		bHasParent := FormatABC('value != 0',Items.ItemParent[Item],Null,Null);
		with Items do
		begin
			CellHasCheckBox[OleVariant(Item),OleVariant(0)] := False;
		end;
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Tasks')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellCaptionFormat] := OleVariant(1);
		FormatColumn := 'value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)';
	end;
	HeaderVisible := True;
	SingleSel := False;
	with Items do
	begin
		h := AddItem('Project');
		hChild := InsertItem(h,Null,'Task 1');
		hChild := InsertItem(h,Null,'Task 2');
		hChild := InsertItem(h,Null,'Task 3');
		ExpandItem[h] := True;
		LockedItemCount[EXGANTTLib_TLB.TopAlignment] := 1;
		CellCaption[OleVariant(LockedItem[EXGANTTLib_TLB.TopAlignment,0]),OleVariant(0)] := '<c>Select multiple items and press the <b>SPACE</b> key';
	end;
	EndUpdate();
end
945:
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with Gantt1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`',OleVariant(hit),Items.CellImages[OleVariant(i),OleVariant(c)],Null) );
	end
end;

with Gantt1 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=');
	Chart.PaneWidth[True] := 0;
	Columns.Add('Default');
	with Items do
	begin
		CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1';
		CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3';
		CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2,';
	end;
	EndUpdate();
end
944:
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.Gantt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
	with Gantt1 do
	begin
		i := ItemFromPoint[-1,-1,c,hit];
		OutputDebugString( FormatABC('( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`',OleVariant(hit),Null,Null) );
	end
end;

with Gantt1 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=');
	Chart.PaneWidth[True] := 0;
	Columns.Add('Default');
	with Items do
	begin
		CellImages[OleVariant(AddItem('Item 1')),OleVariant(0)] := '3,2,1';
		CellImages[OleVariant(AddItem('Item 2')),OleVariant(0)] := '2,3';
		CellImages[OleVariant(AddItem('Item 3')),OleVariant(0)] := '2';
	end;
	EndUpdate();
end
943:
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
with Gantt1 do
begin
	BeginUpdate();
	HeaderAppearance := EXGANTTLib_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[EXGANTTLib_TLB.exColumnsPositionSign] := $2000000;
	EndUpdate();
end
942:
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

with Gantt1 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 EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Position')) as EXGANTTLib_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
941:
How can I specify alternate background colors for each root item, similar with BackColorAlternate

with Gantt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	with (IUnknown(Columns.Add('Default')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		PartialCheck := True;
	end;
	with (IUnknown(Columns.Add('Position')) as EXGANTTLib_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
940:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

with Gantt1 do
begin
	BeginUpdate();
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	VisualDesign := 'gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcT' + 
	'SBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiC' + 
	'QQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4b' + 
	'g2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N' + 
	'4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhgh' + 
	'WDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMh' + 
	'Ag6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOgglo' + 
	'Foqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTK' + 
	'MszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhF' + 
	'kXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEg' + 
	'EYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxS' + 
	'CxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNUB' + 
	'oQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=';
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
	EndUpdate();
end
939:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

with Gantt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(3,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 
	'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 
	'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 
	'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 
	'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 
	'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 
	'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=');
		Add(1,'CP:3 -2 -2 2 2');
		Add(4,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 
	'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 
	'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 
	'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 
	'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 
	'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 
	'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=');
		Add(2,'CP:4 -2 -2 2 2');
	end;
	LinesAtRoot := EXGANTTLib_TLB.exGroupLinesAtRoot;
	HasButtons := EXGANTTLib_TLB.exCustom;
	HasButtonsCustom[False] := 16777216;
	HasButtonsCustom[True] := 33554432;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
	EndUpdate();
end
938:
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

with Gantt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'XP:TREEVIEW 2 1');
		Add(2,'XP:TREEVIEW 2 2');
	end;
	Background[EXGANTTLib_TLB.exTreeGlyphOpen] := $1000000;
	Background[EXGANTTLib_TLB.exTreeGlyphClose] := $2000000;
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
	EndUpdate();
end
937:
How can I find if the control is running in DPI mode
with Gantt1 do
begin
	OutputDebugString( FormatABC('dpi = 1 ? `normal/stretch mode` : `dpi mode`',Null,Null,Null) );
end
936:
How can I change the visual appearance of the +/- buttons (method 1)

with Gantt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 
	'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 
	'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 
	'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgX' + 
	'IcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRg' + 
	'wZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMI' + 
	'NCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=');
		Add(2,'gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSB' + 
	'cQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfD' + 
	'xXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4l' + 
	'lWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEe' + 
	'Bkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOF' + 
	'SFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJ' + 
	'tDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=');
	end;
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	Background[EXGANTTLib_TLB.exTreeGlyphOpen] := $1000000;
	Background[EXGANTTLib_TLB.exTreeGlyphClose] := $2000000;
	Columns.Add('Column');
	with Items do
	begin
		h := AddItem('Root 1');
		InsertItem(h,Null,'Child 1');
		InsertItem(h,Null,'Child 2');
		ExpandItem[h] := True;
		h := AddItem('Root 2');
		InsertItem(h,Null,'Child');
	end;
	EndUpdate();
end
935:
How can I display the control's filter bar in the Items section only, as it was displayed before

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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;
	FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarShort;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXGANTTLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
934:
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
933:
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'all';
	FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
932:
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
931:
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'allui';
	FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
930:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
929:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		i := FormatABC('value + 1',Items.ItemToIndex[Item],Null,Null);
		Items.CellImage[OleVariant(Item),OleVariant(3)] := i;
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Image')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterType := EXGANTTLib_TLB.exImage;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080> ` + value + ` </fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value + ` ` + available';
	FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	Columns.Item[OleVariant(2)].Filter := 1;
	ApplyFilter();
	EndUpdate();
end
928:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXGANTTLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
927:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`';
	FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXGANTTLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
926:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Col-1')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Col-2')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.exFilterBarAnd] := FormatABC('`<fgcolor=808080>` + value + `</fgcolor>`',OleVariant(Description[EXGANTTLib_TLB.exFilterBarAnd]),Null,Null);
	FilterBarCaption := 'value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`';
	FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarToggle;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	with Columns.Item[OleVariant(1)] do
	begin
		FilterType := EXGANTTLib_TLB.exPattern;
		Filter := '*B';
	end;
	ApplyFilter();
	EndUpdate();
end
925:
Is it possible to automatically displays the control's filter label to the right

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarToggle);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
924:
How can I get the number of results/items being shown in the control's filter bar (sample 4)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	with (IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		FilterList := Integer(EXGANTTLib_TLB.exShowExclude) Or Integer(EXGANTTLib_TLB.exShowFocusItem) Or Integer(EXGANTTLib_TLB.exShowCheckBox) Or Integer(EXGANTTLib_TLB.exSortItemsAsc);
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
923:
How can I get the number of results being shown in the control's filter bar (sample 3)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
922:
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
921:
How can I get the number of results being shown in the control's filter bar (sample 1)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
920:
FilterBarCaption Predefined Keywords

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

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

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Check')) as EXGANTTLib_TLB.Column) do
	begin
		Def[EXGANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
		DisplayFilterButton := True;
		DisplayFilterPattern := False;
		FilterType := EXGANTTLib_TLB.exCheck;
	end;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
919:
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

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
918:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarShowCloseOnRight) Or Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	FilterBarPrompt := FormatABC('`<r>` + value',OleVariant(FilterBarPrompt),Null,Null);
	EndUpdate();
end
917:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	RightToLeft := True;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
916:
How can I change the visual appearance of the filter bar's close button (EBN)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	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 EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $1000000;
	EndUpdate();
end
915:
How can I change the visual appearance of the filter bar's close button (solid)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarPromptVisible;
	Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $ff;
	EndUpdate();
end
914:
Is it possible to prevent definitely showing the filter bar's close button

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarPromptVisible;
	Background[EXGANTTLib_TLB.exFooterFilterBarButton] := $ffffffff;
	EndUpdate();
end
913:
Is it possible to show the close button only if there is a filter applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarShowCloseIfRequired) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	EndUpdate();
end
912:
The control's filter bar is not closed once I click the close button (toggle)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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[EXGANTTLib_TLB.BottomAlignment] := 1;
		h := LockedItem[EXGANTTLib_TLB.BottomAlignment,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)] := EXGANTTLib_TLB.exHTML;
	end;
	FilterBarCaption := '`<r><fgcolor=808080>` + value';
	FilterBarPromptPattern := 'B';
	FilterBarPromptVisible := Integer(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarToggle) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
911:
How can I display the control's filter on a single line

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
910:
How can I display the control's filter on a single line (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarCompact) Or Integer(EXGANTTLib_TLB.exFilterBarSingleLine) Or Integer(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item A|Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
909:
How can I get the number of results after a filter is applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

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

// FilterChange event - Occurs when the filter was changed.
procedure TForm1.Gantt1FilterChange(ASender: TObject; );
begin
	with Gantt1 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 Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'Item';
	EndUpdate();
end
908:
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

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

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end
907:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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(EXGANTTLib_TLB.exFilterBarVisible) Or Integer(EXGANTTLib_TLB.exFilterBarPromptVisible);
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
906:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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 := EXGANTTLib_TLB.exFilterBarPromptVisible;
	FilterBarPromptPattern := 'B';
	EndUpdate();
end
905:
Is it possible to prevent closing the control's filter bar, so it is always shown

// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.Gantt1AddItem(ASender: TObject; Item : HITEM);
begin
	with Gantt1 do
	begin
		Items.AddBar(Item,'Task','12/4/2017','12/14/2017',Null,Null);
	end
end;

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		LevelCount := 2;
		FirstVisibleDate := '12/2/2017';
		PaneWidth[False] := 256;
	end;
	(IUnknown(Columns.Add('Item')) as EXGANTTLib_TLB.Column).DisplayFilterButton := True;
	with (IUnknown(Columns.Add('Pos')) as EXGANTTLib_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) = 0 ? `<fgcolor=808080>no filter` : value';
	FilterBarPromptVisible := EXGANTTLib_TLB.exFilterBarVisible;
	with Columns.Item[OleVariant(0)] do
	begin
		FilterType := EXGANTTLib_TLB.exFilter;
		Filter := 'Item B';
	end;
	ApplyFilter();
	EndUpdate();
end
904:
How do I change the drop down filter icon/button (black)

with Gantt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(1,'gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQg' + 
	'mPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThd' + 
	'r4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA');
	end;
	Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000;
	Background[EXGANTTLib_TLB.exCursorHoverColumn] := $ffffffff;
	Background[EXGANTTLib_TLB.exSplitBar] := $f0f0f0;
	HeaderAppearance := EXGANTTLib_TLB.None2;
	BackColorHeader := RGB(0,0,0);
	ForeColorHeader := RGB(255,255,255);
	HeaderVisible := True;
	BackColorLevelHeader := BackColor;
	with (IUnknown(Columns.Add('Filter')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
	end;
	with Chart do
	begin
		PaneWidth[False] := 196;
		LevelCount := 2;
		BackColorLevelHeader := Gantt1.BackColorHeader;
		ForeColorLevelHeader := Gantt1.ForeColorHeader;
	end;
	EndUpdate();
end
903:
How do I change the drop down filter icon/button (white)

with Gantt1 do
begin
	BeginUpdate();
	with VisualAppearance do
	begin
		Add(2,'gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgANJ' + 
	'0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8YN' + 
	'YuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4h' + 
	'hKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mgb' + 
	'hOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhWB' + 
	'MJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=');
		Add(1,'CP:2 -4 -4 2 4');
	end;
	Background[EXGANTTLib_TLB.exHeaderFilterBarButton] := $1000000;
	Background[EXGANTTLib_TLB.exCursorHoverColumn] := BackColor;
	HeaderAppearance := EXGANTTLib_TLB.None2;
	BackColorHeader := RGB(255,255,255);
	BackColorLevelHeader := BackColor;
	HeaderHeight := 24;
	HeaderVisible := True;
	with Chart do
	begin
		PaneWidth[False] := 196;
		LevelCount := 2;
		BackColorLevelHeader := Gantt1.BackColorHeader;
		ForeColorLevelHeader := Gantt1.ForeColorHeader;
	end;
	with (IUnknown(Columns.Add('Filter')) as EXGANTTLib_TLB.Column) do
	begin
		DisplayFilterButton := True;
		AllowSort := False;
		AllowDragging := False;
	end;
	EndUpdate();
end
902:
How can I display the week-number in ISO8601 format

with Gantt1 do
begin
	BeginUpdate();
	with Chart do
	begin
		PaneWidth[False] := 0;
		LevelCount := 2;
		FirstVisibleDate := '12/12/2007';
		DrawGridLines := EXGANTTLib_TLB.exAllLines;
		UnitScale := EXGANTTLib_TLB.exWeek;
		WeekNumberAs := EXGANTTLib_TLB.exISO8601WeekNumber;
		FirstWeekDay := EXGANTTLib_TLB.exMonday;
	end;
	EndUpdate();
end
901:
How can I include the child items, when a filter is applied

with Gantt1 do
begin
	BeginUpdate();
	ColumnAutoResize := True;
	ContinueColumnScroll := False;
	MarkSearchColumn := False;
	SearchColumnIndex := 1;
	Indent := 16;
	LinesAtRoot := EXGANTTLib_TLB.exLinesAtRoot;
	FilterBarPromptVisible := True;
	FilterBarPromptPattern := 'Nancy';
	FilterInclude := EXGANTTLib_TLB.exItemsWithChilds;
	Chart.LevelCount := 2;
	with Columns do
	begin
		(IUnknown(Add('Name')) as EXGANTTLib_TLB.Column).Width := 96;
		(IUnknown(Add('Title')) as EXGANTTLib_TLB.Column).Width := 96;
		Add('City');
	end;
	with Items do
	begin
		h0 := AddItem('Nancy Davolio');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Seattle';
		h0 := InsertItem(h0,Null,'Andrew Fuller');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Tacoma';
		h0 := InsertItem(h0,Null,'Michael Suyama');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'London';
		h0 := AddItem('Janet Leverling');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Kirkland';
		h0 := InsertItem(h0,Null,'Margaret Peacock');
		CellCaption[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
		CellCaption[OleVariant(h0),OleVariant(2)] := 'Redmond';
	end;
	ApplyFilter();
	EndUpdate();
end