1002
Highlight the leaf items

Gantt1->BeginUpdate();
Gantt1->ConditionalFormats->Add(L"%CC0=0",TNoParam())->ForeColor = RGB(128,128,128);
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->HeaderHeight = 24;
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item")->Width = 16;
	var_Columns->Add(L"Desc");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long hR = var_Items->AddItem(TVariant("Root"));
	var_Items->set_CellCaption(TVariant(hR),TVariant(1),TVariant("The root directory /"));
	long h = var_Items->InsertItem(hR,TNoParam(),TVariant("Home"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The home directory with user directories Alice and Bob"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Alice"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Bob"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Etc"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The etc directory with one configuration file"));
	h = var_Items->InsertItem(h,TNoParam(),TVariant("nginx.conf"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(hR,TNoParam(),TVariant("Var"))),TVariant(1),TVariant("The var directory"));
	var_Items->set_ExpandItem(hR,true);
Gantt1->EndUpdate();

1001
Highlight the parent items

Gantt1->BeginUpdate();
Gantt1->ConditionalFormats->Add(L"%CC0",TNoParam())->ForeColor = RGB(255,0,0);
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->HeaderHeight = 24;
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item")->Width = 16;
	var_Columns->Add(L"Desc");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long hR = var_Items->AddItem(TVariant("Root"));
	var_Items->set_CellCaption(TVariant(hR),TVariant(1),TVariant("The root directory /"));
	long h = var_Items->InsertItem(hR,TNoParam(),TVariant("Home"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The home directory with user directories Alice and Bob"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Alice"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Bob"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Etc"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The etc directory with one configuration file"));
	h = var_Items->InsertItem(h,TNoParam(),TVariant("nginx.conf"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(hR,TNoParam(),TVariant("Var"))),TVariant(1),TVariant("The var directory"));
	var_Items->set_ExpandItem(hR,true);
Gantt1->EndUpdate();

1000
Highlight the item being expanded or collapsed

Gantt1->BeginUpdate();
Gantt1->ConditionalFormats->Add(L"%CX0",TNoParam())->Bold = true;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->HeaderHeight = 24;
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item")->Width = 16;
	var_Columns->Add(L"Desc");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long hR = var_Items->AddItem(TVariant("Root"));
	var_Items->set_CellCaption(TVariant(hR),TVariant(1),TVariant("The root directory /"));
	long h = var_Items->InsertItem(hR,TNoParam(),TVariant("Home"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The home directory with user directories Alice and Bob"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Alice"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Bob"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Etc"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("The etc directory with one configuration file"));
	h = var_Items->InsertItem(h,TNoParam(),TVariant("nginx.conf"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(hR,TNoParam(),TVariant("Var"))),TVariant(1),TVariant("The var directory"));
	var_Items->set_ExpandItem(hR,true);
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->OnResizeControl = Exganttlib_tlb::OnResizeControlEnum::exResizeChart;
Gantt1->SortBarVisible = true;
Gantt1->SortBarCaption = L"<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)";
Gantt1->HeaderEnabled = false;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->Columns->Add(L"Index")->FormatColumn = L"1 index ``";
Gantt1->Columns->Add(L"Pos")->FormatColumn = L"1 apos ``";
Gantt1->Columns->Add(L"Edit");
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->GridLineColor = RGB(224,224,224);
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,28).operator double()));
	var_Chart->set_PaneWidth(false,196);
	var_Chart->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
	var_Chart->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
	Exganttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(1);
		var_Level->DrawGridLines = true;
		var_Level->GridLineColor = Gantt1->GridLineColor;
Gantt1->EndUpdate();

998
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
void __fastcall TForm1::Gantt1AnchorClick(TObject *Sender,BSTR   AnchorID,BSTR   Options)
{
	OutputDebugString( L"AnchorID" );
}

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->TreeColumnIndex = -1;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
Gantt1->BackColorAlternate = RGB(240,240,240);
Gantt1->ShowFocusRect = false;
Gantt1->Columns->Add(L"Default");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("before item"));
	long h = var_Items->AddItem(TVariant(String("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4Aj") +
"MGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAEB" +
"A==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DAB" +
"vABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>	" +
"650;</a><br>+ withdraw(amount: Currency)"));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->AddItem(TVariant("after item"));
Gantt1->EndUpdate();

997
Expandable-caption

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->TreeColumnIndex = -1;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
Gantt1->BackColorAlternate = RGB(240,240,240);
Gantt1->ShowFocusRect = false;
Gantt1->Columns->Add(L"Default");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("before item"));
	long h = var_Items->AddItem(TVariant("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3"));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->AddItem(TVariant("after item"));
Gantt1->EndUpdate();

996
Force hover-all feature
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exScrollHoverAll] = -1;

995
Disable hover-all feature (Windows 11 or greater)
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exScrollHoverAll] = RGB(1,0,0);

994
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::Gantt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	Gantt1->ShowToolTip(L"new content",TVariant(""),TNoParam(),TVariant("+8"),TVariant("+8"));
}


993
Shows the tooltip of the object moved relative to its default position
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::Gantt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	Gantt1->ShowToolTip(L"<null>",TVariant("<null>"),TNoParam(),TVariant("+8"),TVariant("+8"));
}

Gantt1->ColumnAutoResize = false;
Gantt1->Columns->Add(L"tootip")->ToolTip = L"this is a tooltip assigned to a column";

992
How do I prevent changing the cell's state ( check-box state )
// CellStateChanging event - Fired before cell's state is about to be changed.
void __fastcall TForm1::Gantt1CellStateChanging(TObject *Sender,Exganttlib_tlb::HITEM   Item,long   ColIndex,long *   NewState)
{
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		NewState = var_Items->get_CellState(TVariant(Item),TVariant(ColIndex));
}

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"P1");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"P2");
	var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column1->PartialCheck = true;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
Gantt1->EndUpdate();

991
Highlight the match once the filter is applied

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::Gantt1FilterChange(TObject *Sender)
{
	TVariant format = TVariant(Gantt1->FormatABC(L"`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",TVariant(Gantt1->FilterBarPromptPattern),TNoParam(),TNoParam()));
	Gantt1->Columns->get_Item(TVariant(0))->FormatColumn = L"format";
	Gantt1->Columns->get_Item(TVariant(1))->FormatColumn = L"format";
	Gantt1->Columns->get_Item(TVariant(2))->FormatColumn = L"format";
}

