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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutHeaderSingleLine(VARIANT_FALSE);
spGantt1->PutHeaderHeight(36);
spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines);
spGantt1->PutColumnAutoResize(VARIANT_FALSE);
spGantt1->PutScrollBySingleLine(VARIANT_TRUE);
EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns();
	EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Single-Line (exCaptionSingleLine)")));
		var_Column->PutWidth(96);
		var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
		var_Column->PutDef(EXGANTTLib::exCellSingleLine,long(-1));
	EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Word-Wrap (exCaptionWordWrap)")));
		var_Column1->PutWidth(96);
		var_Column1->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
		var_Column1->PutDef(EXGANTTLib::exCellSingleLine,long(0));
		var_Column1->PutFormatColumn(L"%0");
	EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Break-Wrap (exCaptionBreakWrap)")));
		var_Column2->PutWidth(96);
		var_Column2->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
		var_Column2->PutDef(EXGANTTLib::exCellSingleLine,long(1));
		var_Column2->PutFormatColumn(L"%0");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("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("This is the <b>first</b> line.\\r\\nThis is the <b>second</b> line.\\r\\nThis is the <b>third</b> line.");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutHeaderSingleLine(VARIANT_FALSE);
spGantt1->PutHeaderHeight(36);
spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines);
spGantt1->PutColumnAutoResize(VARIANT_FALSE);
spGantt1->PutScrollBySingleLine(VARIANT_TRUE);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")))->PutWidth(128);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	h = var_Items->AddItem("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->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML);
	h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap);
	h = var_Items->AddItem("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->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML);
	var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionWordWrap);
	h = var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionBreakWrap);
	h = var_Items->AddItem("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->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML);
	var_Items->PutCellSingleLine(h,long(0),EXGANTTLib::exCaptionBreakWrap);
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines);
spGantt1->PutColumnAutoResize(VARIANT_FALSE);
spGantt1->PutScrollBySingleLine(VARIANT_TRUE);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")))->PutWidth(128);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellSingleLine(var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line."),long(0),EXGANTTLib::exCaptionBreakWrap);
	var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutDrawGridLines(EXGANTTLib::exRowLines);
