2088:
How can I define a column of button type

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		OutputDebugString( PChar(var_Items->get_CellValue(TVariant(Item),TVariant(ColIndex))) );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Button");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellButtonAutoWidth,TVariant(false));
	var_Column->FormatColumn = L"``";
	var_Column->AllowSizing = false;
	var_Column->Width = 48;
G2antt1->Columns->Add(L"Second")->FormatColumn = L"` Item ` + 1 index ``";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Button 1"));
	var_Items->AddItem(TVariant("Button 2"));
	var_Items->AddItem(TVariant("Button 3 "));
G2antt1->EndUpdate();

2087:
Is it possible to configure different colour/icon when there is a active filter

// FilterChange event - Occurs when the filter was changed.
void __fastcall TForm1::G2antt1FilterChange(TObject *Sender)
{
	G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = G2antt1->FormatABC(L"value = 0 ? 0x1000001 : 0x10000FF ",TVariant(G2antt1->Columns->get_Item(TVariant(0))->FilterType),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->RenderType = -16777216;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->ShowFocusRect = false;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000001;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->BackColorHeader = RGB(255,255,255);
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->Filter = L"Item B";
	var_Column1->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2086:
ADODB Requery sample

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	/*
		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(G2antt1(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*)G2antt1->DataSource->Requery(0);
}

// Error event - Fired when an internal error occurs.
void __fastcall TForm1::G2antt1Error(TObject *Sender,long   Error,BSTR   Description)
{
	OutputDebugString( L"Description" );
}

G2antt1->BeginUpdate();
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->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\\ExG2antt\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
G2antt1->DataSource = (IDispatch*)rs;
G2antt1->ConditionalFormats->Add(L"%1=12345",TNoParam())->BackColor = RGB(240,240,240);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("Requery (add a new record, using ADODB.Command)"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exg2anttlib_tlb::AlignmentEnum::CenterAlignment);
G2antt1->EndUpdate();

2085:
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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->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=="));
G2antt1->BackColorHeader = 0x1000000;
G2antt1->ForeColorHeader = RGB(128,128,128);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x2000000;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(255,255,255);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(0,0,1);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exSelBackColorFilter] = 0x1ff8000;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exSelForeColorFilter] = RGB(240,240,240);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
G2antt1->HeaderHeight = 24;
G2antt1->BackColorLevelHeader = G2antt1->BackColor;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(2));
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exHeaderPaddingRight,TVariant(2));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("A"));
	var_Items->AddItem(TVariant("B"));
	var_Items->AddItem(TVariant("C"));
	var_Items->AddItem(TVariant("D"));
G2antt1->EndUpdate();

2084:
I specify the ItemHeight for each row, but as soon as I click the chart section, the item's height is restored to default (not working). What could be the cause

G2antt1->BeginUpdate();
G2antt1->ScrollBySingleLine = true;
G2antt1->Columns->Add(L"Types");
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exCreateBarAuto;
	var_Chart->AllowLinkBars = false;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->set_PaneWidth(false,112);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%9%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("ItemMinHeight"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TVariant("A2"),TNoParam());
	var_Items->set_ItemMinHeight(h,64);
	var_Items->AddBar(var_Items->AddItem(TVariant("Default (One)")),TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A3"),TNoParam());
	h = var_Items->AddItem(TVariant("Default (Two)"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A4"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TVariant("A5"),TNoParam());
	h = var_Items->AddItem(TVariant("ItemFixedHeight"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A6"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TVariant("A7"),TNoParam());
	var_Items->set_ItemMinHeight(h,20);
	var_Items->set_ItemMaxHeight(h,20);
	h = var_Items->AddItem(TVariant("ItemMaxHeight"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A8"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,8).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TVariant("A9"),TNoParam());
	var_Items->set_ItemMaxHeight(h,24);
G2antt1->EndUpdate();

2083:
The ItemHeight property is not working (method 2)

G2antt1->BeginUpdate();
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
G2antt1->Columns->Add(L"Column")->Width = 128;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is a bit of text that should break the line"))),TVariant(0),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_ItemDivider(h,0);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_ItemDividerLineAlignment(h,Exg2anttlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_ItemHeight(h,3);
	var_Items->set_CellSingleLine(TVariant(var_Items->AddItem(TVariant("This is a bit of text that should break the line"))),TVariant(0),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
G2antt1->EndUpdate();

2082:
The ItemHeight property is not working (method 1)

G2antt1->BeginUpdate();
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Column");
	var_Column->Width = 128;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("This is a bit of text that should break the line"));
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_ItemDivider(h,0);
	var_Items->set_SelectableItem(h,false);
	var_Items->set_ItemDividerLineAlignment(h,Exg2anttlib_tlb::DividerAlignmentEnum::DividerCenter);
	var_Items->set_ItemMinHeight(h,3);
	var_Items->set_ItemMaxHeight(h,3);
	var_Items->AddItem(TVariant("This is a bit of text that should break the line"));
G2antt1->EndUpdate();

2081:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

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

2080:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

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

2079:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

G2antt1->BeginUpdate();
G2antt1->ColumnAutoResize = false;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"City");
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
G2antt1->AllowGroupBy = true;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->BackColorSortBar = RGB(250,250,250);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exColumnsFloatBar] = L"Group-By";
G2antt1->ColumnsFloatBarVisible = Exg2anttlib_tlb::ColumnsFloatBarVisibleEnum::exColumnsFloatBarVisibleIncludeGroupByColumns;
G2antt1->ColumnsFloatBarSortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->Columns->get_Item(TVariant("City"))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2078:
How can I advance to the next line, once the user presses the ENTER key

// KeyDown event - Occurs when the user presses a key while an object has the focus.
void __fastcall TForm1::G2antt1KeyDown(TObject *Sender,short *   KeyCode,short   Shift)
{
	OutputDebugString( L"KeyCode Before:" );
	OutputDebugString( L"KeyCode" );
	KeyCode = TVariant(G2antt1->FormatABC(L"value = 13 ? 40 : value",TVariant(KeyCode),TNoParam(),TNoParam()));
	OutputDebugString( L"KeyCode After:" );
	OutputDebugString( L"KeyCode" );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Columns->Add(L"A")->Editor;
		var_Editor->Appearance = Exg2anttlib_tlb::InplaceAppearanceEnum::EtchedApp;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	Exg2anttlib_tlb::IEditorPtr var_Editor1 = var_Columns->Add(L"B")->Editor;
		var_Editor1->Appearance = Exg2anttlib_tlb::InplaceAppearanceEnum::EtchedApp;
		var_Editor1->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h0 = var_Items->AddItem(TVariant("Item A.1"));
	var_Items->set_CellValue(TVariant(h0),TVariant(1),TVariant("Item B.1"));
	h0 = var_Items->AddItem(TVariant("Item A.2"));
	var_Items->set_CellValue(TVariant(h0),TVariant(1),TVariant("Item B.2"));
G2antt1->EndUpdate();

2077:
I am using AddNew to add new records, but I can not see them into the control

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

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	/*
		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 var_Recordset = (IDispatch*)G2antt1->DataSource;
		var_Recordset->AddNew(TNoParam(),TNoParam());
		var_Recordset->Fields->get_Item(TVariant("Name"))->set_Value(TVariant("Task New"));
		var_Recordset->Update(TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	Adodb_tlb::FieldsPtr var_Fields = rs->Fields;
		var_Fields->Append(L"Name",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
		var_Fields->Append(L"Start",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
		var_Fields->Append(L"End",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
	rs->Open(TNoParam(),TNoParam(),TNoParam(),TNoParam(),0);
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("Name"))->set_Value(TVariant("Task A"));
	rs->Fields->get_Item(TVariant("Start"))->set_Value(TVariant(TDateTime(2001,1,4).operator double()));
	rs->Fields->get_Item(TVariant("End"))->set_Value(TVariant(TDateTime(2001,1,10).operator double()));
	rs->Update(TNoParam(),TNoParam());
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields->get_Item(TVariant("Name"))->set_Value(TVariant("Task B"));
	rs->Fields->get_Item(TVariant("Start"))->set_Value(TVariant(TDateTime(2001,1,5).operator double()));
	rs->Fields->get_Item(TVariant("End"))->set_Value(TVariant(TDateTime(2001,1,11).operator double()));
	rs->Update(TNoParam(),TNoParam());
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant("Start"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant("End"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_LockedItemCount(Exg2anttlib_tlb::VAlignmentEnum::exTop,1);
	long h = var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exTop,0);
	var_Items->set_ItemDivider(h,0);
	var_Items->set_CellHasButton(TVariant(h),TVariant(0),true);
	var_Items->set_CellValue(TVariant(h),TVariant(0),TVariant("AddNew"));
	var_Items->set_CellHAlignment(TVariant(h),TVariant(0),Exg2anttlib_tlb::AlignmentEnum::CenterAlignment);
G2antt1->DetectAddNew = true;
G2antt1->DetectDelete = true;
G2antt1->EndUpdate();

2076:
How can I create a new ADO recordset

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

G2antt1->BeginUpdate();
/*
	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"ADODB.Recordset");
	Adodb_tlb::FieldsPtr var_Fields = rs->Fields;
		var_Fields->Append(L"Name",Adodb_tlb::DataTypeEnum::adBSTR,0,TNoParam(),TNoParam());
		var_Fields->Append(L"Start",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
		var_Fields->Append(L"End",Adodb_tlb::DataTypeEnum::adDate,0,TNoParam(),TNoParam());
	rs->Open(TNoParam(),TNoParam(),TNoParam(),TNoParam(),0);
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Update(TNoParam(),TNoParam());
	rs->AddNew(TNoParam(),TNoParam());
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Fields = Adodb_tlb::CursorTypeEnum::adOpenForwardOnly;
	rs->Update(TNoParam(),TNoParam());
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant("Start"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant("End"))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2075:
Do do I get the DAO version I have installed

OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.35")->Version->Version );
OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.36")->Version->Version );
OutputDebugString( Variant::CreateObject(L"DAO.DBEngine.120")->Version->Version );

2074:
How do I get a list of interfaces the object implemenets

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

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

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access2007\\sample.accdb",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
OutputDebugString( Variant::CreateObject(L"Exontrol.PropertiesList")->get_Interfaces(rs)->get_Interfaces(rs) );
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2073:
Do do I get the ADO version I have installed

OutputDebugString( L"ADO Version:" );
OutputDebugString( Variant::CreateObject(L"ADODB.Connection")->Version->Version );

2072:
DAO, ACCDB, 120

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

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

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access2007\\sample.accdb",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2071:
DAO, MDB, 120

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

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

		Microsoft Office 12.0 Access database engine Object Library

	TypeLib: ACEDAO.DLL

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.120");
	Dao_tlb::Recordset2Ptr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\SAMPLE.MDB",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2070:
DAO, MDB

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

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

		Microsoft DAO 3.6 Object Library

	TypeLib: dao360.dll

	to define the namespace: Dao_tlb
*/
//#include "DAO_TLB.h"
Dao_tlb::_DBEnginePtr var_PrivDBEngine = Variant::CreateObject(L"DAO.DBEngine.36");
	Dao_tlb::RecordsetPtr rs = var_PrivDBEngine->OpenDatabase(L"C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\SAMPLE.MDB",TNoParam(),TNoParam(),TNoParam())->OpenRecordset(L"Orders",TNoParam(),TNoParam(),TNoParam());
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2069:
ADODB, ACCDB, x64

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

G2antt1->BeginUpdate();
G2antt1->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"ADODB.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenKeyset,Adodb_tlb::LockTypeEnum::adLockReadOnly,0);
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2068:
ADOR, ACCDB

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

G2antt1->BeginUpdate();
G2antt1->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\\ExG2antt\\Sample\\Access2007\\sample.accdb"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2067:
ADODB, MDB

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

G2antt1->BeginUpdate();
G2antt1->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"ADODB.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2066:
ADOR, MDB

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

G2antt1->BeginUpdate();
G2antt1->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.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\SAMPLE.MDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
G2antt1->DataSource = (IDispatch*)rs;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(1994,8,4).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,256);
G2antt1->Items->AllowCellValueToItemBar = true;
G2antt1->Columns->get_Item(TVariant(2))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
G2antt1->Columns->get_Item(TVariant(4))->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
G2antt1->EndUpdate();

2065:
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-2)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks");
	var_Columns->Add(L"Start")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
	var_Columns->Add(L"End")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->AllowCreateBar = Exg2anttlib_tlb::CreateBarEnum::exCreateBarAuto;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,22).operator double()),TVariant(TDateTime(2006,9,25).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBold(h,true);
	var_Items->CellValueToItemBar(TVariant(h),TVariant(1),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarStart,TVariant("newbar"));
	var_Items->CellValueToItemBar(TVariant(h),TVariant(2),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEnd,TVariant("newbar"));
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2006,9,23).operator double()),TVariant(TDateTime(2006,9,26).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

2064:
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-1)

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks");
	var_Columns->Add(L"Start")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
	var_Columns->Add(L"End")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2006,9,20).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,196);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2006,9,21).operator double()),TVariant(TDateTime(2006,9,24).operator double()),TNoParam(),TNoParam());
	long h = var_Items->AddItem(TVariant("Task 2"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2006,9,22).operator double()),TVariant(TDateTime(2006,9,25).operator double()),TNoParam(),TNoParam());
	var_Items->set_FormatCell(TVariant(h),TVariant(1),L"``");
	var_Items->set_FormatCell(TVariant(h),TVariant(2),L"``");
	var_Items->set_ItemBold(h,true);
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2006,9,23).operator double()),TVariant(TDateTime(2006,9,26).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

2063:
How can I use the CRD (eXCRD format)

G2antt1->BeginUpdate();
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Default");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellFormatLevel,TVariant(String("[b=0]60;1[b=15]:60,((20;\"<fgcolor=808080>Dateigröße\"[b=1][a=2]:120,2[b=15])/(20;\"<fgcolor=808080>Erstellt am\"[a=2]:120,3[b=") +
"15])/(20;\"<fgcolor=808080>Zuletzt bearbeitet\"[b=4][a=2]:120,4[b=15]))"));
	var_Column->AllowSort = false;