Gantt1->BeginUpdate();
Gantt1->SelBackColor = Gantt1->BackColor;
Gantt1->SelForeColor = Gantt1->ForeColor;
Gantt1->ColumnAutoResize = true;
Gantt1->ContinueColumnScroll = false;
Gantt1->MarkSearchColumn = false;
Gantt1->SearchColumnIndex = 1;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->HeaderHeight = 23;
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Gantt1->FilterBarCaption = L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarBackColor = Gantt1->BackColor;
Gantt1->FilterBarPromptPattern = L"and";
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Name");
		var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column->FormatColumn = L"lower(value)";
	Exganttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Title");
		var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column1->FormatColumn = L"lower(value)";
	Exganttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"City");
		var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column2->FormatColumn = L"lower(value)";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h0 = var_Items->AddItem(TVariant("Nancy Davolio"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Seattle"));
	h0 = var_Items->AddItem(TVariant("Andrew Fuller"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Vice President, Sales"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Tacoma"));
	var_Items->set_SelectItem(h0,true);
	h0 = var_Items->AddItem(TVariant("Janet Leverling"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Kirkland"));
	h0 = var_Items->AddItem(TVariant("Margaret Peacock"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Redmond"));
	h0 = var_Items->AddItem(TVariant("Steven Buchanan"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Manager"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("London"));
	h0 = var_Items->AddItem(TVariant("Michael Suyama"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("London"));
	h0 = var_Items->AddItem(TVariant("Robert King"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("London"));
	h0 = var_Items->AddItem(TVariant("Laura Callahan"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Inside Sales Coordinator"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Seattle"));
	h0 = var_Items->AddItem(TVariant("Anne Dodsworth"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("London"));
Gantt1->EndUpdate();

990
ADOR, MDB (JET)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		var_Items->AddBar(Item,TVariant("Task"),TVariant(var_Items->get_CellCaption(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellCaption(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_PaneWidth(false,256);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,10).operator double()));
	var_Chart->LevelCount = 2;
Gantt1->ColumnAutoResize = false;
Gantt1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Gantt1->DataSource = (IDispatch*)rs;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->Images(TVariant(String("gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmD" +
"cD/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB"));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"ToLeft");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"ToRight");
	var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellDrawPartsOrder,TVariant("caption,picture,icons,icon,check"));
Gantt1->DefaultItemHeight = 32;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Caption"));
	var_Items->set_CellImage(TVariant(h),TVariant(0),2);
	var_Items->set_CellImages(TVariant(h),TVariant(0),TVariant("1,2"));
	var_Items->set_CellPicture(TVariant(h),TVariant(0),Gantt1->ExecuteTemplate(TVariant(String("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") +
"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`)")));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant(var_Items->get_CellCaption(TVariant(h),TVariant(0))));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(1),Exganttlib_tlb::AlignmentEnum::RightAlignment);
	var_Items->set_CellImage(TVariant(h),TVariant(1),var_Items->get_CellImage(TVariant(h),TVariant(0)));
	var_Items->set_CellImages(TVariant(h),TVariant(1),TVariant("2,1"));
	var_Items->set_CellPicture(TVariant(h),TVariant(1),var_Items->get_CellPicture(TVariant(h),TVariant(0)));
	h = var_Items->AddItem(TVariant("<b>HTML</b> <off 4>Caption"));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellImage(TVariant(h),TVariant(0),2);
	var_Items->set_CellImages(TVariant(h),TVariant(0),TVariant("1,2"));
	var_Items->set_CellPicture(TVariant(h),TVariant(0),Gantt1->ExecuteTemplate(TVariant(String("loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLs") +
"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`)")));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant(var_Items->get_CellCaption(TVariant(h),TVariant(0))));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(1),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellHAlignment(TVariant(h),TVariant(1),Exganttlib_tlb::AlignmentEnum::RightAlignment);
	var_Items->set_CellImage(TVariant(h),TVariant(1),var_Items->get_CellImage(TVariant(h),TVariant(0)));
	var_Items->set_CellImages(TVariant(h),TVariant(1),TVariant("2,1"));
	var_Items->set_CellPicture(TVariant(h),TVariant(1),var_Items->get_CellPicture(TVariant(h),TVariant(0)));
Gantt1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void __fastcall TForm1::Gantt1AddColumn(TObject *Sender,Exganttlib_tlb::IColumn   *Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2022,1,2).operator double()),TVariant(TDateTime(2022,1,8).operator double()),TNoParam(),TVariant("<img>1</img>"));
}

Gantt1->BeginUpdate();
Gantt1->ImageSize = 32;
Gantt1->DefaultItemHeight = 36;
Gantt1->HeaderHeight = Gantt1->DefaultItemHeight;
Gantt1->SortBarHeight = Gantt1->DefaultItemHeight;
Gantt1->Font->Size = TVariant(long(16));
Gantt1->FilterBarFont->Size = TVariant(Gantt1->Font->Size);
Gantt1->ToolTipFont->Size = TVariant(Gantt1->Font->Size);
Gantt1->Indent = 26;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2022,1,1).operator double()));
	var_Chart->Bars->get_Item(TVariant("Task"))->Height = 22;
Gantt1->Images(TVariant(String("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"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"));
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gRBCCQAgQEA=="));
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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"));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="));
Gantt1->BackColorHeader = 0x4c6c6c6;
Gantt1->SelBackColor = 0x4000000;
Gantt1->SelForeColor = RGB(0,0,1);
Gantt1->CheckImage[Exganttlib_tlb::CheckStateEnum::Unchecked] = 16777216;
Gantt1->CheckImage[Exganttlib_tlb::CheckStateEnum::Checked] = 33554432;
Gantt1->CheckImage[Exganttlib_tlb::CheckStateEnum::PartialChecked] = 50331648;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = Gantt1->SelBackColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = Gantt1->SelForeColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = Gantt1->BackColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = Gantt1->ForeColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x4000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x4010101;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = 0x40000ff;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->ShowFocusRect = false;
Gantt1->SortBarVisible = true;
Gantt1->BackColorSortBar = Gantt1->BackColor;
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Gantt1->FilterBarDropDownHeight = 1;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Check");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->Width = 128;
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Pos");
	var_Column1->FormatColumn = L"1 pos ``";
	var_Column1->AllowSort = false;
	var_Column1->Width = 48;
	var_Column1->AllowSizing = false;
	var_Column1->Alignment = Exganttlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column1->HeaderAlignment = Exganttlib_tlb::AlignmentEnum::CenterAlignment;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Image");
	var_Column2->DisplayFilterButton = true;
	var_Column2->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column2->DisplayExpandButton = true;
	var_Column2->ExpandColumns = L"1,2,3";
	var_Column2->Width = 128;
	var_Column2->HeaderImage = 1;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Images");
	var_Column3->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column3->Width = 196;
	var_Column3->HTMLCaption = L"<img>1</img><img>2</img><img>3</img> Images";
Gantt1->Columns->get_Item(TVariant("Pos"))->Position = 3;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long hR = var_Items->AddItem(TVariant("Root"));
	var_Items->set_ItemDivider(hR,0);
	var_Items->set_ItemDividerLine(hR,Exganttlib_tlb::DividerLineEnum::EmptyLine);
	long h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child A"));
	var_Items->set_CellImage(TVariant(h),TVariant(2),1);
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("1,2,3"));
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("123"));
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child B"));
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
	var_Items->set_CellImage(TVariant(h),TVariant(2),3);
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("2,3,1"));
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("231"));
	var_Items->set_SelectItem(h,true);
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child C"));
	var_Items->set_CellImage(TVariant(h),TVariant(2),2);
	var_Items->set_CellState(TVariant(h),TVariant(3),1);
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("312"));
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("3,1,2"));
	var_Items->set_ExpandItem(hR,true);
Gantt1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void __fastcall TForm1::Gantt1AddColumn(TObject *Sender,Exganttlib_tlb::IColumn   *Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2022,1,2).operator double()),TVariant(TDateTime(2022,1,8).operator double()),TNoParam(),TVariant("<img>1</img>"));
}

Gantt1->BeginUpdate();
Gantt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2022,1,1).operator double()));
Gantt1->ImageSize = 16;
Gantt1->Images(TVariant(String("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") +
"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="));
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="));
Gantt1->BackColorHeader = 0x4c6c6c6;
Gantt1->SelBackColor = 0x4000000;
Gantt1->SelForeColor = RGB(0,0,1);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = Gantt1->SelBackColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = Gantt1->SelForeColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = Gantt1->BackColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = Gantt1->ForeColor;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x4000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x4010101;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = 0x40000ff;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->ShowFocusRect = false;
Gantt1->SortBarVisible = true;
Gantt1->BackColorSortBar = Gantt1->BackColor;
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Gantt1->FilterBarDropDownHeight = 1;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Check");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
	var_Column->Width = 128;
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Pos");
	var_Column1->FormatColumn = L"1 pos ``";
	var_Column1->AllowSort = false;
	var_Column1->Width = 48;
	var_Column1->AllowSizing = false;
	var_Column1->Alignment = Exganttlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column1->HeaderAlignment = Exganttlib_tlb::AlignmentEnum::CenterAlignment;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Image");
	var_Column2->DisplayFilterButton = true;
	var_Column2->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column2->DisplayExpandButton = true;
	var_Column2->ExpandColumns = L"1,2,3";
	var_Column2->Width = 128;
	var_Column2->HeaderImage = 1;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Images");
	var_Column3->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column3->Width = 196;
	var_Column3->HTMLCaption = L"<img>1</img><img>2</img><img>3</img> Images";
Gantt1->Columns->get_Item(TVariant("Pos"))->Position = 3;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long hR = var_Items->AddItem(TVariant("Root"));
	var_Items->set_ItemDivider(hR,0);
	var_Items->set_ItemDividerLine(hR,Exganttlib_tlb::DividerLineEnum::EmptyLine);
	long h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child A"));
	var_Items->set_CellImage(TVariant(h),TVariant(2),1);
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("1,2,3"));
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("123"));
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child B"));
	var_Items->set_CellState(TVariant(h),TVariant(0),1);
	var_Items->set_CellImage(TVariant(h),TVariant(2),3);
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("2,3,1"));
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("231"));
	var_Items->set_SelectItem(h,true);
	h = var_Items->InsertItem(hR,TNoParam(),TVariant("Child C"));
	var_Items->set_CellImage(TVariant(h),TVariant(2),2);
	var_Items->set_CellState(TVariant(h),TVariant(3),1);
	var_Items->set_CellCaption(TVariant(h),TVariant(3),TVariant("312"));
	var_Items->set_CellImages(TVariant(h),TVariant(3),TVariant("3,1,2"));
	var_Items->set_ExpandItem(hR,true);