spGantt1->PutColumnAutoResize(VARIANT_FALSE);
spGantt1->PutScrollBySingleLine(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutWidth(128);
	var_Column->PutDef(EXGANTTLib::exCellSingleLine,long(1));
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
	var_Items->AddItem("This is the first line.\\r\\nThis is the second line.\\r\\nThis is the third line.");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
spGantt1->PutBackColorHeader(RGB(1,0,0));
spGantt1->PutForeColorHeader(RGB(255,255,255));
spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,spGantt1->GetBackColorHeader());
spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,spGantt1->GetForeColorHeader());
spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,RGB(240,240,240));
spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1);
spGantt1->PutHeaderAppearance(EXGANTTLib::Bump);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Items")));
	var_Column->PutFilterOnType(VARIANT_TRUE);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::exNoItems);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutColumnAutoResize(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
	var_Column->PutFormatColumn(L"((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("");
	var_Items->AddItem("Item A");
	var_Items->AddItem("    Item B");
	var_Items->AddItem("        Item   C    ");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutColumnAutoResize(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
	var_Column->PutFormatColumn(L"`'` + ( value replace ` ` with `_` ) + `'`");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("");
	var_Items->AddItem("Item A");
	var_Items->AddItem("    Item B");
	var_Items->AddItem("        Item   C    ");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutColumnAutoResize(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
	var_Column->PutFormatColumn(L"len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("");
	var_Items->AddItem("Item A");
	var_Items->AddItem("    Item B");
	var_Items->AddItem("        Item   C    ");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutBackground(EXGANTTLib::exBackColorFilter,RGB(0,0,1));
spGantt1->PutBackground(EXGANTTLib::exForeColorFilter,RGB(255,255,255));
spGantt1->PutBackground(EXGANTTLib::exDateScrollRange,RGB(255,255,255));
spGantt1->PutBackground(EXGANTTLib::exDateHeader,spGantt1->GetBackground(EXGANTTLib::exBackColorFilter));
spGantt1->PutBackground(EXGANTTLib::exDateScrollThumb,RGB(128,128,128));
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Date")));
	var_Column->PutFilterType(EXGANTTLib::exDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
spGantt1->EndUpdate();

948:
Export Data in HTML format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
		long i = var_Items->GetItemToIndex(Item);
		var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing);
		var_Items->PutItemBar(Item,"",EXGANTTLib::exBarDuration,i);
		var_Items->PutItemBar(Item,"",EXGANTTLib::exBarMove,i);
		var_Items->PutCellCaption(Item,long(1),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarStart));
		var_Items->PutCellCaption(Item,long(2),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarEnd));
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutBackColorAlternate(RGB(240,240,240));
spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines);
spGantt1->PutHeaderAppearance(EXGANTTLib::Etched);
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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)`) )))");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->PutFilterBarPromptType(EXGANTTLib::exFilterPromptContainsAny);
spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines);
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutDrawGridLines(EXGANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE());
	var_Chart->PutFirstWeekDay(EXGANTTLib::exMonday);
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3");
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor());
	var_ConditionalFormat->PutApplyToBars(L"Task");
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5");
	var_ConditionalFormat1->PutForeColor(RGB(0,255,0));
	var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor());
	var_ConditionalFormat1->PutApplyToBars(L"Task");
EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns();
	((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Task 1");
	var_Items->AddItem("Task 2");
	var_Items->AddItem("Task 3");
	var_Items->AddItem("Task 4");
	var_Items->AddItem("Task 5");
	var_Items->AddItem("Task 6");
	var_Items->AddItem("Task 7");
	var_Items->AddItem("Task 8");
spGantt1->EndUpdate();
_bstr_t sFile = "c:/temp/export.html";
spGantt1->Export(sFile,"vis");
/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'SHDocVw' for the library: 'Microsoft Internet Controls'

	#import <ieframe.dll>
*/
SHDocVw::IWebBrowser2Ptr var_ShellBrowserWindow = ::CreateObject(L"InternetExplorer.Application");
	var_ShellBrowserWindow->Navigate2(sFile,vtMissing,vtMissing,vtMissing,vtMissing);

947:
Export Data in CSV format

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
		long i = var_Items->GetItemToIndex(Item);
		var_Items->AddBar(Item,"Task",COleDateTime(2008,1,2,0,00,00).operator DATE(),COleDateTime(2008,1,9,0,00,00).operator DATE(),"",vtMissing);
		var_Items->PutItemBar(Item,"",EXGANTTLib::exBarDuration,i);
		var_Items->PutItemBar(Item,"",EXGANTTLib::exBarMove,i);
		var_Items->PutCellCaption(Item,long(1),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarStart));
		var_Items->PutCellCaption(Item,long(2),var_Items->GetItemBar(Item,"",EXGANTTLib::exBarEnd));
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutBackColorAlternate(RGB(240,240,240));
spGantt1->PutDrawGridLines(EXGANTTLib::exAllLines);
spGantt1->PutHeaderAppearance(EXGANTTLib::Etched);
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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)`) )))");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->PutFilterBarPromptType(EXGANTTLib::exFilterPromptContainsAny);
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2008,1,1,0,00,00).operator DATE());
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 3","K3");
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutBarColor(var_ConditionalFormat->GetForeColor());
	var_ConditionalFormat->PutApplyToBars(L"Task");
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spGantt1->GetConditionalFormats()->Add(L"(%2 - %1) = 5","K5");
	var_ConditionalFormat1->PutForeColor(RGB(0,255,0));
	var_ConditionalFormat1->PutBarColor(var_ConditionalFormat1->GetForeColor());
	var_ConditionalFormat1->PutApplyToBars(L"Task");
EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns();
	((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")))->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Columns->Add(L"Start");
	var_Columns->Add(L"End");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Task 1");
	var_Items->AddItem("Task 2");
	var_Items->AddItem("Task 3");
	var_Items->AddItem("Task 4");
	var_Items->AddItem("Task 5");
	var_Items->AddItem("Task 6");
	var_Items->AddItem("Task 7");
	var_Items->AddItem("Task 8");
spGantt1->EndUpdate();
OutputDebugStringW( _bstr_t(spGantt1->Export("","vis")) );

946:
Is it possible to check multiple-items at once
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t bHasParent = spGantt1->FormatABC(L"value != 0",spGantt1->GetItems()->GetItemParent(Item),vtMissing,vtMissing);
	EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
		var_Items->PutCellHasCheckBox(Item,long(0),VARIANT_FALSE);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Tasks")));
	var_Column->PutDef(EXGANTTLib::exCellCaptionFormat,long(1));
	var_Column->PutFormatColumn(L"value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)");
spGantt1->PutHeaderVisible(VARIANT_TRUE);
spGantt1->PutSingleSel(VARIANT_FALSE);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Project");
	long hChild = var_Items->InsertItem(h,vtMissing,"Task 1");
	hChild = var_Items->InsertItem(h,vtMissing,"Task 2");
	hChild = var_Items->InsertItem(h,vtMissing,"Task 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutLockedItemCount(EXGANTTLib::TopAlignment,1);
	var_Items->PutCellCaption(var_Items->GetLockedItem(EXGANTTLib::TopAlignment,0),long(0),"<c>Select multiple items and press the <b>SPACE</b> key");
spGantt1->EndUpdate();

945:
How can I get the icon from the cell when using the Items.CellImages property (icon index)

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveGantt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	long i = spGantt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,spGantt1->GetItems()->GetCellImages(i,c),vtMissing)) );
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spGantt1->GetColumns()->Add(L"Default");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1");
	var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3");
	var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2,");
spGantt1->EndUpdate();

944:
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveGantt1(short   Button,short   Shift,long   X,long   Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	long i = spGantt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit,vtMissing,vtMissing)) );
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spGantt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spGantt1->GetColumns()->Add(L"Default");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellImages(var_Items->AddItem("Item 1"),long(0),"3,2,1");
	var_Items->PutCellImages(var_Items->AddItem("Item 2"),long(0),"2,3");
	var_Items->PutCellImages(var_Items->AddItem("Item 3"),long(0),"2");
spGantt1->EndUpdate();

943:
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutHeaderAppearance(EXGANTTLib::Etched);
EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzV") +
"IUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4" +
"aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DB" +
"eEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDI" +
"BICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAok" +
"GKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=");
	var_Appearance->Add(2,"CP:1 0 -36 0 0");
spGantt1->PutBackground(EXGANTTLib::exColumnsPositionSign,0x2000000);
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutColumnAutoResize(VARIANT_TRUE);
spGantt1->PutDefaultItemHeight(20);
spGantt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1m") +
"Y1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2h" +
"hWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY" +
"6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +
"JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd" +
"0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Position")));
	var_Column1->PutFormatColumn(L"1 rindex ``");
	var_Column1->PutVisible(VARIANT_FALSE);
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing);
	var_ConditionalFormat->PutBackColor(0x1000000);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Default")));
	var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Position")));
	var_Column1->PutFormatColumn(L"( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )");
	var_Column1->PutVisible(VARIANT_FALSE);