G2antt1->Columns->Add(L"1")->Visible = false;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"2");
	var_Column1->Visible = false;
	var_Column1->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	var_Column1->FormatColumn = L"1 index `A-Z`";
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"3");
	var_Column2->Visible = false;
	var_Column2->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	var_Column2->FormatColumn = L"1 index ``";
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"4");
	var_Column3->Visible = false;
	var_Column3->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
	var_Column3->FormatColumn = L"date(``)";
String dih = 48;
G2antt1->DefaultItemHeight = dih;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->Bars->get_Item(TVariant("Task"))->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStackAutoArrange | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("One"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,12).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("B"),TNoParam());
	var_Items->set_ItemMaxHeight(h,dih);
	h = var_Items->AddItem(TVariant(""));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Two"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("B"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,14).operator double()),TVariant("B2"),TNoParam());
	var_Items->set_ItemMaxHeight(h,dih);
	h = var_Items->AddItem(TVariant(""));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Three"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TVariant("A"),TNoParam());
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->HeaderSingleLine = false;
G2antt1->HeaderHeight = 36;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Single-Line (exCaptionSingleLine)");
		var_Column->Width = 96;
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(-1));
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)");
		var_Column1->Width = 96;
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(0));
		var_Column1->FormatColumn = L"%0";
	Exg2anttlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)");
		var_Column2->Width = 96;
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
		var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
		var_Column2->FormatColumn = L"%0";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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."));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->HeaderSingleLine = false;