Gantt1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void __fastcall TForm1::Gantt1AddColumn(TObject *Sender,Exganttlib_tlb::IColumn   *Column)
{
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		var_Items->AddBar(Item,TVariant("Task"),TVariant(var_Items->get_CellCaption(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellCaption(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Gantt1->DataSource = (IDispatch*)rs;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,290);
Gantt1->Columns->get_Item(TVariant("ShipVia"))->Position = 2;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Gantt1->DataSource = (IDispatch*)rs;
Gantt1->SortBarVisible = true;
Gantt1->Layout = L"singlesort=\"C1:1\"";
Gantt1->EndUpdate();

984
Is it possible to view all events the control fires
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// Event event - Notifies the application once the control fires an event.
void __fastcall TForm1::Gantt1Event(TObject *Sender,long   EventID)
{
	OutputDebugString( PChar(Gantt1->EventParam[-2]) );
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarCaption = L"`<r>` + value";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

983
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void __fastcall TForm1::Gantt1BeforeExpandItem(TObject *Sender,Exganttlib_tlb::HITEM   Item,Variant *   Cancel)
{
	Cancel = Gantt1->Items->get_ItemParent(Item);
}

Gantt1->BeginUpdate();
Gantt1->SingleSel = false;
Gantt1->Columns->Add(L"Default");
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(var_Items->InsertItem(h,TNoParam(),TVariant("Child 1.1")),TNoParam(),TVariant("Child"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1.2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(var_Items->InsertItem(h,TNoParam(),TVariant("Child 2.1")),TNoParam(),TVariant("Child"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2.2"));
	var_Items->set_ExpandItem(h,true);
Gantt1->EndUpdate();

982
How can I display an item of picture type

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->ScrollBySingleLine = false;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->HeaderHeight = 24;
Gantt1->Columns->Add(L"Artikel")->HTMLCaption = L"<u>Artikel";
Gantt1->Columns->Add(L"Waarde")->HTMLCaption = L"<u>Waarde";
Gantt1->HTMLPicture[L"T22128"] = TVariant("c:\\exontrol\\images\\zipdisk.gif");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("T22128-28)2D"));
	long h1 = var_Items->InsertItem(h,TNoParam(),TVariant("<img>T22128:128</img>"));
	var_Items->set_CellCaptionFormat(TVariant(h1),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_ItemHeight(h1,128);
	h1 = var_Items->InsertItem(h,TNoParam(),TVariant("werkvoorbereiding"));
	var_Items->set_CellCaption(TVariant(h1),TVariant(1),TVariant("5.80"));
	var_Items->set_CellBold(TVariant(h1),TVariant(1),true);
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Type"))),TVariant(1),TVariant("Eenvoudig"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Prijs p/uur"))),TVariant(1),TVariant("60,00"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Marhe"))),TVariant(1),TVariant("15,00%"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Insteltijd min."))),TVariant(1),TVariant("5,00"));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Aantal"))),TVariant(1),TVariant(1));
	var_Items->set_CellCaption(TVariant(var_Items->InsertItem(h1,TNoParam(),TVariant("Kostprije"))),TVariant(1),TVariant("5,00"));
	var_Items->set_ExpandItem(h1,true);
	h1 = var_Items->InsertItem(h,TNoParam(),TVariant("materiall"));
	var_Items->set_CellCaption(TVariant(h1),TVariant(1),TVariant("14.82"));
	var_Items->set_CellBold(TVariant(h1),TVariant(1),true);
	var_Items->set_ItemHasChildren(h1,true);
	h1 = var_Items->InsertItem(h,TNoParam(),TVariant("snijden"));
	var_Items->set_CellCaption(TVariant(h1),TVariant(1),TVariant("3.13"));
	var_Items->set_CellBold(TVariant(h1),TVariant(1),true);
	var_Items->set_ItemHasChildren(h1,true);
	var_Items->set_ExpandItem(h,true);
Gantt1->EndUpdate();

981
Dark mode

Gantt1->BeginUpdate();
String back = 65536;
String fore = 16777215;
Gantt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
Gantt1->VisualAppearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABPMIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwHCMIhiGwcAChEZYHgkMYmDAMUhSE78axHG6PY7kKZ4b") +
"iaKIqQLLEhSfJ0YyBECBZpfebIbjmIZMSLEIxDKItJSpCIaRgqWS6ahGO4JUbUFLQHT9IR4daIYRgEEBA"));
Gantt1->VisualAppearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABUUIQAAYAQGKIcBiAKBQAGaAoDDcMgwQwAAxjIKUEwsACEIrjKCYVgOHYYQjGMZwGAsEwjAoYAChEaILgkMw2DBIQwgJIMEr/G6RZxjeL5C") +
"jmG4nDhKMpybAcXxjBIYZJgOQpXb+PobTrNNLzfRFAxVAaWJikcZ4HpIAJNVLFdQ0XYMNSBISsBqrKiKcpeIIDWBZMbRZT1ZABCIZBpEW6LahENQwXrCN74DYkNTdKax" +
"bbuaaXLhGCYBgIA=="));
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Bump;
Gantt1->BackColor = back;
Gantt1->BackColorHeader = back;
Gantt1->BackColorLevelHeader = back;
Gantt1->BackColorSortBar = back;
Gantt1->BackColorSortBarCaption = back;
Gantt1->FilterBarBackColor = back;
Gantt1->FilterBarForeColor = fore;
Gantt1->ForeColor = fore;
Gantt1->ForeColorHeader = fore;
Gantt1->ForeColorSortBar = fore;
Gantt1->SelBackColor = fore;
Gantt1->SelForeColor = back;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exToolTipAppearance] = 0x3000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exToolTipBackColor] = back;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exToolTipForeColor] = fore;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = fore;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = back;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = back;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = fore;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSortBarLinkColor] = back;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exTreeLinesColor] = fore;
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>";
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->BackColor = back;
	var_Chart->BackColorLevelHeader = back;
	var_Chart->ForeColor = fore;
	var_Chart->ForeColorLevelHeader = fore;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->AttachTemplate(TVariant("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"));
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="));
	var_Appearance->Add(2,TVariant("CP:1 -4 0 0 0"));