EXGANTTLib::IConditionalFormatPtr var_ConditionalFormat = spGantt1->GetConditionalFormats()->Add(L"%C1 mod 2",vtMissing);
	var_ConditionalFormat->PutBackColor(RGB(240,240,240));
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	h = var_Items->AddItem("Root 3");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
spGantt1->PutVisualDesign(_bstr_t("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=");
spGantt1->GetColumns()->Add(L"Column");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(3,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	var_Appearance->Add(1,"CP:3 -2 -2 2 2");
	var_Appearance->Add(4,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
	var_Appearance->Add(2,"CP:4 -2 -2 2 2");
spGantt1->PutLinesAtRoot(EXGANTTLib::exGroupLinesAtRoot);
spGantt1->PutHasButtons(EXGANTTLib::exCustom);
spGantt1->PutHasButtonsCustom(VARIANT_FALSE,16777216);
spGantt1->PutHasButtonsCustom(VARIANT_TRUE,33554432);
spGantt1->GetColumns()->Add(L"Column");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(1,"XP:TREEVIEW 2 1");
	var_Appearance->Add(2,"XP:TREEVIEW 2 2");
spGantt1->PutBackground(EXGANTTLib::exTreeGlyphOpen,0x1000000);
spGantt1->PutBackground(EXGANTTLib::exTreeGlyphClose,0x2000000);
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
spGantt1->GetColumns()->Add(L"Column");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");
spGantt1->EndUpdate();

937:
How can I find if the control is running in DPI mode
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",vtMissing,vtMissing,vtMissing)) );

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +
"XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIR" +
"gwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" +
"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=");
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQS") +
"BcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+Opf" +
"DxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4" +
"llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +
"eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchO" +
"FSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" +
"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=");
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
spGantt1->PutBackground(EXGANTTLib::exTreeGlyphOpen,0x1000000);
spGantt1->PutBackground(EXGANTTLib::exTreeGlyphClose,0x2000000);
spGantt1->GetColumns()->Add(L"Column");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,vtMissing,"Child 1");
	var_Items->InsertItem(h,vtMissing,"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,vtMissing,"Child");
spGantt1->EndUpdate();

935:
How can I display the control's filter bar in the Items section only, as it was displayed before

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column2->PutAllowSizing(VARIANT_FALSE);
	var_Column2->PutAllowSort(VARIANT_FALSE);
	var_Column2->PutWidth(32);
	var_Column2->PutFormatColumn(L"1 apos ``");
	var_Column2->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B");
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarShort);
EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(1));
	var_Column3->PutFilterType(EXGANTTLib::exPattern);
	var_Column3->PutFilter(L"*B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

934:
FilterBarCaption ALL Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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)`) )))");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

933:
FilterBarCaption ALL Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(L"all");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

932:
FilterBarCaption ALLUI Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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)`) )))");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

931:
FilterBarCaption ALLUI Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(L"allui");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

930:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(( ( 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)`) )))");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

929:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	_variant_t i = spGantt1->FormatABC(L"value + 1",spGantt1->GetItems()->GetItemToIndex(Item),vtMissing,vtMissing);
	spGantt1->GetItems()->PutCellImage(Item,long(3),i);
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column2->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column2->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column2->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column2->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column3 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Image")));
	var_Column3->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column3->PutFilterType(EXGANTTLib::exImage);
	var_Column3->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox));
EXGANTTLib::IColumnPtr var_Column4 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column4->PutAllowSizing(VARIANT_FALSE);
	var_Column4->PutAllowSort(VARIANT_FALSE);
	var_Column4->PutWidth(32);
	var_Column4->PutFormatColumn(L"1 apos ``");
	var_Column4->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellCaption(h,long(1),"Sub-Item B");
	var_Items->PutCellState(h,long(2),1);
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080> ` + value + ` </fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(L"value + ` ` + available");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column5 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column5->PutFilterType(EXGANTTLib::exFilter);
	var_Column5->PutFilter(L"Item A|Item B");
spGantt1->GetColumns()->GetItem(long(2))->PutFilter(L"1");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

928:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column2->PutAllowSizing(VARIANT_FALSE);
	var_Column2->PutAllowSort(VARIANT_FALSE);
	var_Column2->PutWidth(32);
	var_Column2->PutFormatColumn(L"1 apos ``");
	var_Column2->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B");
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("(`<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>`");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle);
EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXGANTTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXGANTTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

927:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column2->PutAllowSizing(VARIANT_FALSE);
	var_Column2->PutAllowSort(VARIANT_FALSE);
	var_Column2->PutWidth(32);
	var_Column2->PutFormatColumn(L"1 apos ``");
	var_Column2->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B");
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(L"value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle);
EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXGANTTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXGANTTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

926:
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-1")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Col-2")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column2 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column2->PutAllowSizing(VARIANT_FALSE);
	var_Column2->PutAllowSort(VARIANT_FALSE);
	var_Column2->PutWidth(32);
	var_Column2->PutFormatColumn(L"1 apos ``");
	var_Column2->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->PutCellCaption(var_Items->AddItem("Item A"),long(1),"Sub-Item A");
	var_Items->PutCellCaption(var_Items->AddItem("Item B"),long(1),"Sub-Item B");
	var_Items->PutCellCaption(var_Items->AddItem("Item C"),long(1),"Sub-Item C");
spGantt1->PutDescription(EXGANTTLib::exFilterBarAnd,_bstr_t(spGantt1->FormatABC(L"`<fgcolor=808080>` + value + `</fgcolor>`",spGantt1->GetDescription(EXGANTTLib::exFilterBarAnd),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(L"value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarToggle);
EXGANTTLib::IColumnPtr var_Column3 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column3->PutFilterType(EXGANTTLib::exFilter);
	var_Column3->PutFilter(L"Item A|Item B");
EXGANTTLib::IColumnPtr var_Column4 = spGantt1->GetColumns()->GetItem(long(1));
	var_Column4->PutFilterType(EXGANTTLib::exPattern);
	var_Column4->PutFilter(L"*B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

925:
Is it possible to automatically displays the control's filter label to the right

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutAllowSort(VARIANT_FALSE);
	var_Column1->PutWidth(32);
	var_Column1->PutFormatColumn(L"1 apos ``");
	var_Column1->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarCaption(L"`<r>` + value");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarToggle));
EXGANTTLib::IColumnPtr var_Column2 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column2->PutFilterType(EXGANTTLib::exFilter);
	var_Column2->PutFilter(L"Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

924:
How can I get the number of results/items being shown in the control's filter bar (sample 4)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterList(EXGANTTLib::FilterListEnum(EXGANTTLib::exShowExclude | EXGANTTLib::exShowFocusItem | EXGANTTLib::exShowCheckBox | EXGANTTLib::exSortItemsAsc));
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutAllowSort(VARIANT_FALSE);
	var_Column1->PutWidth(32);
	var_Column1->PutFormatColumn(L"1 apos ``");
	var_Column1->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarPrompt(_bstr_t(spGantt1->FormatABC(L"`<b>` + value",spGantt1->GetFilterBarPrompt(),vtMissing,vtMissing)));
spGantt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->EndUpdate();

923:
How can I get the number of results being shown in the control's filter bar (sample 3)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarCaption(_bstr_t("`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount ") +
"+ 1) + ` result(s)` ) : ``)");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

922:
How can I get the number of results being shown in the control's filter bar (sample 2, compact)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarCaption(L"`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

921:
How can I get the number of results being shown in the control's filter bar (sample 1)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarCaption(L"`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

920:
FilterBarCaption Predefined Keywords

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void OnAfterExpandItemGantt1(long   Item)
{
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->Refresh();
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Check")));
	var_Column->PutDef(EXGANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterType(EXGANTTLib::exCheck);
EXGANTTLib::IColumnPtr var_Column1 = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column1->PutAllowSizing(VARIANT_FALSE);
	var_Column1->PutAllowSort(VARIANT_FALSE);
	var_Column1->PutWidth(32);
	var_Column1->PutFormatColumn(L"1 apos ``");
	var_Column1->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	long h = var_Items->AddItem("Item B");
	var_Items->PutCellState(var_Items->InsertItem(h,vtMissing,"Sub-Item B1"),long(1),1);
	var_Items->InsertItem(h,vtMissing,"Sub-Item B2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->AddItem("Item C");
spGantt1->PutFilterInclude(EXGANTTLib::exItemsWithChilds);
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarCaption(_bstr_t("`<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>`");
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCaptionVisible | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column2 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column2->PutFilterType(EXGANTTLib::exFilter);
	var_Column2->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

919:
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'stdole' for the library: 'OLE Automation'

	#import <stdole2.tlb>
*/
spGantt1->PutFilterBarFont(IFontDispPtr(((stdole::FontPtr)(spGantt1->GetFont()))));
spGantt1->PutFilterBarCaption(L"`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value");
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

918:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseOnRight | EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->PutFilterBarPrompt(_bstr_t(spGantt1->FormatABC(L"`<r>` + value",spGantt1->GetFilterBarPrompt(),vtMissing,vtMissing)));
spGantt1->EndUpdate();

917:
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
spGantt1->PutRightToLeft(VARIANT_TRUE);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->EndUpdate();

916:
How can I change the visual appearance of the filter bar's close button (EBN)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("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");
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,0x1000000);
spGantt1->EndUpdate();

915:
How can I change the visual appearance of the filter bar's close button (solid)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible);
spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,RGB(255,0,0));
spGantt1->EndUpdate();

914:
Is it possible to prevent definitely showing the filter bar's close button

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible);
spGantt1->PutBackground(EXGANTTLib::exFooterFilterBarButton,-1);
spGantt1->EndUpdate();

913:
Is it possible to show the close button only if there is a filter applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarShowCloseIfRequired | EXGANTTLib::exFilterBarPromptVisible));
spGantt1->EndUpdate();