G2antt1->HeaderHeight = 36;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
G2antt1->Columns->Add(L"Default")->Width = 128;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::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),Exg2anttlib_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_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exg2anttlib_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),Exg2anttlib_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_CellValueFormat(TVariant(h),TVariant(0),Exg2anttlib_tlb::ValueFormatEnum::exHTML);
	var_Items->set_CellSingleLine(TVariant(h),TVariant(0),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
G2antt1->Columns->Add(L"Default")->Width = 128;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionBreakWrap);
	var_Items->AddItem(TVariant("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->ColumnAutoResize = false;
G2antt1->ScrollBySingleLine = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Default");
	var_Column->Width = 128;
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(1));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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."));
G2antt1->EndUpdate();

2058:
The histogram is showing empty space, when expanding an item. What could be wrong

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exGroupLinesOutside;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
	var_Chart->HistogramVisible = true;
	var_Chart->HistogramHeight = 48;
	var_Chart->HistogramView = Exg2anttlib_tlb::HistogramViewEnum::exHistogramNoGrouping | Exg2anttlib_tlb::HistogramViewEnum::exHistogramLeafItems | Exg2anttlib_tlb::HistogramViewEnum::exHistogramAllItems;
	var_Chart->Bars->get_Item(TVariant("Task"))->HistogramPattern = Exg2anttlib_tlb::PatternEnum::exPatternBDiagonal;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Project 1"));
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2")),TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TNoParam(),TNoParam());
	var_Items->set_ExpandItem(h,true);
	h = var_Items->AddItem(TVariant("Project 2"));
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,10).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->InsertItem(h,TNoParam(),TVariant("Item 2")),TVariant("Task"),TVariant(TDateTime(2001,1,6).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->BackColorHeader = RGB(1,0,0);
G2antt1->ForeColorHeader = RGB(255,255,255);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exBackColorFilter] = G2antt1->BackColorHeader;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exForeColorFilter] = G2antt1->ForeColorHeader;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = RGB(240,240,240);
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Bump;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Items");
	var_Column->FilterOnType = true;
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exNoItems;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

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

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

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

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

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

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

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

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

2052:
How can I scroll the chart to ensure that a bar fits the chart's client area

// ButtonClick event - Occurs when user clicks on the cell's button.
void __fastcall TForm1::G2antt1ButtonClick(TObject *Sender,Exg2anttlib_tlb::HITEM   Item,long   ColIndex,Variant   Key)
{
	TVariant kBar = TVariant(G2antt1->Items->get_FirstItemBar(Item));
	TVariant dStart = TVariant(G2antt1->Items->get_ItemBar(Item,TVariant(kBar),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarStart));
	TVariant dEnd = TVariant(G2antt1->Items->get_ItemBar(Item,TVariant(kBar),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarEnd));
	TVariant dScroll = TVariant(G2antt1->FormatABC(L"(A+B)/2",TVariant(dStart),TVariant(dEnd),TNoParam()));
	G2antt1->Chart->ScrollTo(dScroll,TVariant(1));
}

G2antt1->BeginUpdate();
G2antt1->ShowFocusRect = false;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesDot4;
G2antt1->SelBackMode = Exg2anttlib_tlb::BackModeEnum::exTransparent;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->OverviewVisible = Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowDateTimeScaleBottom | Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewAllowVerticalScroll | Exg2anttlib_tlb::OverviewVisibleEnum::exOverviewShowAllVisible;
	var_Chart->OverviewHeight = 26;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,6,8).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,64);
	var_Chart->UnitWidth = 14;
	var_Chart->LevelCount = 2;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesDot4;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->ColumnsFormatLevel = L"\"\":2,(\"\"/14;1/\"\"):14";
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Default");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
		var_Column->Visible = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("T1")),TVariant("Task"),TVariant(TDateTime(2011,6,9).operator double()),TVariant(TDateTime(2011,6,17).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T2")),TVariant("Task"),TVariant(TDateTime(2012,1,10).operator double()),TVariant(TDateTime(2012,1,17).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T3")),TVariant("Task"),TVariant(TDateTime(2013,2,19).operator double()),TVariant(TDateTime(2013,2,23).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T4")),TVariant("Task"),TVariant(TDateTime(2014,12,19).operator double()),TVariant(TDateTime(2014,12,23).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

2051:
Is it possible to hide completely the list portion

G2antt1->BeginUpdate();
G2antt1->HeaderHeight = 32;
G2antt1->OnResizeControl = Exg2anttlib_tlb::OnResizeControlEnum::exDisableSplitter | Exg2anttlib_tlb::OnResizeControlEnum::exResizeChart;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%CS0 = 1",TNoParam());
	var_ConditionalFormat->ApplyToBars = L"Task";
	var_ConditionalFormat->BarColor = RGB(255,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2011,6,8).operator double()));
	var_Chart->AdjustLevelsToBase = true;
	var_Chart->set_PaneWidth(false,0);
	var_Chart->LevelCount = 2;
	var_Chart->AllowInsideZoom = true;
	Exg2anttlib_tlb::ILevelPtr var_Level = var_Chart->get_Level(0);
		var_Level->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
		var_Level->set_Label(TVariant("<b><%d%>-<%mmm%>-<%yyyy%>"));
		var_Level->Unit = Exg2anttlib_tlb::UnitEnum::exDay;
	Exg2anttlib_tlb::ILevelPtr var_Level1 = var_Chart->get_Level(1);
		var_Level1->set_Label(TVariant("<%h%>"));
		var_Level1->Count = 8;
		var_Level1->Unit = Exg2anttlib_tlb::UnitEnum::exHour;
		var_Level1->FormatLabel = TVariant(String("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : '") +
"Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; " +
"16 : 'Shift <b>3</b><br>26/24' ) ) )");
	var_Chart->UnitWidth = 64;
	var_Chart->NonworkingDays = 0;
	var_Chart->ColumnsFormatLevel = L"0";
	var_Chart->AllowInsideZoom = true;
	var_Chart->DefaultInsideZoomFormat->InsideUnit = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->AllowResizeInsideZoom = false;
	var_Chart->InsideZoomOnDblClick = false;
	Exg2anttlib_tlb::IInsideZoomsPtr var_InsideZooms = var_Chart->InsideZooms;
		var_InsideZooms->SplitBaseLevel = false;
		var_InsideZooms->DefaultWidth = 0;
	Exg2anttlib_tlb::IInsideZoomsPtr var_InsideZooms1 = var_Chart->InsideZooms;
		var_InsideZooms1->Add(TVariant(TDateTime(2011,6,9,8,00,00,0).operator double()));
		var_InsideZooms1->Add(TVariant(TDateTime(2011,6,9,16,00,00,0).operator double()));
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesDot4;
G2antt1->Columns->Add(L"Defaul")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("T1")),TVariant("Task"),TVariant(TDateTime(2011,6,8,8,00,00,0).operator double()),TVariant(TDateTime(2011,6,10).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T2")),TVariant("Task"),TVariant(TDateTime(2011,6,8,16,00,00,0).operator double()),TVariant(TDateTime(2011,6,10,8,00,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T3")),TVariant("Task"),TVariant(TDateTime(2011,6,9).operator double()),TVariant(TDateTime(2011,6,10).operator double()),TNoParam(),TNoParam());
	var_Items->set_CellState(TVariant(var_Items->get_ItemByIndex(1)),TVariant(0),1);