Gantt1->SelBackColor = 0x2000000;
Gantt1->SelForeColor = RGB(0,0,1);
Gantt1->FullRowSelect = false;
Gantt1->ShowFocusRect = false;
Gantt1->DefaultItemHeight = 24;
Gantt1->HeaderHeight = 24;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->Columns->Add(L"C1");
Gantt1->Columns->Add(L"C2");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Cell 1"))),TVariant(1),TVariant("Cell 2"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Cell 3"))),TVariant(1),TVariant("Cell 4"));
Gantt1->Items->set_SelectPos(TVariant(1));
Gantt1->SelectColumnIndex = 1;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->AttachTemplate(TVariant("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"));
Gantt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="));
Gantt1->SelBackColor = 0x1000000;
Gantt1->SelForeColor = RGB(0,0,1);
Gantt1->ShowFocusRect = false;
Gantt1->DefaultItemHeight = 24;
Gantt1->HeaderHeight = 24;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->Columns->Add(L"C1");
Gantt1->Columns->Add(L"C2");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Cell 1"))),TVariant(1),TVariant("Cell 2"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Cell 3"))),TVariant(1),TVariant("Cell 4"));
	var_Items->set_SelectPos(TVariant(1));
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->AttachTemplate(TVariant("handle AddColumn(Column){Column{Def(48)=4;Def(49)=4;}}"));
Gantt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSpEEg7BKMYwjOJgFgmEQxDANIBQSKoaQiGQYYLhEZAEiONoaDJCM4wH") +
"IMQxHCKTZRkGcfaRCGSfIzpGKpVgOTYiTbPcIyQKtBxDIydJTmeQQQhsFIJU7SdVUPDUJZlWbLAwWTAYazXCKRZBpeJqdo6Y5RUDKUqSdLUYyvEq7ZqnOIpw5vICpaCq" +
"Op6HqKFpiXSAFL1fLmAwvPKrJjoeqpWpyCaRZQAGg4dbEdTNNCIbatQANKrCSpgZ7sMB6Di2L4TPS2awoWgRYyTFZMbBAeQ7LC1c45Fqrd4zS4dSxKCahcLxFiaNpYZY" +
"njUap1jGPJlkuAgAkidB3nceZsCQEQJCgGhMGcQ4pkiSxEAAOYpiQIhvkYNA2gSCg5n+LIoGILowFyXQoAYAoAmASAWAaAZgggJgKF2T54DYDoDmECBGBKBJgGgTgWgW" +
"YRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChixULILGGGAWDCCgjCiTgrg0YxojoC4OmOSJ2D6D5kAgJLFgABAEICA="));
Gantt1->SelBackMode = Exganttlib_tlb::BackModeEnum::exTransparent;
Gantt1->ShowFocusRect = false;
Gantt1->DefaultItemHeight = 24;
Gantt1->HeaderHeight = 24;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->Columns->Add(L"C1");
Gantt1->Columns->Add(L"C2");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Cell 1"))),TVariant(1),TVariant("Cell 2"));
	long h = var_Items->AddItem(TVariant("Cell 2"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Cell 3"));
	var_Items->set_CellBackColor(TVariant(h),TVariant(1),0x1000000);
Gantt1->EndUpdate();

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

// AddColumn event - Fired after a new column has been added.
void __fastcall TForm1::Gantt1AddColumn(TObject *Sender,Exganttlib_tlb::IColumn   *Column)
{
	// Column.Def(17) = 1
}

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::Gantt1FilterChange(TObject *Sender)
{
	TVariant format = TVariant(Gantt1->FormatABC(L"`value replace '` + value + `' with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",TVariant(Gantt1->FilterBarPromptPattern),TNoParam(),TNoParam()));
	Gantt1->Columns->get_Item(TVariant(0))->FormatColumn = L"format";
	Gantt1->Columns->get_Item(TVariant(1))->FormatColumn = L"format";
}

Gantt1->BeginUpdate();
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exVLines;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->Columns->Add(L"Col 1");
Gantt1->Columns->Add(L"Col 2");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("219 Smith"))),TVariant(1),TVariant("Ignacio 1234"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("1666 County Road 309A"))),TVariant(1),TVariant("897 Manassa"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("38 Lone Pine"))),TVariant(1),TVariant("Durango 11"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("612 Jachim Street"))),TVariant(1),TVariant("Lamar 222"));
Gantt1->FilterBarPromptPattern = L"1";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptType = Exganttlib_tlb::FilterPromptEnum::exFilterPromptCaseSensitive | Exganttlib_tlb::FilterPromptEnum::exFilterPromptContainsAll;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABO8GACAADACAxRDgMQBQKAAzQFAYbBuGCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwQgmNYDSBMcbwS") +
"AsXRYFocJ5gOT6AjKBA2UclEZpajiTY3ABUEgUS5oOBIACqariaQJAAiCRQGiYZyHKaRSwPBKFYDIIjbJheTIDChNVxUcDENQjJqLBIDRzbarye59YBfeBXdgmA4LQbD" +
"MRwNgMMQTDqKYbkOQZHbeGKAWTMEZzJj8cxTEqIaBhGTLfojSZMS7UGK1LLtMyHI6kP7sOiLfi2W4/W7XV72F79TzXIa2ZBuO57bhnAZ/VzGNj4PRNezfRqicjsGxcZw" +
"Xg+TpQj0ew6gSOw7wSbozjsfYXi8PwMnSc52leHotl+MxjmoXh2nybxOH+SQtnYXx+D2P4vGMB56hQf5PCgBYeDwYBCEo1xggebgKH6IIDBYBgkiAQ5FgYPAhEIRgWGq" +
"DBoC4GoCiGCBYhGBQPAWdIQp0eIUiWCZigiJgqgqYpIioJQhmIMhBH0NxjEMag2g2Y4ImYOoOmOSJeDQNxXlOLR3ECUAQICA="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABgsHQAAYAQGKIcBiAKBQAGaAoDDYNwwQwAAxDAKcEwsACEIrjKCRShyCYZRrGUgRCKQahLEiTIhGUYJHgmK4tRoAUgxWCEExrAaQJjjeCQF") +
"i6LAtDhPMByfQEZQIGyjkgjNLUcSbG4AKgkCiXfpUAJVP7FcgSABEEigNIxToOU4jFgeCYLQKQRK2RC9GQGFCbLhpYKIahGTYWVheN5XXblez9P7ABQwKCcAwXBp7YIK" +
"AT4XBIdYdQ7IL4xGA0AJPFoJC7mOQ5XiYAIBAZ/RL0LCcbxHHafVboQj6JouD5PUDVNY1XBdPynI6CbLhWy6Dq4UZzPwzeBifSHfDjRoJcCZe71KY3GwSEboNA6Kp+QB" +
"HAmZoZjSPYIEiF47lOLJVnuYofBwJJHmaQoYj0MIRHeM4/m6cJ8B+fpBHQJ5SGKPYYH8OYMk+P5Bn4fxaAYZAvEIX4RgUWBGgCCAmAqApgkgNgOgMEYlGASoEkQeBWBa" +
"BZhggZgagaYRoEwShWA6NZZAMQBAICA=="));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x2000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->HeaderHeight = 28;
Gantt1->BackColorHeader = RGB(255,255,255);
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->HeaderVisible = true;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"C1")->DisplayFilterButton = true;
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"C2");
		var_Column->DisplayFilterButton = true;
		var_Column->Filter = L"Item 2";
		var_Column->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Columns->Add(L"C3")->DisplayFilterButton = true;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Item 2"));
	var_Items->set_CellCaption(TVariant(h),TVariant(2),TVariant("Item 3"));
	h = var_Items->AddItem(TVariant("Item 4"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Item 5"));
	var_Items->set_CellCaption(TVariant(h),TVariant(2),TVariant("Item 6"));
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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

String size = 2;
Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhEGAUHQAAYAQGKIcBiAKBQAGaAoDDYOA4QwAAxDAKcEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRfIUEghGyNZjgNzQc") +
"CQAI8T5IUgARBJIDSMY6DpOIxYHgmC4DEITNLxOK0EhRHCBZrgOCAYhqEY1Ro+dhPFYjVTMdK0LRtKy7Mq2aJmOpZDxWE7dZKpO5fbxXS67cr2fp/YBed4rfa7KTlOBK" +
"cRQRBEFQPDqPZBkORZHh2FoLRJKbgtHJmHYNQWhVyYBbNCyTI6lahpeuHBx1QaWWxjbCMEr6bpoWLbFi3Ha1UzrPa8b5vSw7Gr+HzYQTHGPXGqaYJdZrnea6B7+U5XUJ" +
"rnSOZciYHwhAeR5HDK+JVGqKRRmScx5HyfRei+H5bmmcp4Fi8o/CGGJKGQKZUGoFQigUPIiCeSZXnyHB6l0SAJn8JxfkIeZ5CgXxjCCAhyB8QgIlAM4MlKAIcCaIBIGY" +
"GoGGEYhqBMMxgnICgRDUDQjESGwmAkWBuCqBoiHIVgkDQYgYESWg2E0YhohcJQigITg3CQSRyEyEYGGOWJwhQJD4FiFIMk0aJFGsIBkkOBJeDc+AchYJwJgIWhSgYZQp" +
"FIVoVGOGQ4l2EwIBWMhgDmDhThCEwkAiaJchKDhjhgZhsCUY4iFCEoZkiaYQmSGAWhWQhgDuDpTjCDQiEgchAg0IpJBoDoFiEKBqCaCAimgIguH8IZnkPUhcBcJg+hGJ" +
"ZnloYJsiaKZKGa24YnWSR0CkKhCA2CxlCqColhAYpqEKER0DqVZ0A0ASAgA=="));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABAQCg6AADACAxRDgMQBQKAAzQFAYbBwHCGAAGIYBTgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACjeQYJBCNYbTJAbqhY") +
"IgAR3HqQZABCCSQKkYx0HScRiwPBMFwGIQmaaicZoJCiN4DTZAcIBRDUIxpDR9bBeKw3KqVaZnWhaNpWXZlTzKdSxXisF67RZSdi/XgvF5XXblez9P69LwXe5mUrGbyV" +
"YghCCIKgeG4dR7IMhyLDcKQXCCVW7aGSsOwbAqAXpdGAXTQdDyLJKnaZqOi6BjjA4rNbHGIYJb1XTRMa1LJuG5LJrOeZ3Xre4BLfh1VoFRpjWIYNY1QS7TLOczzfRdDx" +
"TiGVpkjCeJoD4Ng1hSRxiisVRKg8D4PkWZJznmPQ+F8Xx5guWpjHGWYMiYQodEaIRSCgU5KCSeh3naHB/iAAh9n8fwfgIeZ1CgXwjCCAhxl8AgIlAM4MlKAIcCaD54FY" +
"FoFmGCBmBaBIJigPJNgKSAoDSVC+BIbIYCUYYoiYKoJgkWIMlGCAglMaJZDWCYiFyFIJkkOJYhEJc7G4PYPCOaJshQJBjgiVIUgyDRokEaggGSQ4El4N1CBiFgnAmAha" +
"FKFZlFkShUhWJRYmITg3GSQgFGuGBOGOFJkCSSQCDoNgkiOCY0hUJJmmmQhvhqZtYmUOQmBWIRvhgTpjjSbAjEiEgchBZgyEaBIhigWgegqIhIjoDILiACB5nTL5WnWR" +
"YOiSKYJnqGQ7CmOh2hqJ5OkYORxFyShKhSAxihkOomioY5YiqFIkFyTo1HkAxAEAgIA=="));
	var_Appearance->Add(1,TVariant(Gantt1->FormatABC(L"`CP:3 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",TVariant(size),TNoParam(),TNoParam())));
	var_Appearance->Add(2,TVariant(Gantt1->FormatABC(L"`CP:4 -` + int(value*dpi) + ` -` + int(value*dpi) + ` ` +  int(value*dpi) + ` ` + int(value*dpi)",TVariant(size),TNoParam(),TNoParam())));
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exGroupLinesAtRoot;
Gantt1->HasButtons = Exganttlib_tlb::ExpandButtonEnum::exCustom;
Gantt1->HasButtonsCustom[false] = 16777216;
Gantt1->HasButtonsCustom[true] = 33554432;
Gantt1->Columns->Add(L"Column");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="));
	var_Appearance->Add(1,TVariant("CP:2 -8 -4 2 4"));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1fefefe;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarActive] = 0x1010101;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->HeaderHeight = 28;