912:
The control's filter bar is not closed once I click the close button (toggle)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
	var_Items->PutLockedItemCount(EXGANTTLib::BottomAlignment,1);
	long h = var_Items->GetLockedItem(EXGANTTLib::BottomAlignment,0);
	var_Items->PutItemDivider(h,0);
	var_Items->PutCellCaption(h,long(0),"<c><fgcolor=808080>Press the CTRL + F to turn on/off the control's filter bar. ALT + Up/Down moves the focus.");
	var_Items->PutCellCaptionFormat(h,long(0),EXGANTTLib::exHTML);
spGantt1->PutFilterBarCaption(L"`<r><fgcolor=808080>` + value");
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarToggle | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

911:
How can I display the control's filter on a single line

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarCaption(L"len(value) ? `filter for: <fgcolor 808080>` + value  : `<fgcolor 808080>no filter`");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

910:
How can I display the control's filter on a single line (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarCaption(L"`<r>` + value");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarCompact | EXGANTTLib::exFilterBarSingleLine | EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item A|Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

909:
How can I get the number of results after a filter is applied

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickGantt1()
{
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->ClearFilter();
}

// FilterChange event - Occurs when the filter was changed.
void OnFilterChangeGantt1()
{
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Items.MatchItemCount" );
	OutputDebugStringW( _bstr_t(spGantt1->GetItems()->GetMatchItemCount()) );
	OutputDebugStringW( _bstr_t(spGantt1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",spGantt1->GetItems()->GetMatchItemCount(),vtMissing,vtMissing)) );
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible);
spGantt1->PutFilterBarPromptPattern(L"Item");
spGantt1->EndUpdate();

908:
How can I programmatically clear the control's filter
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickGantt1()
{
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->ClearFilter();
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible);
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->EndUpdate();

907:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::FilterBarVisibleEnum(EXGANTTLib::exFilterBarVisible | EXGANTTLib::exFilterBarPromptVisible));
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

906:
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarPromptVisible);
spGantt1->PutFilterBarPromptPattern(L"B");
spGantt1->EndUpdate();

905:
Is it possible to prevent closing the control's filter bar, so it is always shown

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemGantt1(long   Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'
		#import <ExGantt.dll>
		using namespace EXGANTTLib;
	*/
	EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
	spGantt1->GetItems()->AddBar(Item,"Task",COleDateTime(2017,12,4,0,00,00).operator DATE(),COleDateTime(2017,12,14,0,00,00).operator DATE(),vtMissing,vtMissing);
}

EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2017,12,2,0,00,00).operator DATE());
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Item")))->PutDisplayFilterButton(VARIANT_TRUE);
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Pos")));
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutWidth(32);
	var_Column->PutFormatColumn(L"1 apos ``");
	var_Column->PutPosition(0);
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spGantt1->PutFilterBarCaption(L"len(value) = 0 ? `<fgcolor=808080>no filter` : value");
spGantt1->PutFilterBarPromptVisible(EXGANTTLib::exFilterBarVisible);
EXGANTTLib::IColumnPtr var_Column1 = spGantt1->GetColumns()->GetItem(long(0));
	var_Column1->PutFilterType(EXGANTTLib::exFilter);
	var_Column1->PutFilter(L"Item B");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA");
spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000);
spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,-1);
spGantt1->PutBackground(EXGANTTLib::exSplitBar,RGB(240,240,240));
spGantt1->PutHeaderAppearance(EXGANTTLib::None2);
spGantt1->PutBackColorHeader(RGB(0,0,0));
spGantt1->PutForeColorHeader(RGB(255,255,255));
spGantt1->PutHeaderVisible(VARIANT_TRUE);
spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor());
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Filter")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	var_Chart->PutLevelCount(2);
	var_Chart->PutBackColorLevelHeader(spGantt1->GetBackColorHeader());
	var_Chart->PutForeColorLevelHeader(spGantt1->GetForeColorHeader());
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IAppearancePtr var_Appearance = spGantt1->GetVisualAppearance();
	var_Appearance->Add(2,_bstr_t("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI=");
	var_Appearance->Add(1,"CP:2 -4 -4 2 4");
spGantt1->PutBackground(EXGANTTLib::exHeaderFilterBarButton,0x1000000);
spGantt1->PutBackground(EXGANTTLib::exCursorHoverColumn,spGantt1->GetBackColor());
spGantt1->PutHeaderAppearance(EXGANTTLib::None2);
spGantt1->PutBackColorHeader(RGB(255,255,255));
spGantt1->PutBackColorLevelHeader(spGantt1->GetBackColor());
spGantt1->PutHeaderHeight(24);
spGantt1->PutHeaderVisible(VARIANT_TRUE);
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	var_Chart->PutLevelCount(2);
	var_Chart->PutBackColorLevelHeader(spGantt1->GetBackColorHeader());
	var_Chart->PutForeColorLevelHeader(spGantt1->GetForeColorHeader());
EXGANTTLib::IColumnPtr var_Column = ((EXGANTTLib::IColumnPtr)(spGantt1->GetColumns()->Add(L"Filter")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutAllowSort(VARIANT_FALSE);
	var_Column->PutAllowDragging(VARIANT_FALSE);
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
EXGANTTLib::IChartPtr var_Chart = spGantt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(COleDateTime(2007,12,12,0,00,00).operator DATE());
	var_Chart->PutDrawGridLines(EXGANTTLib::exAllLines);
	var_Chart->PutUnitScale(EXGANTTLib::exWeek);
	var_Chart->PutWeekNumberAs(EXGANTTLib::exISO8601WeekNumber);
	var_Chart->PutFirstWeekDay(EXGANTTLib::exMonday);
spGantt1->EndUpdate();

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

/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXGANTTLib' for the library: 'ExGantt 1.0 Control Library'

	#import <ExGantt.dll>
	using namespace EXGANTTLib;
*/
EXGANTTLib::IGanttPtr spGantt1 = GetDlgItem(IDC_GANTT1)->GetControlUnknown();
spGantt1->BeginUpdate();
spGantt1->PutColumnAutoResize(VARIANT_TRUE);
spGantt1->PutContinueColumnScroll(VARIANT_FALSE);
spGantt1->PutMarkSearchColumn(VARIANT_FALSE);
spGantt1->PutSearchColumnIndex(1);
spGantt1->PutIndent(16);
spGantt1->PutLinesAtRoot(EXGANTTLib::exLinesAtRoot);
spGantt1->PutFilterBarPromptVisible(VARIANT_TRUE);
spGantt1->PutFilterBarPromptPattern(L"Nancy");
spGantt1->PutFilterInclude(EXGANTTLib::exItemsWithChilds);
spGantt1->GetChart()->PutLevelCount(2);
EXGANTTLib::IColumnsPtr var_Columns = spGantt1->GetColumns();
	((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Name")))->PutWidth(96);
	((EXGANTTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutWidth(96);
	var_Columns->Add(L"City");
EXGANTTLib::IItemsPtr var_Items = spGantt1->GetItems();
	long h0 = var_Items->AddItem("Nancy Davolio");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Seattle");
	h0 = var_Items->InsertItem(h0,vtMissing,"Andrew Fuller");
	var_Items->PutCellCaption(h0,long(1),"Vice President, Sales");
	var_Items->PutCellCaption(h0,long(2),"Tacoma");
	h0 = var_Items->InsertItem(h0,vtMissing,"Michael Suyama");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"London");
	h0 = var_Items->AddItem("Janet Leverling");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Kirkland");
	h0 = var_Items->InsertItem(h0,vtMissing,"Margaret Peacock");
	var_Items->PutCellCaption(h0,long(1),"Sales Representative");
	var_Items->PutCellCaption(h0,long(2),"Redmond");
spGantt1->ApplyFilter();
spGantt1->EndUpdate();