G2antt1->EndUpdate();

2050:
How can I find out what exBarWorkingCount represents

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->AllowSizing = false;
	var_Column->Width = 42;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Format");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column1->FormatColumn = TVariant(String("trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``)  + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=i") +
"nt((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(" +
"=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0" +
":=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))");
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Value");
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column2->SortType = Exg2anttlib_tlb::SortTypeEnum::SortNumeric;
	var_Column2->Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::EditType;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
G2antt1->SelBackColor = RGB(204,232,255);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2009,4,6).operator double()));
	var_Chart->set_PaneWidth(false,256);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->NonworkingHours = 15728767;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->ShowNonworkingUnits = false;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Chart->AllowLinkBars = false;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
	var_Chart->get_Level(0)->DrawGridLines = true;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->ResizeUnitCount = 15;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,TVariant(String("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") +
"<%h%>:<%nn%> <%AM/PM%><||>15"));
	var_Chart->AllowZoomOnFly = Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFlyIncludeNeighborItems | Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFly;
	var_Chart->BackColorZoomOnFly = RGB(255,255,0);
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant(""));
	var_Items->set_SelectableItem(h,false);
	var_Items->set_SortableItem(h,false);
	var_Items->AddBar(var_Items->AddItem(TVariant("T1")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,13,00,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T2")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,16,00,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T3")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,19,00,00,0).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant(""));
	var_Items->set_SelectableItem(h,false);
	var_Items->set_SortableItem(h,false);
G2antt1->EndUpdate();

2049:
How can I hide the filter bar description

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column->Filter = L"B";
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("A"));
	var_Items->AddItem(TVariant("B"));
	var_Items->AddItem(TVariant("C"));
G2antt1->ApplyFilter();
G2antt1->FilterBarHeight = 0;
G2antt1->EndUpdate();

2048:
How can I add a break bar

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->AllowSizing = false;
	var_Column->Width = 42;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Working");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column1->FormatColumn = TVariant(String("((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ") +
"? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
G2antt1->SelBackColor = RGB(204,232,255);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2009,4,6).operator double()));
	var_Chart->set_PaneWidth(false,164);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->NonworkingHours = 15728767;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->ShowNonworkingUnits = false;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Add(L"Task:Split");
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
		var_Bar->Shortcut = L"Task";
	var_Chart->AllowLinkBars = false;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
	var_Chart->get_Level(0)->DrawGridLines = true;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->ResizeUnitCount = 15;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,TVariant(String("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") +
"<%h%>:<%nn%> <%AM/PM%><||>15"));
	var_Chart->AllowZoomOnFly = Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFlyIncludeNeighborItems | Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFly;
	var_Chart->BackColorZoomOnFly = RGB(255,255,0);
	var_Chart->AllowNonworkingBars = true;
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(""));
	long h = var_Items->AddItem(TVariant("T1"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) ");
	var_Items->AddBar(h,TVariant(""),TVariant(TDateTime(2009,4,6,7,30,00,0).operator double()),TVariant(TDateTime(2009,4,6,9,30,00,0).operator double()),TVariant("A"),TVariant("<c><font ;4>break<br>bar"));
	var_Items->set_ItemBar(h,TVariant("A"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTreatAsNonworking,TVariant(true));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,12,00,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T2")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,17,45,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddItem(TVariant(""));
G2antt1->EndUpdate();

2047:
It seems the ResizeUnitCount have no effect on the ZoomOnFly feature, is it normal

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->AllowSizing = false;
	var_Column->Width = 42;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Working");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column1->FormatColumn = TVariant(String("((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ") +
"? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
G2antt1->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
G2antt1->SelBackColor = RGB(204,232,255);
G2antt1->SelForeColor = RGB(0,0,0);
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->SelBackColor = G2antt1->SelBackColor;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2009,4,6).operator double()));
	var_Chart->set_PaneWidth(false,164);
	var_Chart->LevelCount = 2;
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->NonworkingHours = 15728767;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->ShowNonworkingUnits = false;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Chart->AllowLinkBars = false;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exRowLines;
	var_Chart->GridLineStyle = Exg2anttlib_tlb::GridLinesStyleEnum::exGridLinesSolid;
	var_Chart->get_Level(0)->DrawGridLines = true;
	var_Chart->ResizeUnitScale = Exg2anttlib_tlb::UnitEnum::exMinute;
	var_Chart->ResizeUnitCount = 15;
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exMinute,TVariant(String("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> ") +
"<%h%>:<%nn%> <%AM/PM%><||>15"));
	var_Chart->AllowZoomOnFly = Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFlyIncludeNeighborItems | Exg2anttlib_tlb::ZoomOnFlyEnum::exZoomOnFly;
	var_Chart->BackColorZoomOnFly = RGB(255,255,0);
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant(""));
	var_Items->AddBar(var_Items->AddItem(TVariant("T1")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,12,00,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("T2")),TVariant("Task"),TVariant(TDateTime(2009,4,6,10,00,00,0).operator double()),TVariant(TDateTime(2009,4,6,17,45,00,0).operator double()),TNoParam(),TNoParam());
	var_Items->AddItem(TVariant(""));
G2antt1->EndUpdate();

2046:
Export Data in HTML format

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBold(Item,true);
		var_Items->AddBar(Item,TVariant("Summary"),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(2))),TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(4))),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(i));
		var_Items->set_ItemBar(Item,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant(i));
}

G2antt1->BeginUpdate();
G2antt1->BackColorAlternate = RGB(240,240,240);
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPromptType = Exg2anttlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
G2antt1->SingleSort = false;
G2antt1->AllowGroupBy = true;
G2antt1->BackColorSortBar = G2antt1->BackColor;
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") +
"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="));
	var_Appearance->RenderType = -268435456;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawGridLines = Exg2anttlib_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 = Exg2anttlib_tlb::WeekDayEnum::exMonday;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeSolid;
		var_Bar->Color = 0x1808080;
		var_Bar->Height = 7;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%513%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=(%2-%1) in (3,5) ? %513 : `` %>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->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";
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = G2antt1->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";
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Start");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant(""));
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"End");
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant(""));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task C"));
G2antt1->Columns->get_Item(TVariant("Tasks"))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();
String sFile = "c:/temp/export.html";
G2antt1->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());