Gantt1->BackColorHeader = RGB(255,255,255);
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->HeaderVisible = true;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"C1")->DisplayFilterButton = true;
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"C2");
		var_Column->DisplayFilterButton = true;
		var_Column->Filter = L"Item 2";
		var_Column->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Columns->Add(L"C3")->DisplayFilterButton = true;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Item 1"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Item 2"));
	var_Items->set_CellCaption(TVariant(h),TVariant(2),TVariant("Item 3"));
	h = var_Items->AddItem(TVariant("Item 4"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Item 5"));
	var_Items->set_CellCaption(TVariant(h),TVariant(2),TVariant("Item 6"));
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarTop;
Gantt1->HeaderHeight = 24;
Gantt1->FilterBarHeight = Gantt1->HeaderHeight;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Flat;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Column");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterType = Exganttlib_tlb::FilterTypeEnum::exPattern;
	var_Column->Filter = L"B*";
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Index");
	var_Column1->FormatColumn = L"1 index ``";
	var_Column1->Position = 0;
	var_Column1->Width = 48;
	var_Column1->AllowSizing = false;
	var_Column1->SortType = Exganttlib_tlb::SortTypeEnum::SortNumeric;
	var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("A.1"));
	var_Items->AddItem(TVariant("A.2"));
	var_Items->AddItem(TVariant("B.1"));
	var_Items->AddItem(TVariant("B.2"));
	var_Items->AddItem(TVariant("B.3"));
	var_Items->AddItem(TVariant("C"));
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item");
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->Position = 0;
		var_Column->Width = 32;
		var_Column->AllowSizing = false;
		var_Column->FormatColumn = L"1 index ``";
		var_Column->AllowSort = false;
		var_Column->AllowDragging = false;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item");
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->Position = 0;
		var_Column->Width = 32;
		var_Column->AllowSizing = false;
		var_Column->FormatColumn = L"1 index ``";
		var_Column->AllowSort = false;
		var_Column->AllowDragging = false;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->EndUpdate();

970
I would like to display a solid line between "root" items, and dotted lines (default) between child items. How can I do that

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exHLines;
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesGeometric;
Gantt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABMsIQAAYAQGKIcBiAKBQAGaAoDgYN4MAANAwjJBMKgBBCLIxhEYobgmGIXRpFMbxAKQahLEiTIgGUYJHgmK4tQLHb7zGAABRDDSOIDnGQJX") +
"haI4JQSMMQDGLAZxVFiPRhAWLpBh+PQATrOdLUfSjVwhBKAQEBA=="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"((1 rindex ``) contains `.`) = 0";
	var_Column1->Visible = false;
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Gantt1->ConditionalFormats->Add(L"%C1",TNoParam());
	var_ConditionalFormat->BackColor = 0x1e0e0e0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 3"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	h = var_Items->AddItem(TVariant("Root 3"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
Gantt1->EndUpdate();

969
I can not center or align the cell's caption and icon, when it displays the hierarchy

Gantt1->BeginUpdate();
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
Gantt1->HeaderVisible = true;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("<img>1</img> Task (left)"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("<c><img>2</img> Task (center)"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("<r>Task (right) <img>3</img>"));
	var_Items->set_ExpandItem(h,true);
Gantt1->EndUpdate();

968
How do I set an extra data for each item
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::Gantt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = Gantt1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( L"i" );
	OutputDebugString( PChar(Gantt1->Items->get_ItemData(i)) );
}

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->Columns->Add(L"Default");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_ItemData(var_Items->AddItem(TVariant("method 1")),TVariant("your extra data of method 1"));
	var_Items->InsertItem(0,TVariant("your extra data of method 2"),TVariant("method 2"));
Exganttlib_tlb::IItemsPtr var_Items1 = Gantt1->Items;
	var_Items1->DefaultItem = var_Items1->AddItem(TVariant("method 3"));
	var_Items1->set_ItemData(0,TVariant("your extra data of method 3"));
Gantt1->EndUpdate();

967
I do not like to specify the item padding for every column I add. The question is how can I do it automatically

Gantt1->BeginUpdate();
Gantt1->AttachTemplate(TVariant("handle AddColumn(Column){Column{Def(48)=8;Def(49)=8;AllowDragging=False;AllowSizing = True}}"));
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->GridLineStyle = Exganttlib_tlb::GridLinesStyleEnum::exGridLinesVSolid;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Item");
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->Position = 0;
		var_Column->Width = 32;
		var_Column->AllowSizing = false;
		var_Column->FormatColumn = L"1 index ``";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->EndUpdate();

966
Can I sort the column by check-state

Gantt1->BeginUpdate();
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Check");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->SortType = Exganttlib_tlb::SortTypeEnum::exSortByState;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TNoParam());
	var_Items->set_CellState(TVariant(var_Items->AddItem(TNoParam())),TVariant(0),1);
	var_Items->set_CellState(TVariant(var_Items->AddItem(TNoParam())),TVariant(0),1);
	var_Items->AddItem(TNoParam());
Gantt1->Columns->get_Item(TVariant(0))->SortOrder = Exganttlib_tlb::SortOrderEnum::SortAscending;
Gantt1->EndUpdate();

965
Can I sort the column by image

Gantt1->BeginUpdate();
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Image");
	var_Column->SortType = Exganttlib_tlb::SortTypeEnum::exSortByImage;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellImage(TVariant(var_Items->AddItem(TNoParam())),TVariant(0),3);
	var_Items->AddItem(TNoParam());
	var_Items->set_CellImage(TVariant(var_Items->AddItem(TNoParam())),TVariant(0),1);
	var_Items->set_CellImage(TVariant(var_Items->AddItem(TNoParam())),TVariant(0),2);
Gantt1->Columns->get_Item(TVariant(0))->SortOrder = Exganttlib_tlb::SortOrderEnum::SortAscending;
Gantt1->EndUpdate();

964
How can I display UNICODE characters

Gantt1->BeginUpdate();
Gantt1->Chart->set_PaneWidth(true,0);
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		OLE Automation

	TypeLib: stdole2.tlb

	to define the namespace: Stdole_tlb
*/
//#include "STDOLE_TLB.h"
Stdole_tlb::FontPtr var_StdFont = Gantt1->Font;
	var_StdFont->Name = L"Arial Unicode";
	var_StdFont->Size = TVariant(long(22));
Gantt1->HeaderVisible = false;
Gantt1->DefaultItemHeight = 48;
Gantt1->Columns->Add(L"")->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Ӓӓ"));
	var_Items->AddItem(TVariant("ᦜᦝ;ᦞ"));
	var_Items->AddItem(TVariant("ɮɭ;ɯ"));
	var_Items->AddItem(TVariant("勳勴勵勶"));
	var_Items->set_FormatCell(TVariant(var_Items->AddItem(TVariant(Gantt1->Version))),TVariant(0),L"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` ");
Gantt1->EndUpdate();

963
How do I display the position of the item with 0-padding

Gantt1->BeginUpdate();
Gantt1->Columns->Add(L"Items")->FormatColumn = L"((1 apos ``) lpad `00`) + `. `  + value";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->AddItem(TVariant("Item D"));
Gantt1->EndUpdate();

962
Can't get the +/- to be displayed on a divider item. What else can I do

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->TreeColumnIndex = 0;
Gantt1->MarkSearchColumn = false;
Gantt1->FullRowSelect = false;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum(0xfffffff8 | Exganttlib_tlb::AppearanceEnum::Bump | Exganttlib_tlb::AppearanceEnum::Sunken);
Gantt1->Chart->set_PaneWidth(true,0);
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"C1")->Width = 32;
	var_Columns->Add(L"C2")->FormatColumn = L"1 index ``";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Cell 1"));
	var_Items->set_CellSingleLine(TVariant(h),TVariant(1),Exganttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	h = var_Items->AddItem(TVariant("This is bit of text merges all cells in the item (divider shows no +/-)"));
	var_Items->set_ItemDivider(h,0);
	var_Items->set_ItemBackColor(h,RGB(240,240,240));
	var_Items->set_ItemDividerLine(h,Exganttlib_tlb::DividerLineEnum::EmptyLine);
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exganttlib_tlb::AlignmentEnum::CenterAlignment);
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Cell 3"));
	h = var_Items->AddItem(TVariant("This is bit of text merges all cells in the item (merge shows +/-)"));
	var_Items->set_ItemBackColor(h,RGB(240,240,240));
	var_Items->set_CellMerge(TVariant(h),TVariant(0),TVariant(1));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 3"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 4"));
	var_Items->set_ExpandItem(h,true);