2045:
Export Data in CSV format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarMove,TVariant(i));
		var_Items->set_ItemBar(Item,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarDuration,TVariant(i));
}

G2antt1->BeginUpdate();
G2antt1->BackColorAlternate = RGB(240,240,240);
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exAllLines;
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPromptType = Exg2anttlib_tlb::FilterPromptEnum::exFilterPromptContainsAny;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,196);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2008,1,1).operator double()));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=(%2-%1) in (3,5) ? %513 : `` %>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->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";
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat1 = G2antt1->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";
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Tasks")->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Start");
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(1));
		var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant(""));
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"End");
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(2));
		var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant(""));
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task A"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task B"));
	var_Items->AddItem(TVariant("Task C"));
G2antt1->EndUpdate();
OutputDebugString( PChar(G2antt1->Export(TVariant(""),TVariant("vis"))) );

2044:
I want to be able to detect when a user clicks on a row in the chart that is not populated

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::G2antt1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long item = G2antt1->ItemFromPoint[-1,-1,col,hit];
	Date date = G2antt1->Chart->get_DateFromPoint(-1,-1);
	TVariant sMessage = TVariant(G2antt1->FormatABC(L"(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`)  ",TVariant(date),TVariant(item),TNoParam()));
	OutputDebugString( L"sMessage" );
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_PaneWidth(false,128);
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2018,1,1).operator double()));
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 1")),TVariant("Task"),TVariant(TDateTime(2018,1,2).operator double()),TVariant(TDateTime(2018,1,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 2")),TVariant("Task"),TVariant(TDateTime(2018,1,3).operator double()),TVariant(TDateTime(2018,1,13).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Task 3")),TVariant("Task"),TVariant(TDateTime(2018,1,4).operator double()),TVariant(TDateTime(2018,1,14).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

2043:
Is it possible to have multiple calendars. A calendar for each row for example. Reason : some of our lines work 2 shifts but some also have a night shift

G2antt1->BeginUpdate();
G2antt1->Columns->Add(L"Tasks");
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Working");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(258));
	var_Column->FormatColumn = TVariant(String("((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((") +
"1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')");
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2009,4,6).operator double()));
	var_Chart->set_PaneWidth(false,148);
	var_Chart->LevelCount = 2;
	var_Chart->ShowNonworkingUnits = false;
	var_Chart->ShowNonworkingDates = false;
	Exg2anttlib_tlb::IBarsPtr var_Bars = var_Chart->Bars;
		var_Bars->Add(L"Task:Split")->Shortcut = L"Task";
		var_Bars->get_Item(TVariant("Task"))->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarKeepWorkingCount,TVariant(true));
	var_Chart->set_Label(Exg2anttlib_tlb::UnitEnum::exHour,L"<%h%><||><||>65536");
	var_Chart->get_Level(0)->FormatLabel = L"`<font small fonts;6>` + value";
	var_Chart->get_Level(1)->FormatLabel = TVariant(String("len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (v") +
"alue left 1) + `` )");
	var_Chart->UnitScale = Exg2anttlib_tlb::UnitEnum::exHour;
	var_Chart->UnitWidth = 9;