Gantt1->EndUpdate();

961
ADODB Requery sample

// CellButtonClick event - Fired after the user clicks on the cell of button type. 
void __fastcall TForm1::Gantt1CellButtonClick(TObject *Sender,Exganttlib_tlb::HITEM   Item,long   ColIndex)
{
	/*
		Select the Component\Import Component...\Import a Type Library,
		to import the following Type Library:
			Microsoft ActiveX Data Objects 6.1 Library
		TypeLib: msado15.dll
		to define the namespace: Adodb_tlb
	*/
	//#include "ADODB_TLB.h"
	Adodb_tlb::_CommandPtr cmd = Variant::CreateObject(L"ADODB.Command");
		cmd->set_ActiveConnection(Gantt1(IDispatch*)->DataSource->get_ActiveConnection());
		cmd->CommandText = L"INSERT INTO Orders (EmployeeID) VALUES(12345)";
		cmd->CommandType = Adodb_tlb::CommandTypeEnum::adCmdText;
		cmd->Execute(TNoParam(),TNoParam(),0);
	(IDispatch*)Gantt1->DataSource->Requery(0);
}

Gantt1->BeginUpdate();
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->ColumnAutoResize = false;
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Select * From Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGantt\\Sample\\Access\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
Gantt1->DataSource = (IDispatch*)rs;
Gantt1->ConditionalFormats->Add(L"%1=12345",TNoParam())->BackColor = RGB(240,240,240);
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_LockedItemCount(Exganttlib_tlb::VAlignmentEnum::TopAlignment,1);
	long h = var_Items->get_LockedItem(Exganttlib_tlb::VAlignmentEnum::TopAlignment,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellCaption(TVariant(h),TVariant(0),TVariant("Requery (add a new record, using ADODB.Command)"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exganttlib_tlb::AlignmentEnum::CenterAlignment);
Gantt1->EndUpdate();

960
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" +
"KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLx" +
"PF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +
"b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" +
"GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" +
"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" +
"sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +
"pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAA" +
"MR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH" +
"4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzN") +
"C0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3" +
"aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DB" +
"aEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +
"BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoe" +
"EmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA=="));
Gantt1->BackColorHeader = 0x1000000;
Gantt1->ForeColorHeader = RGB(128,128,128);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x2000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(255,255,255);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(0,0,1);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = 0x1ff8000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = RGB(240,240,240);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->HeaderHeight = 24;
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(2));
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exHeaderPaddingRight,TVariant(2));
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("A"));
	var_Items->AddItem(TVariant("B"));
	var_Items->AddItem(TVariant("C"));
	var_Items->AddItem(TVariant("D"));
Gantt1->EndUpdate();

959
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = false;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start")->Visible = false;
	var_Columns->Add(L"End")->Visible = false;
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Show/Hide";
Gantt1->ColumnsFloatBarSortOrder = Exganttlib_tlb::SortOrderEnum::SortAscending;
Gantt1->ColumnsFloatBarVisible = Exganttlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeCheckColumns;
Gantt1->EndUpdate();

958
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = false;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start")->Visible = false;
	var_Columns->Add(L"End")->Visible = false;
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Show";
Gantt1->ColumnsFloatBarVisible = Exganttlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeHiddenColumns;
Gantt1->ColumnsFloatBarSortOrder = Exganttlib_tlb::SortOrderEnum::SortAscending;
Gantt1->EndUpdate();

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

Gantt1->BeginUpdate();
Gantt1->HeaderSingleLine = false;
Gantt1->HeaderHeight = 36;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->ColumnAutoResize = false;
Gantt1->ScrollBySingleLine = true;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	Exganttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Single-Line (exCaptionSingleLine)");
		var_Column->Width = 96;
		var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(-1));
	Exganttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)");
		var_Column1->Width = 96;
		var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column1->set_Def(Exganttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
		var_Column1->FormatColumn = L"%0";
	Exganttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)");
		var_Column2->Width = 96;
		var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
		var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
		var_Column2->FormatColumn = L"%0";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->AddItem(TVariant("This is the <b>first</b> line.\\r\\nThis is the <b>second</b> line.\\r\\nThis is the <b>third</b> line."));
Gantt1->EndUpdate();

956
Type of wraps the cell's caption support (Sample 1)

Gantt1->BeginUpdate();
Gantt1->HeaderSingleLine = false;
Gantt1->HeaderHeight = 36;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->ColumnAutoResize = false;
Gantt1->ScrollBySingleLine = true;
Gantt1->Columns->Add(L"Default")->Width = 128;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	h = var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	h = var_Items->AddItem(TVariant("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line."));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
Gantt1->EndUpdate();

955
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)

Gantt1->BeginUpdate();
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->ColumnAutoResize = false;
Gantt1->ScrollBySingleLine = true;
Gantt1->Columns->Add(L"Default")->Width = 128;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."))),TVariant(0),Exganttlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
Gantt1->EndUpdate();

954
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)

Gantt1->BeginUpdate();
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exRowLines;
Gantt1->ColumnAutoResize = false;
Gantt1->ScrollBySingleLine = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->Width = 128;
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
Gantt1->EndUpdate();

953
How can I change the visual appearance/color of the Filter For ... field

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->BackColorHeader = RGB(1,0,0);
Gantt1->ForeColorHeader = RGB(255,255,255);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = Gantt1->BackColorHeader;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = Gantt1->ForeColorHeader;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = RGB(240,240,240);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Bump;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Items");
	var_Column->FilterOnType = true;
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exNoItems;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
Gantt1->EndUpdate();

952
How can I display the cell's caption without spaces on both sides

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
	var_Column->FormatColumn = L"((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Gantt1->EndUpdate();

951
How can I highlight the spaces within the column (sample 2)

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
	var_Column->FormatColumn = L"`'` + ( value replace ` ` with `_` ) + `'`";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Gantt1->EndUpdate();

950
How can I highlight the spaces within the column (sample 1)

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
	var_Column->FormatColumn = L"len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )";
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("    Item B"));
	var_Items->AddItem(TVariant("        Item   C    "));
Gantt1->EndUpdate();

949
How can I change the visual aspect of the drop down filter-calendar

Gantt1->BeginUpdate();
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(0,0,1);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(255,255,255);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exDateScrollRange] = RGB(255,255,255);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exDateHeader] = Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter];
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exDateScrollThumb] = RGB(128,128,128);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Date");
	var_Column->FilterType = Exganttlib_tlb::FilterTypeEnum::exDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterDate = true;
	var_Column->DisplayFilterPattern = false;
Gantt1->EndUpdate();

948
Export Data in HTML format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		long i = var_Items->get_ItemToIndex(Item);
		var_Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2008,1,2).operator double()),TVariant(TDateTime(2008,1,9).operator double()),TVariant(""),TNoParam());
		var_Items->set_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant(i));
		var_Items->set_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(i));
		var_Items->set_CellCaption(TVariant(Item),TVariant(1),TVariant(var_Items->get_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarStart)));
		var_Items->set_CellCaption(TVariant(Item),TVariant(2),TVariant(var_Items->get_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarEnd)));
}

Gantt1->BeginUpdate();
Gantt1->BackColorAlternate = RGB(240,240,240);
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptType = Exganttlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2008,1,1).operator double()));
	var_Chart->FirstWeekDay = Exganttlib_tlb::WeekDayEnum::exMonday;
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Gantt1->ConditionalFormats->Add(L"(%2 - %1) = 3",TVariant("K3"));
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->BarColor = var_ConditionalFormat->ForeColor;
	var_ConditionalFormat->ApplyToBars = L"Task";
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = Gantt1->ConditionalFormats->Add(L"(%2 - %1) = 5",TVariant("K5"));
	var_ConditionalFormat1->ForeColor = RGB(0,255,0);
	var_ConditionalFormat1->BarColor = var_ConditionalFormat1->ForeColor;
	var_ConditionalFormat1->ApplyToBars = L"Task";
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Tasks")->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddItem(TVariant("Task 4"));
	var_Items->AddItem(TVariant("Task 5"));
	var_Items->AddItem(TVariant("Task 6"));
	var_Items->AddItem(TVariant("Task 7"));
	var_Items->AddItem(TVariant("Task 8"));
Gantt1->EndUpdate();
String sFile = "c:/temp/export.html";
Gantt1->Export(TVariant(sFile),TVariant("vis"));
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft Internet Controls

	TypeLib: ieframe.dll

	to define the namespace: Shdocvw_tlb
*/
//#include "SHDOCVW_TLB.h"
Shdocvw_tlb::IWebBrowser2Ptr var_ShellBrowserWindow = Variant::CreateObject(L"InternetExplorer.Application");
	var_ShellBrowserWindow->Navigate2(sFile,TNoParam(),TNoParam(),TNoParam(),TNoParam());

947
Export Data in CSV format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		long i = var_Items->get_ItemToIndex(Item);
		var_Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2008,1,2).operator double()),TVariant(TDateTime(2008,1,9).operator double()),TVariant(""),TNoParam());
		var_Items->set_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant(i));
		var_Items->set_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(i));
		var_Items->set_CellCaption(TVariant(Item),TVariant(1),TVariant(var_Items->get_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarStart)));
		var_Items->set_CellCaption(TVariant(Item),TVariant(2),TVariant(var_Items->get_ItemBar(Item,TVariant(""),Exganttlib_tlb::ItemBarPropertyEnum::exBarEnd)));
}

Gantt1->BeginUpdate();
Gantt1->BackColorAlternate = RGB(240,240,240);
Gantt1->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptType = Exganttlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2008,1,1).operator double()));
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Gantt1->ConditionalFormats->Add(L"(%2 - %1) = 3",TVariant("K3"));
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->BarColor = var_ConditionalFormat->ForeColor;
	var_ConditionalFormat->ApplyToBars = L"Task";
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = Gantt1->ConditionalFormats->Add(L"(%2 - %1) = 5",TVariant("K5"));
	var_ConditionalFormat1->ForeColor = RGB(0,255,0);
	var_ConditionalFormat1->BarColor = var_ConditionalFormat1->ForeColor;
	var_ConditionalFormat1->ApplyToBars = L"Task";
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Tasks")->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Task 1"));
	var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddItem(TVariant("Task 3"));
	var_Items->AddItem(TVariant("Task 4"));
	var_Items->AddItem(TVariant("Task 5"));
	var_Items->AddItem(TVariant("Task 6"));
	var_Items->AddItem(TVariant("Task 7"));
	var_Items->AddItem(TVariant("Task 8"));
Gantt1->EndUpdate();
OutputDebugString( PChar(Gantt1->Export(TVariant(""),TVariant("vis"))) );

946
Is it possible to check multiple-items at once
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant bHasParent = TVariant(Gantt1->FormatABC(L"value != 0",Gantt1->Items->get_ItemParent(Item),TNoParam(),TNoParam()));
	Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
		var_Items->set_CellHasCheckBox(TVariant(Item),TVariant(0),false);
}

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellCaptionFormat,TVariant(1));
	var_Column->FormatColumn = L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)";
Gantt1->HeaderVisible = true;
Gantt1->SingleSel = false;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Project"));
	long hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 1"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 2"));
	hChild = var_Items->InsertItem(h,TNoParam(),TVariant("Task 3"));
	var_Items->set_ExpandItem(h,true);
	var_Items->set_LockedItemCount(Exganttlib_tlb::VAlignmentEnum::TopAlignment,1);
	var_Items->set_CellCaption(TVariant(var_Items->get_LockedItem(Exganttlib_tlb::VAlignmentEnum::TopAlignment,0)),TVariant(0),TVariant("<c>Select multiple items and press the <b>SPACE</b> key"));
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = Gantt1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(Gantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",TVariant(hit),Gantt1->Items->get_CellImages(TVariant(i),TVariant(c)),TNoParam())) );
}

Gantt1->BeginUpdate();
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Gantt1->Chart->set_PaneWidth(true,0);
Gantt1->Columns->Add(L"Default");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant("3,2,1"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("2,3"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant("2,"));
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = Gantt1->ItemFromPoint[-1,-1,c,hit];
	OutputDebugString( PChar(Gantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",TVariant(hit),TNoParam(),TNoParam())) );
}

Gantt1->BeginUpdate();
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Gantt1->Chart->set_PaneWidth(true,0);
Gantt1->Columns->Add(L"Default");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 1"))),TVariant(0),TVariant("3,2,1"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 2"))),TVariant(0),TVariant("2,3"));
	var_Items->set_CellImages(TVariant(var_Items->AddItem(TVariant("Item 3"))),TVariant(0),TVariant("2"));
Gantt1->EndUpdate();

943
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
Gantt1->BeginUpdate();
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::Etched;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") +
"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI="));
	var_Appearance->Add(2,TVariant("CP:1 0 -36 0 0"));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exColumnsPositionSign] = 0x2000000;
Gantt1->EndUpdate();

942
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->DefaultItemHeight = 20;
Gantt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m") +
"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA=="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"1 rindex ``";
	var_Column1->Visible = false;
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Gantt1->ConditionalFormats->Add(L"%C1 mod 2",TNoParam());
	var_ConditionalFormat->BackColor = 0x1000000;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddItem(TVariant("Item 4"));
Gantt1->EndUpdate();

941
How can I specify alternate background colors for each root item, similar with BackColorAlternate

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Default");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )";
	var_Column1->Visible = false;
Exganttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = Gantt1->ConditionalFormats->Add(L"%C1 mod 2",TNoParam());
	var_ConditionalFormat->BackColor = RGB(240,240,240);
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	h = var_Items->AddItem(TVariant("Root 3"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
Gantt1->EndUpdate();

940
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)

Gantt1->BeginUpdate();
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->VisualDesign = TVariant(String("gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGc") +
"TSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCi" +
"CQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4" +
"bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +
"N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhg" +
"hWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" +
"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggl" +
"oFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +
"KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBh" +
"FkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDE" +
"gEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xx" +
"SCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +
"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=");
Gantt1->Columns->Add(L"Column");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Gantt1->EndUpdate();

939
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="));
	var_Appearance->Add(1,TVariant("CP:3 -2 -2 2 2"));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="));
	var_Appearance->Add(2,TVariant("CP:4 -2 -2 2 2"));
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exGroupLinesAtRoot;
Gantt1->HasButtons = Exganttlib_tlb::ExpandButtonEnum::exCustom;
Gantt1->HasButtonsCustom[false] = 16777216;
Gantt1->HasButtonsCustom[true] = 33554432;
Gantt1->Columns->Add(L"Column");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Gantt1->EndUpdate();

938
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant("XP:TREEVIEW 2 1"));
	var_Appearance->Add(2,TVariant("XP:TREEVIEW 2 2"));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->Columns->Add(L"Column");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Gantt1->EndUpdate();