G2antt1->Items->AllowCellValueToItemBar = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	String sCalendar1 = "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)";
	long h = var_Items->AddItem(TVariant("Shift 1"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar1");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,7).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Shift 1"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar1");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,8).operator double()),TNoParam(),TNoParam());
	String sCalendar2 = "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)";
	h = var_Items->AddItem(TVariant("Shift 2"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar2");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,7).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Shift 2"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar2");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,8).operator double()),TNoParam(),TNoParam());
	String sCalendar3 = "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) ";
	h = var_Items->AddItem(TVariant("Shift 3"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar3");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,7).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Shift 3"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar3");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,8).operator double()),TNoParam(),TNoParam());
	String sCalendar4 = "weekday(value) in (0,6)";
	h = var_Items->AddItem(TVariant("Shift 3"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar4");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,7).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Shift 3"));
	var_Items->set_ItemNonworkingUnits(h,TVariant(false),L"sCalendar4");
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2009,4,6).operator double()),TVariant(TDateTime(2009,4,8).operator double()),TNoParam(),TNoParam());
G2antt1->EndUpdate();

2042:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	TVariant bHasParent = TVariant(G2antt1->FormatABC(L"value != 0",G2antt1->Items->get_ItemParent(Item),TNoParam(),TNoParam()));
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_CellHasCheckBox(TVariant(Item),TVariant(0),false);
}

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Tasks");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueFormat,TVariant(1));
	var_Column->FormatColumn = L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)";
G2antt1->HeaderVisible = Exg2anttlib_tlb::HeaderVisibleEnum::exHeaderVisibleExtendLevels;
G2antt1->SingleSel = false;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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(Exg2anttlib_tlb::VAlignmentEnum::exTop,1);
	var_Items->set_CellValue(TVariant(var_Items->get_LockedItem(Exg2anttlib_tlb::VAlignmentEnum::exTop,0)),TVariant(0),TVariant("<c>Select multiple items and press the <b>SPACE</b> key"));
G2antt1->EndUpdate();

2041:
How can I prevent changing the start/end colors of the bar, when ItemBar(exBarColor) property is applied

G2antt1->BeginUpdate();
G2antt1->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="));
G2antt1->VisualAppearance->Add(1,TVariant("E:\\Exontrol\\ExButton\\sample\\EBN\\Assorted\\bhframe.ebn"));
G2antt1->Chart->set_PaneWidth(false,96);
Exg2anttlib_tlb::IBarsPtr var_Bars = G2antt1->Chart->Bars;
	var_Bars->AddShapeCorner(TVariant(12345),TVariant(1));
	var_Bars->AddShapeCorner(TVariant(999),TVariant(2));
	var_Bars->AddShapeCorner(TVariant(1049),TVariant(3));
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Bars->Add(L"T1");
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum(0x3020 | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconVBar | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconRight);
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum(0x3e0 | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconLeft);
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternNDot;
		var_Bar->StartColor = RGB(0,255,0);
		var_Bar->Color = 0x1000000;
		var_Bar->EndColor = RGB(255,0,0);
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=`<font ;6>  ` + %0 + ``%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Bars->Add(L"T2");
		var_Bar1->StartShape = Exg2anttlib_tlb::ShapeCornerEnum(0x3020 | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconVBar | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconRight);
		var_Bar1->EndShape = Exg2anttlib_tlb::ShapeCornerEnum(0x400 | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconVBar | Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconRight);
		var_Bar1->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternNDot;
		var_Bar1->StartColor = -1;
		var_Bar1->Color = 0x1000000;
		var_Bar1->EndColor = -1;
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=`<font ;6>  ` + %0 + ``%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
G2antt1->Chart->set_FirstVisibleDate(TVariant(TDateTime(2001,1,1).operator double()));
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item 1"));
	var_Items->AddBar(h,TVariant("T1"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Item 2"));
	var_Items->AddBar(h,TVariant("T1"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(65280));
	h = var_Items->AddItem(TVariant("Item 3"));
	var_Items->AddBar(h,TVariant("T1"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
	h = var_Items->AddItem(TVariant("Item 4"));
	var_Items->AddBar(h,TVariant("T2"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	h = var_Items->AddItem(TVariant("Item 5"));
	var_Items->AddBar(h,TVariant("T2"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(65280));
	h = var_Items->AddItem(TVariant("Item 6"));
	var_Items->AddBar(h,TVariant("T2"),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TNoParam(),TNoParam());
	var_Items->set_ItemBar(h,TVariant(""),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarColor,TVariant(255));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->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="));
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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,"));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->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="));
G2antt1->Chart->set_PaneWidth(true,0);
G2antt1->Columns->Add(L"Default");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

2038:
I have an EBN bar. Now if I apply an additional color to the bar, e,g, yellow, the bar is displayed as "dark yellow", which I assume is due to the black EBN color. How can I get the more "bright yellow" color

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->AddBar(Item,TVariant("Summary"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
		long l = var_Items->get_GroupItem(Item);
		var_Items->set_CellSingleLine(TVariant(Item),TVariant(l),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
		var_Items->set_CellBold(TVariant(Item),TVariant(l),true);
		var_Items->set_ItemBackColor(Item,RGB(190,190,190));
	G2antt1->Chart->set_ItemBackColor(Item,RGB(190,190,190));
}

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") +
"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="));
	var_Appearance->RenderType = -268435456;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeSolid;
		var_Bar->Color = 0x1ff0000;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%513%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
G2antt1->HasLines = Exg2anttlib_tlb::HierarchyLineEnum::exNoLine;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exNoLinesAtRoot;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2037:
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop

G2antt1->BeginUpdate();
G2antt1->HeaderAppearance = Exg2anttlib_tlb::AppearanceEnum::Etched;
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->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"));
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exColumnsPositionSign] = 0x2000000;
G2antt1->EndUpdate();

2036:
Overlaid-Types

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		TVariant barName = TVariant(var_Items->get_ItemData(Item));
		var_Items->AddBar(Item,TVariant(barName),TVariant(TDateTime(2001,1,2).operator double()),TVariant(TDateTime(2001,1,4).operator double()),TVariant("A1"),TNoParam());
		var_Items->AddBar(Item,TVariant(barName),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("A2"),TNoParam());
		var_Items->AddBar(Item,TVariant(barName),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("A3"),TNoParam());
		var_Items->AddBar(Item,TVariant(barName),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("A4"),TNoParam());
}

G2antt1->BeginUpdate();
G2antt1->DefaultItemHeight = 22;
G2antt1->Columns->Add(L"Task");
G2antt1->ScrollBySingleLine = true;
G2antt1->BackColorAlternate = RGB(240,240,240);
G2antt1->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->DrawGridLines = Exg2anttlib_tlb::GridLinesEnum::exHLines;
	var_Chart->ShowNonworkingDates = false;
	var_Chart->set_PaneWidth(false,164);
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2000,12,28).operator double()));
	var_Chart->LevelCount = 2;
	var_Chart->Bars->Copy(L"Task",L"Intersect")->Color = RGB(255,0,0);
	var_Chart->Bars->get_Item(TVariant("Task"))->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsNone;
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->Copy(L"Task",L"Task-Transparent");
		var_Bar->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsNone;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarTransparent,TVariant(50));
		var_Bar->Pattern = Exg2anttlib_tlb::PatternEnum::exPatternBox;
		var_Bar->Color = RGB(0,0,0);
		var_Bar->StartColor = RGB(80,80,255);
		var_Bar->EndColor = var_Bar->StartColor;
	var_Chart->Bars->Copy(L"Task",L"Task-Offset")->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsOffset;
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"Task-OffsetTransparent");
		var_Bar1->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsTransparent | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsOffset;
		var_Bar1->set_Overlaid(Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsTransparent,TVariant(75));
	Exg2anttlib_tlb::IBarPtr var_Bar2 = var_Chart->Bars->Copy(L"Task",L"Task-Intersect");
		var_Bar2->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsIntersect;
		var_Bar2->set_Overlaid(Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsIntersect,TVariant("Intersect"));
	var_Chart->Bars->Copy(L"Task",L"Task-Stack")->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
	Exg2anttlib_tlb::IBarPtr var_Bar3 = var_Chart->Bars->Copy(L"Task",L"Task-StackAutoArrange");
		var_Bar3->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStackAutoArrange | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar3->Color = RGB(255,0,0);
		var_Bar3->OverlaidGroup = L"Task";
	Exg2anttlib_tlb::IBarPtr var_Bar4 = var_Chart->Bars->Copy(L"Task",L"Task-Cascade");
		var_Bar4->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsCascade;
		var_Bar4->Color = RGB(255,0,0);
		var_Bar4->OverlaidGroup = L"Task";
	Exg2anttlib_tlb::IBarPtr var_Bar5 = var_Chart->Bars->Copy(L"Task",L"Task-Strict");
		var_Bar5->OverlaidType = Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStrict | Exg2anttlib_tlb::OverlaidBarsTypeEnum::exOverlaidBarsStack;
		var_Bar5->OverlaidGroup = L"Task";
		var_Bar5->Color = RGB(255,0,0);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->InsertItem(0,TVariant("Task"),TVariant("Overlaid-None"));
	var_Items->InsertItem(0,TVariant("Task-Transparent"),TVariant("Overlaid-Semi-Transparent"));
	var_Items->InsertItem(0,TVariant("Task-Offset"),TVariant("Overlaid-Offset"));
	var_Items->InsertItem(0,TVariant("Task-OffsetTransparent"),TVariant("Overlaid-OffsetTransparent"));
	var_Items->InsertItem(0,TVariant("Task-Intersect"),TVariant("Overlaid-Intersect"));
	var_Items->InsertItem(0,TVariant("Task-Stack"),TVariant("Overlaid-Stack"));
	long h = var_Items->InsertItem(0,TVariant("Task-StackAutoArrange"),TVariant("Overlaid-StackAutoArrange"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("T1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("T2"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("T3"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("T4"),TNoParam());
	h = var_Items->InsertItem(0,TVariant("Task-Cascade"),TVariant("Overlaid-Cascade"));
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("T1"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,3).operator double()),TVariant(TDateTime(2001,1,5).operator double()),TVariant("T2"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,4).operator double()),TVariant(TDateTime(2001,1,7).operator double()),TVariant("T3"),TNoParam());
	var_Items->AddBar(h,TVariant("Task"),TVariant(TDateTime(2001,1,5).operator double()),TVariant(TDateTime(2001,1,8).operator double()),TVariant("T4"),TNoParam());
	var_Items->set_ItemBar(h,TVariant("<A*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarOverlaidKey,TVariant("A"));
	var_Items->set_ItemBar(h,TVariant("<T*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarOverlaidKey,TVariant("T"));
	h = var_Items->InsertItem(0,TVariant("Task"),TVariant("Overlaid-StackStrict"));
	var_Items->AddBar(h,TVariant("Task-Strict"),TVariant(TDateTime(2001,1,7).operator double()),TVariant(TDateTime(2001,1,9).operator double()),TVariant("T1"),TNoParam());
	var_Items->set_ItemBar(0,TVariant("<*>"),Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%9%>"));
G2antt1->EndUpdate();

2035:
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemBackColor(Item,RGB(240,240,240));
		TVariant val = TVariant(var_Items->get_CellValue(TVariant(Item),TVariant(var_Items->get_GroupItem(Item))));
		var_Items->set_CellState(TVariant(Item),TVariant(var_Items->get_GroupItem(Item)),G2antt1->FormatABC(L"A = `Checked` ? 1 : 0",TVariant(val),TNoParam(),TNoParam()));
	Exg2anttlib_tlb::IItemsPtr var_Items1 = G2antt1->Items;
		var_Items1->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items1->AddBar(Item,TVariant("Summary"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items1->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
		long l = var_Items1->get_GroupItem(Item);
		var_Items1->set_CellSingleLine(TVariant(Item),TVariant(l),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
		var_Items1->set_CellBold(TVariant(Item),TVariant(l),true);
	G2antt1->Chart->set_ItemBackColor(Item,RGB(240,240,240));
}

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

G2antt1->BeginUpdate();
G2antt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") +
"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeSolid;
		var_Bar->Color = 0x1000000;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%513%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	var_Column2->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->Columns->Add(L"Pos");
	var_Column4->AllowSizing = false;
	var_Column4->AllowSort = false;
	var_Column4->Width = 32;
	var_Column4->FormatColumn = L"1 rpos ``";
	var_Column4->Position = 0;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + `" +
" item(s)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->AllowGroupBy = true;
G2antt1->SortBarVisible = true;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(2));
	var_Column5->FormatColumn = L"%CS2 ? `Checked` : `Unchecked`";
	var_Column5->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

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

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

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

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Default");
	var_Column->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->PartialCheck = true;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Position");
	var_Column1->FormatColumn = L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )";
	var_Column1->Visible = false;
Exg2anttlib_tlb::IConditionalFormatPtr var_ConditionalFormat = G2antt1->ConditionalFormats->Add(L"%C1 mod 2",TNoParam());
	var_ConditionalFormat->BackColor = RGB(240,240,240);
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->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=");
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->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"));
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exGroupLinesAtRoot;
G2antt1->HasButtons = Exg2anttlib_tlb::ExpandButtonEnum::exCustom;
G2antt1->HasButtonsCustom[false] = 16777216;
G2antt1->HasButtonsCustom[true] = 33554432;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->VisualAppearance;
	var_Appearance->Add(1,TVariant("XP:TREEVIEW 2 1"));
	var_Appearance->Add(2,TVariant("XP:TREEVIEW 2 2"));
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

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

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->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="));
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exTreeGlyphOpen] = 0x1000000;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exTreeGlyphClose] = 0x2000000;
G2antt1->Columns->Add(L"Column");
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->EndUpdate();

2027:
How can I add a summary bar once the user group by a column

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->AddBar(Item,TVariant("Summary"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
		long l = var_Items->get_GroupItem(Item);
		var_Items->set_CellSingleLine(TVariant(Item),TVariant(l),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
		var_Items->set_CellBold(TVariant(Item),TVariant(l),true);
		var_Items->set_ItemBackColor(Item,RGB(190,190,190));
	G2antt1->Chart->set_ItemBackColor(Item,RGB(190,190,190));
}

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

G2antt1->BeginUpdate();
G2antt1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzV") +
"IUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxI" +
"NgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZx" +
"BBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +
"eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA=="));
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Summary"));
		var_Bar->StartShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->EndShape = Exg2anttlib_tlb::ShapeCornerEnum::exShapeIconEmpty;
		var_Bar->Shape = Exg2anttlib_tlb::ShapeBarEnum::exShapeSolid;
		var_Bar->Color = 0x1000000;
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%513%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
G2antt1->HasLines = Exg2anttlib_tlb::HierarchyLineEnum::exNoLine;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exNoLinesAtRoot;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2026:
Is it possible to display no +/- button for grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->AddBar(Item,TVariant("Progress"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
		long l = var_Items->get_GroupItem(Item);
		var_Items->set_CellSingleLine(TVariant(Item),TVariant(l),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
		var_Items->set_CellBold(TVariant(Item),TVariant(l),true);
		var_Items->set_ItemBackColor(Item,RGB(190,190,190));
	G2antt1->Chart->set_ItemBackColor(Item,RGB(190,190,190));
}

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
G2antt1->HasLines = Exg2anttlib_tlb::HierarchyLineEnum::exNoLine;
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exNoLinesAtRoot;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column1->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
	var_Column1->Alignment = Exg2anttlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
G2antt1->EndUpdate();

2025:
How can I change the label, caption or the formula of the grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->AddBar(Item,TVariant("Progress"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
}

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"C1");
		var_Column->GroupByFormatCell = L"upper(value)";
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Pos");
		var_Column1->FormatColumn = L"1 pos ``";
		var_Column1->AllowGroupBy = false;
		var_Column1->Position = 0;
		var_Column1->Width = 48;
		var_Column1->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
G2antt1->Columns->get_Item(TVariant(0))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2024:
How can I change the aspect of grouped items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->AddBar(Item,TVariant("Progress"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
		long l = var_Items->get_GroupItem(Item);
		var_Items->set_CellSingleLine(TVariant(Item),TVariant(l),Exg2anttlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
		var_Items->set_CellBold(TVariant(Item),TVariant(l),true);
		var_Items->set_ItemBackColor(Item,RGB(190,190,190));
	G2antt1->Chart->set_ItemBackColor(Item,RGB(190,190,190));
}

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
G2antt1->Columns->get_Item(TVariant(0))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2023:
How can I collapse all items when the user performs a grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddGroupItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
		var_Items->set_ExpandItem(Item,false);
		var_Items->set_ItemDividerLine(Item,Exg2anttlib_tlb::DividerLineEnum::EmptyLine);
		var_Items->AddBar(Item,TVariant("Progress"),TVariant(TDateTime(2017,12,2).operator double()),TVariant(TDateTime(2017,12,2).operator double()),TNoParam(),TNoParam());
		var_Items->DefineSummaryBars(Item,TVariant(""),-3,TVariant(""));
}

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
G2antt1->AllowGroupBy = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
G2antt1->Columns->get_Item(TVariant(0))->SortOrder = Exg2anttlib_tlb::SortOrderEnum::SortAscending;
G2antt1->EndUpdate();

2022:
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,342);
Exg2anttlib_tlb::IColumnsPtr var_Columns = G2antt1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
	var_Columns->Add(L"C3");
	Exg2anttlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Pos");
		var_Column->FormatColumn = L"1 pos ``";
		var_Column->AllowGroupBy = false;
		var_Column->Position = 0;
		var_Column->Width = 48;
		var_Column->AllowSizing = false;
G2antt1->SortBarVisible = true;
G2antt1->SortBarCaption = L"<fgcolor=FF0000>Try to drag the Pos column here.";
G2antt1->AllowGroupBy = true;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	long h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item A"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem A.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem A.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
	h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("SubItem B.1"));
	var_Items->set_CellValue(TVariant(h),TVariant(2),TVariant("SubItem B.2"));
G2antt1->EndUpdate();

2021:
How can I filter for the type of the bars I have in my chart

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,11,28).operator double()));
	var_Chart->set_PaneWidth(false,0);
	Exg2anttlib_tlb::IBarPtr var_Bar = var_Chart->Bars->get_Item(TVariant("Task"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%0%>"));
		var_Bar->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
	Exg2anttlib_tlb::IBarPtr var_Bar1 = var_Chart->Bars->Copy(L"Task",L"GTask");
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%0%>"));
		var_Bar1->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar1->Color = RGB(0,255,0);
	Exg2anttlib_tlb::IBarPtr var_Bar2 = var_Chart->Bars->Copy(L"Task",L"RTask");
		var_Bar2->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarCaption,TVariant("<%=%0%>"));
		var_Bar2->set_Def(Exg2anttlib_tlb::ItemBarPropertyEnum::exBarHAlignCaption,TVariant(18));
		var_Bar2->Color = RGB(255,0,0);
	var_Chart->ColumnsFormatLevel = L"0";
G2antt1->OnResizeControl = Exg2anttlib_tlb::OnResizeControlEnum::exDisableSplitter | Exg2anttlib_tlb::OnResizeControlEnum::exResizeChart;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Default");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Type");
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarKey,TVariant(""));
	var_Column1->set_Def(Exg2anttlib_tlb::DefColumnEnum::exCellValueToItemBarProperty,TVariant(0));
	var_Column1->Visible = false;
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AllowCellValueToItemBar = true;
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 1")),TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 2")),TVariant("GTask"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 3")),TVariant("RTask"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 4")),TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 5")),TVariant("GTask"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
	var_Items->AddBar(var_Items->AddItem(TVariant("Item 6")),TVariant("RTask"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,12).operator double()),TNoParam(),TNoParam());
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarSingleLine | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->get_Item(TVariant(1));
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"GTask|RTask";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2020:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item B"))),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShort;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->get_Item(TVariant(1));
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exPattern;
	var_Column3->Filter = L"*B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2019:
FilterBarCaption ALL Keyword ( sample 2, result )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2018:
FilterBarCaption ALL Keyword ( sample 1 )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->FilterBarCaption = L"all";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2017:
FilterBarCaption ALLUI Keyword ( sample 2, result )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2016:
FilterBarCaption ALLUI Keyword ( sample 1 )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->FilterBarCaption = L"allui";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2015:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->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)`) )))");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2014:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

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

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->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="));
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Col-1");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->Columns->Add(L"Col-2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column2->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column3 = G2antt1->Columns->Add(L"Image");
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exImage;
	var_Column3->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox;
Exg2anttlib_tlb::IColumnPtr var_Column4 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item A"))),TVariant(1),TVariant("Sub-Item A"));
	long h = var_Items->AddItem(TVariant("Item B"));
	var_Items->set_CellValue(TVariant(h),TVariant(1),TVariant("Sub-Item B"));
	var_Items->set_CellState(TVariant(h),TVariant(2),1);
	var_Items->set_CellValue(TVariant(var_Items->AddItem(TVariant("Item C"))),TVariant(1),TVariant("Sub-Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = PChar(G2antt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",TVariant(G2antt1->Description[Exg2anttlib_tlb::DescriptionTypeEnum::exFilterBarAnd]),TNoParam(),TNoParam()));
G2antt1->FilterBarCaption = L"value + ` ` + available";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column5 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column5->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column5->Filter = L"Item A|Item B";
G2antt1->Columns->get_Item(TVariant(2))->Filter = L"1";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2013:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2012:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2011:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2010:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2009:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterList = Exg2anttlib_tlb::FilterListEnum::exShowExclude | Exg2anttlib_tlb::FilterListEnum::exShowFocusItem | Exg2anttlib_tlb::FilterListEnum::exShowCheckBox | Exg2anttlib_tlb::FilterListEnum::exSortItemsAsc;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->FilterBarPrompt = PChar(G2antt1->FormatABC(L"`<b>` + value",TVariant(G2antt1->FilterBarPrompt),TNoParam(),TNoParam()));
G2antt1->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)`) )");
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCompact | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseIfRequired | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->EndUpdate();

2008:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2007:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2006:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2005:
FilterBarCaption Predefined Keywords

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void __fastcall TForm1::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->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::G2antt1AfterExpandItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Refresh();
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->LinesAtRoot = Exg2anttlib_tlb::LinesAtRootEnum::exLinesAtRoot;
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->Columns->Add(L"Check");
	Exg2anttlib_tlb::IEditorPtr var_Editor = var_Column->Editor;
		var_Editor->EditType = Exg2anttlib_tlb::EditTypeEnum::CheckValueType;
		var_Editor->set_Option(Exg2anttlib_tlb::EditorOptionEnum::exCheckValue2,TVariant(1));
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exCheck;
Exg2anttlib_tlb::IColumnPtr var_Column1 = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->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"));
G2antt1->FilterInclude = Exg2anttlib_tlb::FilterIncludeEnum::exItemsWithChilds;
G2antt1->FilterBarFont = (IFontDisp*)(G2antt1->Font);
G2antt1->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>`");
G2antt1->FilterBarPromptPattern = L"B";
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarCaptionVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exg2anttlib_tlb::IColumnPtr var_Column2 = G2antt1->Columns->get_Item(TVariant(0));
	var_Column2->FilterType = Exg2anttlib_tlb::FilterTypeEnum::exFilter;
	var_Column2->Filter = L"Item A|Item B";
G2antt1->ApplyFilter();
G2antt1->EndUpdate();

2004:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

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

2003:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarShowCloseOnRight | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->FilterBarPrompt = PChar(G2antt1->FormatABC(L"`<r>` + value",TVariant(G2antt1->FilterBarPrompt),TNoParam(),TNoParam()));
G2antt1->EndUpdate();

2002:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
G2antt1->RightToLeft = true;
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->EndUpdate();

2001:
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::G2antt1AddItem(TObject *Sender,Exg2anttlib_tlb::HITEM   Item)
{
	G2antt1->Items->AddBar(Item,TVariant("Task"),TVariant(TDateTime(2017,12,4).operator double()),TVariant(TDateTime(2017,12,14).operator double()),TNoParam(),TNoParam());
}

G2antt1->BeginUpdate();
Exg2anttlib_tlb::IChartPtr var_Chart = G2antt1->Chart;
	var_Chart->LevelCount = 2;
	var_Chart->set_FirstVisibleDate(TVariant(TDateTime(2017,12,2).operator double()));
	var_Chart->set_PaneWidth(false,256);
Exg2anttlib_tlb::IAppearancePtr var_Appearance = G2antt1->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"));
G2antt1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exg2anttlib_tlb::IColumnPtr var_Column = G2antt1->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;
Exg2anttlib_tlb::IItemsPtr var_Items = G2antt1->Items;
	var_Items->AddItem(TVariant("Item A"));
	var_Items->AddItem(TVariant("Item B"));
	var_Items->AddItem(TVariant("Item C"));
G2antt1->FilterBarPromptVisible = Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarToggle | Exg2anttlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
G2antt1->Background[Exg2anttlib_tlb::BackgroundPartEnum::exFooterFilterBarButton] = 0x1000000;
G2antt1->EndUpdate();