937
How can I find if the control is running in DPI mode
OutputDebugString( PChar(Gantt1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",TNoParam(),TNoParam(),TNoParam())) );

936
How can I change the visual appearance of the +/- buttons (method 1)

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI="));
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
Gantt1->Columns->Add(L"Column");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h = var_Items->AddItem(TVariant("Root 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 1"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child 2"));
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Root 2"));
	var_Items->InsertItem(h,TNoParam(),TVariant("Child"));
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShort;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->get_Item(TVariant(1));
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exPattern;
	var_Column3->Filter = L"*B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

934
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matchi" +
"temcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount" +
" + ` item(s)`) )))");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

933
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = L"all";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

932
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(( ( 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>` + ( matc" +
"hitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcou" +
"nt + ` item(s)`) )))");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

931
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = L"allui";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

930
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( ava") +
"ilable 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)`) )))");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

929
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	TVariant i = TVariant(Gantt1->FormatABC(L"value + 1",Gantt1->Items->get_ItemToIndex(Item),TNoParam(),TNoParam()));
	Gantt1->Items->set_CellImage(TVariant(Item),TVariant(3),i);
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 apos ``";
	var_Column4->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellCaption(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = L"value + ` ` + available";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column5 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
Gantt1->Columns->get_Item(TVariant(2))->Filter = L"1";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("(`<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> ` replac" +
"e `]` with ` </b></bgcolor></fgcolor>`");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exganttlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exganttlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->Add(L"Pos");
	var_Column2->AllowSizing = false;
	var_Column2->AllowSort = false;
	var_Column2->Width = 32;
	var_Column2->FormatColumn = L"1 apos ``";
	var_Column2->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellCaption(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(Gantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",TVariant(Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exganttlib_tlb::IColumnPtr var_Column3 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column3->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column3->Filter = L"Item A|Item B";
Exganttlib_tlb::IColumnPtr var_Column4 = Gantt1->Columns->get_Item(TVariant(1));
	var_Column4->FilterType = Exganttlib_tlb::FilterTypeEnum::exPattern;
	var_Column4->Filter = L"*B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarCaption = L"`<r>` + value";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowFocusItem | Exganttlib_tlb::FilterListEnum::exShowCheckBox | Exganttlib_tlb::FilterListEnum::exSortItemsAsc;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarPrompt = PChar(Gantt1->FormatABC(L"`<b>` + value",TVariant(Gantt1->FilterBarPrompt),TNoParam(),TNoParam()));
Gantt1->FilterBarCaption = TVariant(String("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarCaption = TVariant(String("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : ``)");
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarCaption = L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarCaption = L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

920
FilterBarCaption Predefined Keywords

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void __fastcall TForm1::Gantt1AfterExpandItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Refresh();
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Check");
	var_Column->set_Def(Exganttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterType = Exganttlib_tlb::FilterTypeEnum::exCheck;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->Add(L"Pos");
	var_Column1->AllowSizing = false;
	var_Column1->AllowSort = false;
	var_Column1->Width = 32;
	var_Column1->FormatColumn = L"1 apos ``";
	var_Column1->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellState(TVariant(var_Items->InsertItem(h,TNoParam(),TVariant("Sub-Item B1"))),TVariant(1),1);
	var_Items->InsertItem(h,TNoParam(),TVariant("Sub-Item B2"));
	var_Items->set_ExpandItem(h,true);
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterInclude = Exganttlib_tlb::FilterIncludeEnum::exItemsWithChilds;
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarCaption = TVariant(String("`<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=8" +
"08080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" +
" `</fgcolor>`");
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column2 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column2->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarFont = (IFontDisp*)(Gantt1->Font);
Gantt1->FilterBarCaption = L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value";
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPrompt = PChar(Gantt1->FormatABC(L"`<r>` + value",TVariant(Gantt1->FilterBarPrompt),TNoParam(),TNoParam()));
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->RightToLeft = true;
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJ") +
"jyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKm" +
"SZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OR" +
"OicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +
"DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJX" +
"AiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" +
"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G" +
"0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +
"kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRS" +
"MRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhA" +
"QHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ"));
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = 0x1000000;
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = RGB(255,0,0);
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = -1;
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
	var_Items->set_LockedItemCount(Exganttlib_tlb::VAlignmentEnum::BottomAlignment,1);
	long h = var_Items->get_LockedItem(Exganttlib_tlb::VAlignmentEnum::BottomAlignment,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellCaption(TVariant(h),TVariant(0),TVariant("<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus."));
	var_Items->set_CellCaptionFormat(TVariant(h),TVariant(0),Exganttlib_tlb::CaptionFormatEnum::exHTML);
Gantt1->FilterBarCaption = L"`<r><fgcolor=808080>` + value";
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarCaption = L"len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarCaption = L"`<r>` + value";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item A|Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::Gantt1Click(TObject *Sender)
{
	Gantt1->ClearFilter();
}

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::Gantt1FilterChange(TObject *Sender)
{
	OutputDebugString( L"Items.MatchItemCount" );
	OutputDebugString( PChar(Gantt1->Items->MatchItemCount) );
	OutputDebugString( PChar(Gantt1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",Gantt1->Items->MatchItemCount,TNoParam(),TNoParam())) );
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptPattern = L"Item";
Gantt1->EndUpdate();

908
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void __fastcall TForm1::Gantt1Click(TObject *Sender)
{
	Gantt1->ClearFilter();
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Gantt1->FilterBarPromptPattern = L"B";
Gantt1->EndUpdate();

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.
void __fastcall TForm1::Gantt1AddItem(TObject *Sender,Exganttlib_tlb::HITEM   Item)
{
	Gantt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Gantt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Gantt1->FilterBarCaption = L"len(value) = 0 ? `<fgcolor=808080>no filter` : value";
Gantt1->FilterBarPromptVisible = Exganttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exganttlib_tlb::IColumnPtr var_Column1 = Gantt1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exganttlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
Gantt1->ApplyFilter();
Gantt1->EndUpdate();

904
How do I change the drop down filter icon/button (black)

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(0,0,1);
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(255,255,255);
Gantt1->Description[Exganttlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>";
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::None2;
Gantt1->BackColorHeader = RGB(0,0,0);
Gantt1->ForeColorHeader = RGB(255,255,255);
Gantt1->HeaderVisible = true;
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Filter");
	var_Column->FilterList = Exganttlib_tlb::FilterListEnum::exShowExclude | Exganttlib_tlb::FilterListEnum::exShowCheckBox;
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->BackColorLevelHeader = Gantt1->BackColorHeader;
	var_Chart->ForeColorLevelHeader = Gantt1->ForeColorHeader;
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	var_Items->AddItem(TVariant("One"));
	var_Items->AddItem(TVariant("Two"));
	var_Items->AddItem(TVariant("Three"));
Gantt1->EndUpdate();

903
How do I change the drop down filter icon/button (white)

Gantt1->BeginUpdate();
Exganttlib_tlb::IAppearancePtr var_Appearance = Gantt1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="));
	var_Appearance->Add(1,TVariant("CP:2 -4 -4 2 4"));
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
Gantt1->Background[Exganttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = Gantt1->BackColor;
Gantt1->HeaderAppearance = Exganttlib_tlb::AppearanceEnum::None2;
Gantt1->BackColorHeader = RGB(255,255,255);
Gantt1->BackColorLevelHeader = Gantt1->BackColor;
Gantt1->HeaderHeight = 24;
Gantt1->HeaderVisible = true;
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->BackColorLevelHeader = Gantt1->BackColorHeader;
	var_Chart->ForeColorLevelHeader = Gantt1->ForeColorHeader;
Exganttlib_tlb::IColumnPtr var_Column = Gantt1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Gantt1->EndUpdate();

902
How can I display the week-number in ISO8601 format

Gantt1->BeginUpdate();
Exganttlib_tlb::IChartPtr var_Chart = Gantt1->Chart;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2007,12,12).operator double()));
	var_Chart->DrawGridLines = Exganttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->UnitScale = Exganttlib_tlb::UnitEnum::exWeek;
	var_Chart->WeekNumberAs = Exganttlib_tlb::WeekNumberAsEnum::exISO8601WeekNumber;
	var_Chart->FirstWeekDay = Exganttlib_tlb::WeekDayEnum::exMonday;
Gantt1->EndUpdate();

901
How can I include the child items, when a filter is applied

Gantt1->BeginUpdate();
Gantt1->ColumnAutoResize = true;
Gantt1->ContinueColumnScroll = false;
Gantt1->MarkSearchColumn = false;
Gantt1->SearchColumnIndex = 1;
Gantt1->Indent = 16;
Gantt1->LinesAtRoot = Exganttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Gantt1->FilterBarPromptVisible = true;
Gantt1->FilterBarPromptPattern = L"Nancy";
Gantt1->FilterInclude = Exganttlib_tlb::FilterIncludeEnum::exItemsWithChilds;
Gantt1->Chart->LevelCount = 2;
Exganttlib_tlb::IColumnsPtr var_Columns = Gantt1->Columns;
	var_Columns->Add(L"Name")->Width = 96;
	var_Columns->Add(L"Title")->Width = 96;
	var_Columns->Add(L"City");
Exganttlib_tlb::IItemsPtr var_Items = Gantt1->Items;
	long h0 = var_Items->AddItem(TVariant("Nancy Davolio"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Seattle"));
	h0 = var_Items->InsertItem(h0,TNoParam(),TVariant("Andrew Fuller"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Vice President, Sales"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Tacoma"));
	h0 = var_Items->InsertItem(h0,TNoParam(),TVariant("Michael Suyama"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("London"));
	h0 = var_Items->AddItem(TVariant("Janet Leverling"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Kirkland"));
	h0 = var_Items->InsertItem(h0,TNoParam(),TVariant("Margaret Peacock"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(1),TVariant("Sales Representative"));
	var_Items->set_CellCaption(TVariant(h0),TVariant(2),TVariant("Redmond"));
Gantt1->ApplyFilter();
Gantt1->EndUpdate();