1463. How can I load my table from an Access 2007, using ADO
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("8/3/1994");
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Ac") +
"cess2007\\sample.accdb",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
spG2antt1->EndUpdate();

1462. Is it possible to enumerate the links without enumerating them
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutAntiAliasing(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutLinksWidth(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/6/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/10/2001","1/12/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/14/2001","1/16/2001","K4",vtMissing);
	var_Items->AddLink("L3",h3,"K3",h4,"K4");
	var_Items->PutLink("<L*>",EXG2ANTTLib::exLinkShowDir,VARIANT_FALSE);

1461. How can I display a vertical line in the chart
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		var_Chart->PutMarkNowColor(RGB(255,0,0));
		var_Chart->PutMarkNow(var_Chart->GetDateFromPoint(-1,-1));
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("3/13/2012");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutMarkNowColor(RGB(0,0,0));
	var_Chart->PutMarkNowWidth(3);
	var_Chart->PutUnitWidth(32);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);

1460. How can I use the MarkNowColor to mark a time line different then the time on the machine
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("3/13/2012");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutLabel(long(1048576));
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1);
		var_Level->PutLabel("<%ss%>");
		var_Level->PutCount(15);
	var_Chart->PutMarkNowColor(RGB(255,0,0));
	var_Chart->PutMarkNowWidth(3);
	var_Chart->PutMarkNow("3/13/2012 12:03:20 AM");

1459. Is it possible to show the current date time using a delay
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutLabel(long(1048576));
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1);
		var_Level->PutLabel("<%ss%>");
		var_Level->PutCount(15);
	var_Chart->PutMarkNowColor(RGB(0,0,255));
	var_Chart->PutMarkNowWidth(3);
	var_Chart->PutMarkNowDelay(0.00069444);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/1/2008","1/1/2018",vtMissing,vtMissing);

1458. What are the options to show the links between bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutAntiAliasing(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutLinksWidth(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddItem("");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddItem("");
	var_Items->AddBar(h2,"Task","1/6/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddItem("");
	var_Items->AddBar(h3,"Task","1/12/2001","1/14/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkShowRound,long(-1));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/18/2001","1/20/2001","K4",vtMissing);
	var_Items->AddLink("L3",h3,"K3",h4,"K4");
	var_Items->PutLink("L3",EXG2ANTTLib::exLinkShowRound,long(1));
	var_Items->AddItem("");
	long h5 = var_Items->AddItem("Task 5");
	var_Items->AddBar(h5,"Task","1/22/2001","1/24/2001","K5",vtMissing);
	var_Items->AddLink("L4",h4,"K4",h5,"K5");
	var_Items->PutLink("L4",EXG2ANTTLib::exLinkShowRound,long(2));

1457. Is it possible to specify the link between bars to be a wider line
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutLinksStyle(EXG2ANTTLib::exLinkSolid);
	var_Chart->PutLinksWidth(2);
	var_Chart->PutLinksColor(RGB(255,0,0));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/6/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/10/2001","1/12/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");

1456. Is it possible to create a link between the two specified bars so that the link was a straight line
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutAntiAliasing(VARIANT_TRUE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutNonworkingDays(0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/6/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStyle,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkWidth,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkColor,long(255));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkShowRound,long(2));
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/10/2001","1/12/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");

1455. I associate the bars with my columns, Start and End, but can not get it working for bars with non-empty keys. What am I doing wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A");
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A");
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutFirstVisibleDate("1/1/2002");
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsStack);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/4/2002","1/8/2002","A","A");
	long h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/6/2002","1/10/2002","A","A");
	var_Items->AddBar(h,"Task","1/4/2002","1/8/2002","B","B");
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarColor,long(255));
spG2antt1->EndUpdate();

1454. The right pane needs to show ONLY the hours 6am to 9pm (every hour) for one day only and the user should not to be able to scroll left or right nor see any other hours. How can I do that
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,"1/1/2001");
	var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,"1/1/2001");
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutNonworkingHours(12582975);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->GetLevel(0)->PutAlignment(EXG2ANTTLib::CenterAlignment | EXG2ANTTLib::exHOutside);
	var_Chart->PutUnitWidth(18);
	var_Chart->PutPaneWidth(VARIANT_TRUE,294);
	var_Chart->PutScrollBar(VARIANT_FALSE);
spG2antt1->PutOnResizeControl(EXG2ANTTLib::exDisableSplitter);
spG2antt1->EndUpdate();

1453. Is it possible to count only a specified type of bars without enumerating them
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Progress","1/3/2001","1/5/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","P3","P3");
	OutputDebugStringW( L"K*" );
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<K*>",EXG2ANTTLib::exBarsCount)) );
	OutputDebugStringW( L"K* P*" );
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<K* P*>",EXG2ANTTLib::exBarsCount)) );

1452. How can I count or get the numbers of the bars in the chart
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	OutputDebugStringW( L"All" );
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<*>",EXG2ANTTLib::exBarsCount)) );
	OutputDebugStringW( L"A*" );
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<A*>",EXG2ANTTLib::exBarsCount)) );
	OutputDebugStringW( L"K*" );
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(0,"<K*>",EXG2ANTTLib::exBarsCount)) );

1451. Is it possible to remove only specified bars from ALL items at once
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	var_Items->RemoveBar(0,"<K*>");

1450. How can I remove all bars from the chart (method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	var_Items->ClearBars(0);

1449. How can I remove all bars from the chart (method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	var_Items->RemoveBar(0,"<*>");

1448. Is it possible to update at once a property for several bars without enumerating them
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	var_Items->PutItemBar(0,"<K*>",EXG2ANTTLib::exBarColor,long(255));

1447. Is it possible to update at once a property of ALL bars without enumerating them
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1","K1");
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/4/2001","A2","A2");
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/4/2001","K3","K3");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarColor,long(255));

1446. How do I prevent selecting a new item when selecting a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutSelectOnClick(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/4/2001","1/6/2001","K2",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->PutSelectItem(var_Items->GetFirstVisibleItem(),VARIANT_TRUE);
spG2antt1->EndUpdate();

1445. Is it possible to find out all incoming bars ( recursively )
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarIncomingBarsAllDebug)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1444. How do I find the incoming bars
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarIncomingBarsDebug)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1443. Is it possible to find out all incoming links ( recursively ). Incoming link is a link from another bar to the current bar
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarIncomingLinksAllAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1442. How do I find the incoming links. Incoming link is link from another bar to the current bar
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarIncomingLinksAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1441. Is it possible to find out all outgoing bars ( recursively )
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarOutgoingBarsAllDebug)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1440. How do I find the outgoing bars
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarOutgoingBarsDebug)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1439. Is it possible to find out all outgoing links ( recursively ). Outgoing link is link from a bar to another bar
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarOutgoingLinksAllAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1438. How do I find the outgoing links. Outgoing link is link from a bar to another bar
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	_variant_t b = spG2antt1->GetChart()->GetBarFromPoint(-1,-1);
	long i = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemBar(i,b,EXG2ANTTLib::exBarOutgoingLinksAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","B","B");
	var_Items->AddLink("L1",h1,"A",h2,"B");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","C","C");
	var_Items->AddLink("L2",h2,"B",h3,"C");
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/8/2001","1/10/2001","D","D");
	var_Items->AddLink("L3",h1,"A",h4,"D");
spG2antt1->EndUpdate();

1437. How do I select a bar using the right-click
// MouseDown event - Occurs when the user presses a mouse button.
void OnMouseDownG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarSelected,VARIANT_FALSE);
		var_Items->PutItemBar(spG2antt1->GetItemFromPoint(-1,-1,c,hit),spG2antt1->GetChart()->GetBarFromPoint(-1,-1),EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/4/2001","1/6/2001","K2",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/8/2001","1/10/2001","K3",vtMissing);
spG2antt1->EndUpdate();

1436. How can I add or change the padding (spaces) for captions in the control's header
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Padding-Left")))->PutDef(EXG2ANTTLib::exHeaderPaddingLeft,long(18));
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Padding-Right")));
	var_Column->PutDef(EXG2ANTTLib::exHeaderPaddingRight,long(18));
	var_Column->PutHeaderAlignment(EXG2ANTTLib::RightAlignment);
spG2antt1->EndUpdate();

1435. Do you have any plans to add cell spacing and cell padding to the cells
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Padding-Left")));
	var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutDef(EXG2ANTTLib::exCellPaddingLeft,long(18));
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"No-Padding")))->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Empty")))->PutPosition(0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("Item A.1"),long(1),"Item A.2");
	var_Items->PutCellValue(var_Items->AddItem("Item B.1"),long(1),"Item B.2");
	var_Items->PutCellValue(var_Items->AddItem("Item C.1"),long(1),"Item C.2");
spG2antt1->EndUpdate();

1434. Can I display somehow the filter just on the top of the list, with an editor associated to each column
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

// Change event - Occurs when the user changes the cell's content.
void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Locked:" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetIsItemLocked(Item)) );
	EXG2ANTTLib::IColumnPtr var_Column = spG2antt1->GetColumns()->GetItem(ColIndex);
		var_Column->PutFilter(L"NewValue");
		var_Column->PutFilterType(EXG2ANTTLib::exPattern);
	spG2antt1->ApplyFilter();
}

// MouseUp event - Occurs when the user releases a mouse button.
void OnMouseUpG2antt1(short Button,short Shift,long X,long Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->Edit(spG2antt1->GetItems()->GetLockedItem(EXG2ANTTLib::exTop,0));
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
spG2antt1->GetChart()->PutFirstVisibleDate("8/3/1994");
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,2);
	long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0);
	var_Items->GetCellEditor(h,long(0))->PutEditType(EXG2ANTTLib::EditType);
	h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,1);
	var_Items->PutItemHeight(h,4);
	var_Items->PutItemDivider(h,0);
	var_Items->PutSelectableItem(h,VARIANT_FALSE);

1433. Is it possible to display information about the firing events
// Event event - Notifies the application once the control fires an event.
void OnEventG2antt1(long EventID)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetEventParam(-2)) );
}


1432. I need to specify the start and end dates of the bar to be the same, but to keep count of the working units. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(543));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutShowEmptyBars(1);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE);
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","9/21/2006","9/21/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","9/22/2006","9/25/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","9/25/2006","9/25/2006",vtMissing,vtMissing);
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1431. I need to specify the start and end dates of the bar to be the same, but no bars are shown. What I can do
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(543));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutShowEmptyBars(1);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE);
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","9/21/2006","9/21/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","9/22/2006","9/22/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","9/25/2006","9/25/2006",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1430. I need my chart to display the end date with on day less. How can I do this (Method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
		var_Column->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(543));
		var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutNonworkingDays(0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE);
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","9/22/2006","9/25/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","9/23/2006","9/26/2006",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1429. Is it possible to change the width of a specified time unit
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	var_Chart->GetDefaultInsideZoomFormat()->PutBackColorChart(RGB(255,0,255));
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(18);
		EXG2ANTTLib::IInsideZoomPtr var_InsideZoom = var_InsideZooms->Add("1/15/2008");
			var_InsideZoom->PutAllowInsideFormat(VARIANT_FALSE);
			var_InsideZoom->PutWidth(128);
spG2antt1->EndUpdate();

1428. The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	var_Chart->GetDefaultInsideZoomFormat()->PutBackColorChart(RGB(255,0,0));
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(18);
		var_InsideZooms->Add("1/15/2008")->PutAllowInsideFormat(VARIANT_FALSE);
spG2antt1->EndUpdate();

1427. The level unit of the chart is set to day, so i'd like to set the whole background of the current day. Is it possible to set a background color only on the current day (Method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutMarkTodayColor(var_Chart->GetBackColor());
	var_Chart->PutLevelCount(2);
	var_Chart->PutMarkSelectDateColor(0x7fff0000);
	var_Chart->PutSelectLevel(1);
	var_Chart->PutSelectDate("1/15/2008",VARIANT_TRUE);
spG2antt1->EndUpdate();

1426. How can I change the layout of my columns when using the exCRD
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
spG2antt1->PutDefaultItemHeight(36);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column1")));
		var_Column->PutVisible(VARIANT_FALSE);
		var_Column->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column2")));
		var_Column1->PutVisible(VARIANT_FALSE);
		var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column3")))->PutVisible(VARIANT_FALSE);
	EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"FormatLevel")));
		var_Column2->PutFormatLevel(L"(0/1),2");
		var_Column2->PutDef(EXG2ANTTLib::exCellFormatLevel,var_Column2->GetFormatLevel());
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Cell 1.1");
	var_Items->PutCellValue(h,long(1),"Cell 1.2");
	var_Items->PutCellValue(h,long(2),"Cell 1.3");
	h = var_Items->AddItem("Cell 2.1");
	var_Items->PutCellValue(h,long(1),"Cell 2.2");
	var_Items->PutCellValue(h,long(2),"Cell 2.3");
spG2antt1->EndUpdate();

1425. How can I overlaid a single bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidGroup(L"OTask");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsNone);
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
	EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Copy(L"Task",L"OTask");
		var_Bar1->PutOverlaidGroup(L"Task");
		var_Bar1->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsCascade | EXG2ANTTLib::exOverlaidBarsStrict);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->AddBar(h,"OTask","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->PutItemBar(h,"A2",EXG2ANTTLib::exBarColor,long(255));
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1424. How can I use the exOverlaidBarsCascade, exBarOverlaidKey
// CreateBar event - Fired when the user creates a new bar.
void OnCreateBarG2antt1(long Item,DATE DateStart,DATE DateEnd)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->PutItemBar(Item,"newbar",EXG2ANTTLib::exBarOverlaidKey,"Level0");
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsCascade);
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->PutItemBar(h,"A1",EXG2ANTTLib::exBarOverlaidKey,"Level0");
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->PutItemBar(h,"A3",EXG2ANTTLib::exBarOverlaidKey,"Level0");
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->PutItemBar(h,"A2",EXG2ANTTLib::exBarColor,long(255));
	var_Items->PutItemBar(h,"A2",EXG2ANTTLib::exBarOverlaidKey,"Level1");
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	var_Items->PutItemBar(h,"A4",EXG2ANTTLib::exBarColor,long(255));
	var_Items->PutItemBar(h,"A4",EXG2ANTTLib::exBarOverlaidKey,"Level1");
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1423. How can I use the exOverlaidBarsStack+exOverlaidBarsStackAutoArrange
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1422. How can I use the exOverlaidBarsStack
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsStack);
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1421. How can I use the exOverlaidBarsIntersect
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsIntersect);
		var_Bar->PutOverlaid(EXG2ANTTLib::exOverlaidBarsIntersect,"Progress");
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1420. How can I use the exOverlaidBarsOffset
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
		var_Bar->PutDef(EXG2ANTTLib::exBarCaption,"<%=%9%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	long h = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","A4",vtMissing);
	h1 = var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1419. Is it possible to specify the end of the project when using the SchedulePDM method
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/5/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"FS");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"SS");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(0));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMScheduleType,long(2));
	var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMScheduleDate,"1/8/2001");
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1418. Is it possible to specify the start of the project when using the SchedulePDM method
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/5/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"FS");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"SS");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(0));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMScheduleType,long(1));
	var_Items->PutDefSchedulePDM(EXG2ANTTLib::exPDMScheduleDate,"1/8/2001");
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1417. How can I change the caption or the addition information being displayed in the Zoom-OnFly view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::exZoomOnFly);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutLabel(EXG2ANTTLib::exHour,L"<font ;5><b><%h%><br><%AM/PM%></b></font>");
	var_Chart->PutZoomOnFlyCaption(_bstr_t("<br><c><b><font ;12><%=%C0 + ' / <fgcolor=00FF00>' + %3%></font></fgcolor></b><br><solidline><u") +
"pline><b>Start</b>:<%=%1%><br><b>End</b>:<%=%2%><br><b>Duration</b>:<%=round(%2-%1) + ' days'%><" +
"br><b>Working</b>:<%='<b>' + int(%258) + '</b> days' + (0:=(%258 - int(%258)) ? (' <fgcolor=FF00" +
"00><b>' + round(24 * =:0) + '</b> hours') : '') %>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T3","T3");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1416. How can I change the scale in the Zoom-OnFly view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::exZoomOnFly);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutLabel(EXG2ANTTLib::exHour,L"<font ;5><b><%h%><br><%AM/PM%></b></font>");
	var_Chart->PutZoomOnFlyCaption(L"");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T3","T3");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1415. Is it possible to change the Zoom-OnFly view's background color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::exZoomOnFly);
	var_Chart->PutBackColorZoomOnFly(RGB(240,240,240));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T3","T3");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1414. How can I include the selected items in the Zoom-OnFly view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::ZoomOnFlyEnum(0x200 | EXG2ANTTLib::exAllowRefineOnFly | EXG2ANTTLib::exAllowInfoOnFly | EXG2ANTTLib::exZoomOnFlyIncludeNeighborItems));
	var_Chart->PutSelBackColor(RGB(240,240,240));
	var_Chart->PutSelectOnClick(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T2","T2");
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","T3","T3");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1413. Is it possible to include the neighbors items in the Zoom-OnFly view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::exAllowRefineOnFly | EXG2ANTTLib::exAllowInfoOnFly | EXG2ANTTLib::exZoomOnFlyIncludeNeighborItems);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T3","T3");
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","T1","T1");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1412. How can I enable the Zoom-OnFly view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowZoomOnFly(EXG2ANTTLib::exZoomOnFly);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","T1","T1");
	var_Items->AddBar(h,"Task","1/11/2001","1/14/2001","T3","T3");
	h = var_Items->AddItem(vtMissing);
	var_Items->AddBar(h,"","1/15/2001","1/15/2001","","Focus the chart ( click here ), and press the <b>CTRL + SHIFT</b>, so the Zoom-OnFly is shown.");
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
spG2antt1->EndUpdate();

1411. I am using the overlay bars on stack, can I somehow tell a type of bar, or a specific bar, to be always on top of all other’s. Like a Z-Index or something
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsStack);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A1","A1");
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","A3","A3");
	var_Items->PutItemBar(h,"A3",EXG2ANTTLib::exBarColor,long(65280));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A31","A31");
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","A3","A3");
	var_Items->PutItemBar(h,"A3",EXG2ANTTLib::exBarColor,long(255));
	var_Items->AddBar(var_Items->AddItem(vtMissing),"","1/10/2001","1/10/2001",long(0),"The <b>Key</b> of the bar specifies the Z-Order when overlaying.");
spG2antt1->EndUpdate();

1410. Is it possible to specify the z-order when using the overlaying feature
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutFirstVisibleDate("9/17/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsCascade);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task");
	var_Items->AddBar(h1,"Task","9/21/2006","9/27/2006","K1","K1");
	var_Items->AddBar(h1,"Task","9/23/2006","9/24/2006","K2","K2");
	var_Items->AddBar(h1,"Task","9/22/2006","9/25/2006","K3","K3");
	var_Items->AddBar(h1,"Task","9/21/2006","9/27/2006","T1","T1");
	var_Items->AddBar(h1,"Task","9/28/2006","9/29/2006","T2","T2");
	var_Items->AddBar(h1,"Task","9/30/2006","10/3/2006","T3","T3");
	var_Items->PutItemBar(0,"<T*>",EXG2ANTTLib::exBarColor,long(65280));
	var_Items->PutItemBar(0,"<K*>",EXG2ANTTLib::exBarOverlaidKey,"A");
	var_Items->PutItemBar(0,"<T*>",EXG2ANTTLib::exBarOverlaidKey,"B");
spG2antt1->EndUpdate();

1409. I seen that there is no exBarStartColor, exBarEndColor, similar to exBarColor, is there any solution so I can display a different Start/End Color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Copy(L"Summary",L"Aka1");
		var_Bar->PutStartColor(RGB(255,0,0));
		var_Bar->PutEndColor(RGB(0,0,255));
	EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Copy(L"Summary",L"Aka2");
		var_Bar1->PutStartColor(RGB(0,255,0));
		var_Bar1->PutEndColor(RGB(255,0,255));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item A");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","B1",vtMissing);
	var_Items->PutItemBar(h,"B1",EXG2ANTTLib::exBarName,"Aka1");
	h = var_Items->AddItem("Item B");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","B2",vtMissing);
	var_Items->PutItemBar(h,"B2",EXG2ANTTLib::exBarName,"Aka2");
spG2antt1->EndUpdate();

1408. How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spG2antt1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragCopySnapShot);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot);
spG2antt1->PutHasLines(EXG2ANTTLib::exThinLine);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->PutDefaultItemHeight(26);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutColor(0x1000000);
		var_Bar->PutHeight(18);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("<img>p1:32</img>Group 1");
	var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemBold(h,VARIANT_TRUE);
	long h1 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->InsertItem(h,long(0),"Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->InsertItem(h,long(0),"Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
	h = var_Items->AddItem("<img>p2:32</img>Group 2");
	var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML);
	var_Items->PutItemBold(h,VARIANT_TRUE);
	var_Items->PutItemDivider(h,0);
	h1 = var_Items->InsertItem(h,long(0),"Task");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->PutExpandItem(0,VARIANT_TRUE);
spG2antt1->EndUpdate();

1407. How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"p1","c:\\exontrol\\images\\card.png");
spG2antt1->PutHTMLPicture(L"p2","c:\\exontrol\\images\\sun.png");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
_variant_t var_HTMLPicture = spG2antt1->GetHTMLPicture(L"aka1");
spG2antt1->PutHeaderHeight(24);
spG2antt1->PutDefaultItemHeight(48);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
spG2antt1->PutGridLineColor(RGB(240,240,240));
spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetColumns()->GetItem(long(0))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
spG2antt1->GetColumns()->GetItem(long(0))->PutFormatColumn(L"value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`");
spG2antt1->GetColumns()->GetItem(long(0))->PutWidth(112);
spG2antt1->GetColumns()->GetItem(long(1))->PutDef(EXG2ANTTLib::exCellHasCheckBox,long(1));
spG2antt1->GetColumns()->GetItem(long(2))->PutLevelKey("1");
spG2antt1->GetColumns()->GetItem(long(3))->PutLevelKey("1");
spG2antt1->GetColumns()->GetItem(long(4))->PutLevelKey("1");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragCopyImage);
spG2antt1->PutSingleSel(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->GetItemByIndex(1);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->GetItemByIndex(2);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->GetItemByIndex(3);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	var_Items->PutLockedItemCount(EXG2ANTTLib::exBottom,1);
	h = var_Items->GetLockedItem(EXG2ANTTLib::exBottom,0);
	var_Items->PutCellValue(h,long(1),_bstr_t("<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Wor") +
"d, ...");
	var_Items->PutCellSingleLine(h,long(1),VARIANT_FALSE);
	var_Items->PutCellValueFormat(h,long(1),EXG2ANTTLib::exHTML);
	var_Items->PutCellHAlignment(h,long(1),EXG2ANTTLib::CenterAlignment);
	var_Items->PutItemDivider(h,1);
	var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerTop);
spG2antt1->EndUpdate();

1406. How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetColumns()->GetItem(long(2))->PutLevelKey("1");
spG2antt1->GetColumns()->GetItem(long(3))->PutLevelKey("1");
spG2antt1->GetColumns()->GetItem(long(4))->PutLevelKey("1");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragCopyText);
spG2antt1->PutSingleSel(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->GetItemByIndex(1);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->GetItemByIndex(3);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->GetItemByIndex(4);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	h = var_Items->GetItemByIndex(5);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
	var_Items->PutLockedItemCount(EXG2ANTTLib::exBottom,1);
	h = var_Items->GetLockedItem(EXG2ANTTLib::exBottom,0);
	var_Items->PutCellValue(h,long(0),_bstr_t("<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Wor") +
"d, Excel, ...");
	var_Items->PutCellSingleLine(h,long(0),VARIANT_FALSE);
	var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML);
	var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerTop);
spG2antt1->EndUpdate();

1405. Is it possible to change the indentation during the drag and drop
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragPositionAny);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot);
spG2antt1->PutHasLines(EXG2ANTTLib::exSolidLine);
spG2antt1->PutHasButtons(EXG2ANTTLib::exWPlus);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Group 1");
	var_Items->PutItemBold(h,VARIANT_TRUE);
	var_Items->PutItemDivider(h,0);
	long h1 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->InsertItem(h1,long(0),"Task 2");
	var_Items->AddBar(h2,"Task","1/15/2001","1/17/2001","K4",vtMissing);
	h2 = var_Items->InsertItem(h1,long(0),"Task 3");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->InsertItem(h,long(0),"Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutExpandItem(h1,VARIANT_TRUE);
	h = var_Items->AddItem("Group 2");
	var_Items->PutItemBold(h,VARIANT_TRUE);
	var_Items->PutItemDivider(h,0);
	var_Items->PutLockedItemCount(EXG2ANTTLib::exBottom,1);
	h = var_Items->GetLockedItem(EXG2ANTTLib::exBottom,0);
	var_Items->PutCellValue(h,long(0),_bstr_t("Click a row, and move by dragging <b>up, down</b> to change the row's parent or <b>left,right</") +
"b> to increase or decrease the indentation.");
	var_Items->PutCellSingleLine(h,long(0),VARIANT_FALSE);
	var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML);
spG2antt1->EndUpdate();

1404. Is it possible to allow moving an item to another, but keeping its indentation
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragPositionKeepIndent);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exNoLinesAtRoot);
spG2antt1->PutHasLines(EXG2ANTTLib::exThinLine);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Group 1");
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemBold(h,VARIANT_TRUE);
	long h1 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->InsertItem(h,long(0),"Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->InsertItem(h,long(0),"Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Group 2");
	var_Items->PutItemBold(h,VARIANT_TRUE);
	var_Items->PutItemDivider(h,0);
spG2antt1->EndUpdate();

1403. How can I change the row's position to another, by drag and drop. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragPosition);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
spG2antt1->EndUpdate();

1402. Is it possible to scroll the control's content by clicking and moving the mouse up or down
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("8/3/1994");
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->PutAutoDrag(EXG2ANTTLib::exAutoDragScroll);
spG2antt1->EndUpdate();

1401. How can I display bars so they fit the entire height ( height of the row )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutDefaultItemHeight(36);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,164);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutUnitWidth(48);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutNonworkingHours(16253183);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutUnitWidth(16);
	var_Chart->PutFirstVisibleDate("1/1/2012 8:00:00 AM");
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->GetBars()->Add(L"Empty")->PutPattern(EXG2ANTTLib::exPatternEmpty);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment | EXG2ANTTLib::exHOutside);
		var_Level->PutLabel("<%d2%>");
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutBarsAllowSizing(VARIANT_FALSE);
	var_Chart->PutAllowSelectObjects(EXG2ANTTLib::exNoSelectObjects);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"CA")));
		var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE);
		var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"CB")));
		var_Column1->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE);
		var_Column1->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Address 1.1<br>Line 2.1<br>C1");
	var_Items->PutItemMaxHeight(h,96);
	var_Items->PutCellValue(h,long(1),"Address 1.2<br>Line 2.2<br>C2");
	var_Items->AddBar(h,"Empty","1/2/2012 8:00:00 AM","1/2/2012 7:00:00 PM","A","This is a bit of text<br>being <font ;9>displayed ion the <b>bar A");
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarBackColor,long(16777471));
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarHAlignCaption,long(0));
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarVAlignCaption,long(2));
	var_Items->AddBar(h,"Empty","1/3/2012 8:00:00 AM","1/3/2012 7:00:00 PM","B",_bstr_t("<fgcolor=FFFFFF>This is a bit of text<br><fgcolor=FFFFFF>being <font ;9>displayed ion the <b>ba") +
"r B");
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarBackColor,long(33488896));
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarHAlignCaption,long(2));
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarVAlignCaption,long(0));
	var_Items->AddBar(h,"Empty","1/4/2012 8:00:00 AM","1/4/2012 7:00:00 PM","C","<font Tahoma;12><b>bar C");
	var_Items->PutItemBar(h,"C",EXG2ANTTLib::exBarBackColor,long(33489151));
spG2antt1->EndUpdate();

1400. Is it possible to define my values for sorting
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"C1")))->PutSortType(EXG2ANTTLib::SortUserDataString);
spG2antt1->GetColumns()->Add(L"C2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Cell 1");
	var_Items->PutCellData(h,long(0),"3.your extra data");
	var_Items->PutCellValue(h,long(1),"SortValue=3");
	h = var_Items->AddItem("Cell 1.1");
	var_Items->PutCellData(h,long(0),"1.your extra data");
	var_Items->PutCellValue(h,long(1)," SortValue=1");
	h = var_Items->AddItem("Cell 1.2");
	var_Items->PutCellData(h,long(0),"5.your extra data");
	var_Items->PutCellValue(h,long(1)," SortValue=5");
	h = var_Items->AddItem("Cell 1.3");
	var_Items->PutCellData(h,long(0),"2.your extra data");
	var_Items->PutCellValue(h,long(1)," SortValue=2");

1399. I have multiple dropdown lists, that are depending on each other, that means that the values in dropdown list no. 2 is based on the users selection in dropdown list no 1. How can I do this
// EditOpen event - Occurs when the edit operation starts.
void OnEditOpenG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		_variant_t v = var_Items->GetCellValue(var_Items->GetFocusItem(),long(0));
		_bstr_t c = var_Items->GetCellCaption(var_Items->GetFocusItem(),long(0));
	EXG2ANTTLib::IEditorPtr var_Editor = spG2antt1->GetColumns()->GetItem(long(1))->GetEditor();
		var_Editor->ClearItems();
		var_Editor->AddItem(v,L"c",vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDownList")));
	EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor();
		var_Editor->PutEditType(EXG2ANTTLib::DropDownListType);
		var_Editor->AddItem(1,L"First",vtMissing);
		var_Editor->AddItem(2,L"Second",vtMissing);
		var_Editor->AddItem(3,L"Third",vtMissing);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DropDownList-Related")))->GetEditor()->PutEditType(EXG2ANTTLib::DropDownListType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),long(-1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(-1));
	var_Items->PutCellValue(var_Items->AddItem(long(3)),long(1),long(-1));
	var_Items->PutLockedItemCount(EXG2ANTTLib::exBottom,1);
	long h = var_Items->GetLockedItem(EXG2ANTTLib::exBottom,0);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerTop);
	var_Items->PutCellEditorVisible(h,long(0),VARIANT_FALSE);
	var_Items->PutCellSingleLine(h,long(0),VARIANT_FALSE);
	var_Items->PutCellValueFormat(h,long(0),EXG2ANTTLib::exHTML);
	var_Items->PutCellValue(h,long(0),_bstr_t("The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the v") +
"alues are based on the selection on the first column.");
spG2antt1->EndUpdate();

1398. Is it possible background color displayed when the mouse passes over an item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Def");
spG2antt1->PutHotBackColor(RGB(0,0,128));
spG2antt1->PutHotForeColor(RGB(255,255,255));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Item A");
	var_Items->AddItem("Item B");
	var_Items->AddItem("Item C");
spG2antt1->EndUpdate();

1397. Is it possible to magnify a specified date and apply a different background color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawLevelSeparator(EXG2ANTTLib::exLevelNoLine);
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("11/23/2011");
	var_Chart->PutLevelCount(3);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->GetInsideZooms()->Add("11/29/2011")->PutAllowCustomFormat(VARIANT_TRUE);
	EXG2ANTTLib::IInsideZoomPtr var_InsideZoom = var_Chart->GetInsideZooms()->GetItem("11/29/2011");
		var_InsideZoom->PutWidth(68);
		var_InsideZoom->GetCustomFormat()->PutBackColorChart(RGB(224,224,224));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long hA = var_Items->AddItem("Task A");
	var_Items->AddBar(hA,"Task","11/24/2011","11/26/2011","A",vtMissing);
	long hB = var_Items->AddItem("Task B");
	var_Items->AddBar(hB,"Task","11/28/2011","12/1/2011","B",vtMissing);
	var_Items->AddLink("LinkAB",hA,"A",hB,"B");
	var_Items->PutLink("LinkAB",EXG2ANTTLib::exLinkStyle,long(2));
	var_Items->PutLink("LinkAB",EXG2ANTTLib::exLinkWidth,long(2));
spG2antt1->EndUpdate();

1396. Could you please tell me how to add multiple bars to the one line
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2002");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/2/2002","1/4/2002","A",vtMissing);
	var_Items->AddBar(h,"Task","1/6/2002","1/10/2002","B",vtMissing);
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarColor,long(255));
	var_Items->AddLink("AB",h,"A",h,"B");
spG2antt1->EndUpdate();

1395. My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(0));
spG2antt1->EndUpdate();
spG2antt1->PutTemplate(L"Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();");

1394. My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(0));
spG2antt1->EndUpdate();
/*
	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 'EXPRINTLib' for the library: 'ExPrint 1.0 Control Library'

	#import <ExPrint.dll>
	using namespace EXPRINTLib;
*/
EXPRINTLib::IExPrintPtr var_Print = ::CreateObject(L"Exontrol.Print");
	var_Print->PutPrintExt(((EXG2ANTTLib::IG2anttPtr)(spG2antt1->ExecuteTemplate(L"me"))));
	var_Print->Preview();

1393. Is it possible to display the bar's captions or labels with a different font/size
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDefaultItemHeight(24);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","","This is a the control's font");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Smaller");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","","<font ;5>This is a the control's font with a smaller size");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Larger");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","","<font ;15>This is a the control's font with a larger size");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Tahoma 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","","<font Tahoma>This is using a Tahoma font");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Tahoma 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","","<font Tahoma;14>This is using a <b>Tahoma</b> font with a different size");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1392. How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"1","K1");
	var_ConditionalFormat->PutBackColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = spG2antt1->GetConditionalFormats()->Add(L"1","K2");
	var_ConditionalFormat1->PutBackColor(RGB(255,0,0));
	var_ConditionalFormat1->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x2));
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
	var_Columns->Add(L"Column 3");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(vtMissing);
	var_Items->AddItem(vtMissing);
	var_Items->AddItem(vtMissing);
spG2antt1->EndUpdate();

1391. Is it possible to change the height for all items at once
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(0,VARIANT_TRUE);
spG2antt1->EndUpdate();
spG2antt1->PutDefaultItemHeight(12);
spG2antt1->GetItems()->PutItemHeight(0,12);

1390. Is it possible to include the weekday when displaying the date
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
		var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
		var_Column->PutFormatColumn(_bstr_t("value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'F") +
"ri';6:'Sat'))");
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
		var_Column1->PutFormatColumn(_bstr_t("value + '<font ;6> '  + (weekday(date(value)) case(0:'Sun';1:'Mon';2:'Tue';3:'Wed';4:'Thu';5:'F") +
"ri';6:'Sat'))");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE);
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","9/22/2006","9/25/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","9/23/2006","9/26/2006",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1389. I need my chart to display the end date with on day less. How can I do this (Method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
		var_Column->PutFormatColumn(L"shortdate(date(value)-1)");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	var_Chart->PutNonworkingDays(0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutAllowCellValueToItemBar(VARIANT_TRUE);
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","9/22/2006","9/25/2006",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","9/23/2006","9/26/2006",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1388. Is it possible to display my custom time-units
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate(long(0));
	var_Chart->PutNonworkingDays(0);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutUnit(EXG2ANTTLib::exDay);
		var_Level->PutCount(16);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Level->PutLabel("<%i%>");
		var_Level->PutFormatLabel(L"'Half ' + (1 + (value/16) mod 2)");
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%i%>");
		var_Level1->PutFormatLabel(L"1 + value mod 16");
		var_Level1->PutReplaceLabel(L"2",L"<font ;10><B>Y");
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,long(0));
	var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,long(31));

1387. Is it possible to add new records and see them in the control's view using the DataSource
// ButtonClick event - Occurs when user clicks on the cell's button.
void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'
		#import <msado15.dll> rename("EOF","REOF")
	*/
	((ADODB::_RecordsetPtr)(spG2antt1->GetDataSource()))->AddNew(vtMissing,vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
/*
	Includes the definition for CreateObject function like follows:

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

*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADODB.Recordset");
	rs->Append(L"Task",ADODB::adBSTR,vtMissing,vtMissing,vtMissing);
	rs->Append(L"Start",ADODB::adDate,vtMissing,vtMissing,vtMissing);
	rs->Append(L"End",ADODB::adDate,vtMissing,vtMissing,vtMissing);
rs->Open(vtMissing,vtMissing,vtMissing,vtMissing,0);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
spG2antt1->PutDetectAddNew(VARIANT_TRUE);
spG2antt1->PutDetectDelete(VARIANT_TRUE);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,1);
	long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemHeight(h,22);
	var_Items->PutCellValue(h,long(0),"AddNew");
	var_Items->PutCellHasButton(h,long(0),VARIANT_TRUE);
	var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment);

1386. How can I limit the bars to scrolling range only
// CreateBar event - Fired when the user creates a new bar.
void OnCreateBarG2antt1(long Item,DATE DateStart,DATE DateEnd)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->PutItemBar(Item,"newbar",EXG2ANTTLib::exBarMinStart,spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exMinDate));
		var_Items->PutItemBar(Item,"newbar",EXG2ANTTLib::exBarMaxEnd,spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exMaxDate));
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,56);
	var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,"1/1/2001");
	var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,"1/15/2001");
	var_Chart->PutFirstVisibleDate("1/12/2001");
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Task 1");
	var_Items->AddItem("Task 2");
	var_Items->AddItem("Task 3");
spG2antt1->EndUpdate();

1385. How do I get the handle of the last added item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Def");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(long(1));
	var_Items->AddItem(long(2));
	OutputDebugStringW( _bstr_t(var_Items->GetItemByIndex(var_Items->GetItemCount())) );

1384. How can I set the charts date format to any other international Format then the US version. I would need "dd.mmm.yyyy" instead of "mmm.d.'yy"
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%dd%>.<%mmm%>.<%yyyy%>");
		var_Level->PutUnit(EXG2ANTTLib::exWeek);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment | EXG2ANTTLib::exHOutside);

1383. Is it possible to define the bar colors, and have the cumulative histogram showing the same colors
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutSingleSel(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutFirstVisibleDate("12/24/2000");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramSelectedItems | EXG2ANTTLib::exHistogramUnlockedItems | EXG2ANTTLib::exHistogramLeafItems | EXG2ANTTLib::exHistogramNoGrouping);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistCumulative);
		var_Bar->PutHistogramItems(6);
		var_Bar->PutHistogramPattern(var_Bar->GetPattern());
		var_Bar->PutHistogramCumulativeOriginalColorBars(EXG2ANTTLib::exKeepOriginalColor);
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Project");
	var_Items->PutItemBold(h,VARIANT_TRUE);
	var_Items->PutSelectableItem(h,VARIANT_FALSE);
	long h1 = var_Items->InsertItem(h,long(0),"Item 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	h1 = var_Items->InsertItem(h,long(0),"Item 2");
	var_Items->AddBar(h1,"Task","1/3/2001","1/5/2001",vtMissing,vtMissing);
	h1 = var_Items->InsertItem(h,long(0),"Item 3");
	var_Items->AddBar(h1,"Task","1/4/2001","1/6/2001",vtMissing,vtMissing);
	var_Items->AddBar(h1,"Task","1/1/2001","1/3/2001","green",vtMissing);
	var_Items->PutItemBar(h1,"green",EXG2ANTTLib::exBarColor,long(65280));
	var_Items->AddBar(h1,"Task","1/8/2001","1/10/2001","red",vtMissing);
	var_Items->PutItemBar(h1,"red",EXG2ANTTLib::exBarColor,long(255));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->SelectAll();
spG2antt1->EndUpdate();

1382. How can I hide the values shown in the legend when cumulative histogram is displayed
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramCheckedItems | EXG2ANTTLib::exHistogramUnlockedItems | EXG2ANTTLib::exHistogramLeafItems | EXG2ANTTLib::exHistogramNoGrouping);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramPattern(EXG2ANTTLib::exPatternSolid);
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistCumulative);
		var_Bar->PutHistogramItems(6);
		var_Bar->PutHistogramRulerLinesColor(RGB(128,0,0));
		var_Bar->PutHistogramBorderColor(RGB(1,0,0));
		var_Bar->PutHistogramCumulativeShowLegend(65535);
		var_Bar->PutHistogramCumulativeOriginalColorBars(EXG2ANTTLib::exChangeColor);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column")));
	var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Project 1");
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 2"),"Task","1/3/2001","1/5/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 3"),"Task","1/4/2001","1/6/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 4"),"Task","1/2/2001","1/8/2001",vtMissing,vtMissing);
	var_Items->PutCellState(var_Items->GetItemByIndex(1),long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1381. Is it possible to define the bar colors, and have the cumulative histogram showing the same colors
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutSelBackColor(spG2antt1->GetBackColor());
spG2antt1->PutSelForeColor(spG2antt1->GetForeColor());
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramCheckedItems | EXG2ANTTLib::exHistogramUnlockedItems | EXG2ANTTLib::exHistogramLeafItems | EXG2ANTTLib::exHistogramNoGrouping);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutColor(RGB(128,128,128));
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistCumulative);
		var_Bar->PutHistogramItems(6);
		var_Bar->PutHistogramRulerLinesColor(RGB(128,0,0));
		var_Bar->PutHistogramBorderColor(RGB(1,0,0));
		var_Bar->PutHistogramCumulativeColors(2);
		var_Bar->PutHistogramCumulativeColor(0,RGB(0,0,255));
		var_Bar->PutHistogramCumulativeColor(1,RGB(0,0,255));
		var_Bar->PutHistogramCumulativeOriginalColorBars(EXG2ANTTLib::exChangeColor);
		var_Bar->PutHistogramPattern(var_Bar->GetPattern());
		var_Bar->PutHistogramCumulativeShowLegend(65535);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column")));
	var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
	var_Column->PutPartialCheck(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Project 1");
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 2"),"Task","1/3/2001","1/5/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 3"),"Task","1/4/2001","1/6/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->InsertItem(h,long(0),"Item 4"),"Task","1/2/2001","1/8/2001",vtMissing,vtMissing);
	var_Items->PutCellState(var_Items->GetItemByIndex(1),long(0),1);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1380. Is it possible to show the non-working pattern over the bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutNonworkingDaysPattern(EXG2ANTTLib::exPatternBDiagonal);
	var_Chart->PutNonworkingDaysColor(RGB(0,0,0));
	var_Chart->PutPaneWidth(VARIANT_FALSE,40);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramUnlockedItems | EXG2ANTTLib::exHistogramLockedTopItems | EXG2ANTTLib::exHistogramLockedBottomItems | EXG2ANTTLib::exHistogramBackground);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Add(L"Empty");
			var_Bar->PutColor(RGB(0,0,0));
			var_Bar->PutPattern(EXG2ANTTLib::exPatternFDiagonal);
			var_Bar->PutShape(EXG2ANTTLib::exShapeSolidFrameless);
		EXG2ANTTLib::IBarPtr var_Bar1 = var_Bars->Add(L"Task:Empty");
			var_Bar1->PutShortcut(L"Task");
			var_Bar1->PutHistogramItems(-5);
			var_Bar1->PutHistogramCriticalValue(3);
			var_Bar1->PutHistogramType(EXG2ANTTLib::exHistOverload);
			var_Bar1->PutHistogramPattern(var_Bar1->GetPattern());
			var_Bar1->PutDef(EXG2ANTTLib::exBarCaption,"<%=%258%> working days bar");
			var_Bar1->PutDef(EXG2ANTTLib::exBarHAlignCaption,long(18));
			var_Bar1->PutDef(EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Chart->PutUnitWidthNonworking(-12);
	var_Chart->GetLevel(1)->PutFormatLabel(L"weekday(dvalue) in (0,6) ? `` : value");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","6/23/2005","6/29/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","6/24/2005","6/28/2005","",vtMissing);
spG2antt1->EndUpdate();

1379. I'm showing values from a ado recordset from sql 2005. When I try to edit a column with integers, it just skips back to the original numbers after pressing enter..., why
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

// Error event - Fired when an internal error occurs.
void OnErrorG2antt1(long Error,LPCTSTR Description)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Error" );
	OutputDebugStringW( L"Description" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("8/3/1994");
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenKeyset,ADODB::adLockReadOnly,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
spG2antt1->EndUpdate();

1378. Is it possible to reduce the non-working parts of the control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,40);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramAllItems);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistOverAllocation);
		var_Bar->PutHistogramPattern(var_Bar->GetPattern());
	var_Chart->PutUnitWidthNonworking(-8);
	var_Chart->GetLevel(1)->PutFormatLabel(L"weekday(dvalue) in (0,6) ? `` : value");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task A");
	var_Items->AddBar(h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(4));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	h = var_Items->AddItem("Task B");
	var_Items->AddBar(h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(2));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1377. I don't want to see the "schedule"/show "workload" in non-working days part of the histogram
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,40);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramAllItems);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistOverAllocation);
		var_Bar->PutHistogramPattern(var_Bar->GetPattern());
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task A");
	var_Items->AddBar(h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(4));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	h = var_Items->AddItem("Task B");
	var_Items->AddBar(h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(2));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1376. The control shows, and handles non-working days PERFECT, but how is it possible to reflect this in the Histogram. I don't want to "schedule"/show "workload" in non-working days...
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,40);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramAllItems);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramType(EXG2ANTTLib::exHistOverAllocation);
		var_Bar->PutHistogramPattern(var_Bar->GetPattern());
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task A");
	var_Items->AddBar(h,"Task","6/23/2005","6/29/2005","","4 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(4));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	h = var_Items->AddItem("Task B");
	var_Items->AddBar(h,"Task","6/28/2005","6/30/2005","","2 working days bar");
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(2));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1375. When I do select the button in the overview-zoom I want the scaling to change accordingly. Can I set different scales per selected zoom level
// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
void OnOverviewZoomG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetUnitScale()) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exYear,L"");

1374. How do I display Icons instead of text in the overview zoom area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exYear,L"");
	OutputDebugStringW( var_Chart->GetOverviewZoomCaption() );
	var_Chart->PutOverviewZoomCaption(L"Year|½Year|¼Year|Month|Third|<img>1</img>|Day|Hour|Min|Sec");

1373. How do I get it to only display Min, Hour, Day, Week , Month, ie remove Sec and Year in the overview area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exYear,L"");

1372. Is it possible to show quarter hours markers
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutGridLineColor(RGB(0,0,0));
spG2antt1->GetVisualAppearance()->Add(3,_bstr_t("gBFLBCJwBAEHhEJAEGg4BdMIQAAYAQGKIYBkAKBQAGaAoDDUNw5QwAAwjSKkEwsACEIrjKCRShyCYZRhGcTAFBMIhkGoSZK") +
"lCIRVDCKYJDbKACSFKkNQ7AabZBgOQJVgOKovThKcIybQAASJCKRY7nUIIJA+SoDSRAbqhYIgASnKqLJAkACIJJAaRjHQdJx" +
"GKKMQANBghCZseKhWgkKIJUxAdLTWAAMQuaCoZ5icRAca2fJ+XzfeBYDgmAYNQbDcJhHCMMwXDaJZBiGJ4dimI4rR7JIDzDJ" +
"8cxbEKTZ5meg5boGRZNTrMQA0fQ9MynK6vahfOi7DpuaZnWrcMb2fYNZwrGq0bxoW58BwmP5/XrkNa4XgcVgmAUBA");
spG2antt1->PutHeaderHeight(20);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::exHOutside);
		var_Level->PutLabel("<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>");
		var_Level->PutDrawTickLines(EXG2ANTTLib::exLevelSolidLine);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%hh%>:00");
		var_Level1->PutBackColor(0x3000000);
		var_Level1->PutDrawTickLines(EXG2ANTTLib::exLevelSolidLine);
	var_Chart->PutDrawLevelSeparator(EXG2ANTTLib::exLevelSolidLine);
	var_Chart->PutUnitWidth(64);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute);
	var_Chart->PutResizeUnitCount(15);
spG2antt1->EndUpdate();

1371. How can I ensure or always show the labels on the chart part, when scrolling the chart to left or right
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitWidth(48);
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment | EXG2ANTTLib::exHOutside);
		var_Level->PutLabel("<%dddd%>, <%mmmm%> <b><%d%></b>, <%yyyy%>");
	var_Chart->GetLevel(1)->PutLabel("<%hh%>:00");
spG2antt1->EndUpdate();

1370. I associate the Start and End columns with bars, but some of them are not shown. What am I doing wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/25/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")));
	var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
	var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"K1");
EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")));
	var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
	var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"K1");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem(vtMissing),"Task","1/1/2001","1/5/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem(vtMissing),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem(vtMissing),"Task","1/3/2001","1/7/2001","????","????");
spG2antt1->EndUpdate();

1369. How can I implement OLE Drag and Drop operation
// OLEStartDrag event - Occurs when the OLEDrag method is called.
void OnOLEStartDragG2antt1(LPDISPATCH Data,long FAR* AllowedEffects)
{
}

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

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");
	var_Items->AddItem("Item 4");
	var_Items->AddItem("Item 5");
spG2antt1->PutOLEDropMode(EXG2ANTTLib::exOLEDropManual);
spG2antt1->EndUpdate();

1368. I can not associate the bar's start and end properties with my start/end columns, only if the bar's key is empty or null. What can I do
// ButtonClick event - Occurs when user clicks on the cell's button.
void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->BeginUpdate();
	EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
		var_Columns->GetItem("Tasks")->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"B");
		var_Columns->GetItem("Start")->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"B");
		var_Columns->GetItem("End")->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"B");
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->PutCellValue(Item,long(1),"B");
		var_Items->PutItemBar(0,"B",EXG2ANTTLib::exBarColor,long(0));
		var_Items->PutItemBar(0,"A",EXG2ANTTLib::exBarColor,long(16775408));
	spG2antt1->EndUpdate();
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Tasks")));
		var_Column->PutWidth(32);
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(3));
		var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A");
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A");
		var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
	EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")));
		var_Column2->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
		var_Column2->PutDef(EXG2ANTTLib::exCellValueToItemBarKey,"A");
		var_Column2->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,196);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
		var_Bar->PutOverlaid(EXG2ANTTLib::exOverlaidBarsTransparent,long(80));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutLockedItemCount(EXG2ANTTLib::exTop,1);
	long h = var_Items->GetLockedItem(EXG2ANTTLib::exTop,0);
	var_Items->PutCellValue(h,long(0),"Select");
	var_Items->PutCellHasButton(h,long(0),VARIANT_TRUE);
	var_Items->PutCellMerge(h,long(1),long(2));
	var_Items->PutCellValue(h,long(1),"A");
	var_Items->GetCellEditor(h,long(1))->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	var_Items1->PutAllowCellValueToItemBar(VARIANT_TRUE);
	h = var_Items1->AddItem("Task 1");
	var_Items1->AddBar(h,"Task","9/21/2006","9/24/2006","A","A");
	var_Items1->AddBar(h,"Task","9/25/2006","9/28/2006","B","B");
	var_Items1->PutItemBar(h,"B",EXG2ANTTLib::exBarColor,long(16775408));
	h = var_Items1->AddItem("Task 2");
	var_Items1->AddBar(h,"Task","9/22/2006","9/25/2006","A","A");
	var_Items1->AddBar(h,"Task","9/26/2006","9/29/2006","B","B");
	var_Items1->PutItemBar(h,"B",EXG2ANTTLib::exBarColor,long(16775408));
spG2antt1->EndUpdate();

1367. How can I determine the order of the events
// AddLink event - Occurs when the user links two bars using the mouse.
void OnAddLinkG2antt1(LPCTSTR LinkKey)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AddLink" );
	OutputDebugStringW( L"LinkKey" );
}

// AfterExpandItem event - Fired after an item is expanded (collapsed).
void OnAfterExpandItemG2antt1(long Item)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AfterExpandItem" );
	OutputDebugStringW( L"Item" );
}

// AllowLink event - Notifies at runtime when a link between two bars is possible.
void OnAllowLinkG2antt1(long StartItem,VARIANT StartBarKey,long EndItem,VARIANT EndBarKey,VARIANT FAR* LinkKey,BOOL FAR* Cancel)
{
	OutputDebugStringW( L"AllowLink" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"StartItem" );
	OutputDebugStringW( L"StartBarKey" );
	OutputDebugStringW( L"EndItem" );
	OutputDebugStringW( L"EndBarKey" );
	OutputDebugStringW( L"LinkKey" );
}

// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR AnchorID,LPCTSTR Options)
{
	OutputDebugStringW( L"AnchorClick" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
	OutputDebugStringW( L"Options" );
}

// BarParentChange event - Occurs just before moving a bar from current item to another item.
void OnBarParentChangeG2antt1(long Item,VARIANT Key,long NewItem,BOOL FAR* Cancel)
{
	OutputDebugStringW( L"BarParentChange" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"Key" );
	OutputDebugStringW( L"NewItem" );
}

// BarResize event - Occurs when a bar is moved or resized.
void OnBarResizeG2antt1(long Item,VARIANT Key)
{
	OutputDebugStringW( L"BarResize" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"Key" );
}

// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	OutputDebugStringW( L"BarResizing" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"Key" );
}

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void OnBeforeExpandItemG2antt1(long Item,VARIANT FAR* Cancel)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"BeforeExpandItem" );
	OutputDebugStringW( L"Item" );
}

// ButtonClick event - Occurs when user clicks on the cell's button.
void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key)
{
	OutputDebugStringW( L"ButtonClick" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"ColIndex" );
	OutputDebugStringW( L"Key" );
}

// CellImageClick event - Fired after the user clicks on the image's cell area.
void OnCellImageClickG2antt1(long Item,long ColIndex)
{
	OutputDebugStringW( L"CellImageClick" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"ColIndex" );
}

// CellStateChanged event - Fired after cell's state has been changed.
void OnCellStateChangedG2antt1(long Item,long ColIndex)
{
	OutputDebugStringW( L"CellStateChanged" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"ColIndex" );
}

// Change event - Occurs when the user changes the cell's content.
void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue)
{
	OutputDebugStringW( L"Change" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"ColIndex" );
	OutputDebugStringW( L"NewValue" );
}

// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long Operation)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ChartEndChanging" );
	OutputDebugStringW( L"Operation" );
}

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
void OnChartSelectionChangedG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ChartSelectionChanged" );
}

// ChartStartChanging event - Occurs when the chart is about to be changed.
void OnChartStartChangingG2antt1(long Operation)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ChartStartChanging" );
	OutputDebugStringW( L"Operation" );
}

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Click" );
}

// ColumnClick event - Fired after the user clicks on column's header.
void OnColumnClickG2antt1(LPDISPATCH Column)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ColumnClick" );
}

// CreateBar event - Fired when the user creates a new bar.
void OnCreateBarG2antt1(long Item,DATE DateStart,DATE DateEnd)
{
	OutputDebugStringW( L"CreateBar" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"DateStart" );
	OutputDebugStringW( L"DateEnd" );
}

// DateChange event - Occurs when the first visible date is changed.
void OnDateChangeG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"DateChange" );
}

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
void OnDblClickG2antt1(short Shift,long X,long Y)
{
	OutputDebugStringW( L"DblClick" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Shift" );
	OutputDebugStringW( L"X" );
	OutputDebugStringW( L"Y" );
	spG2antt1->Edit(vtMissing);
}

// Edit event - Occurs just before editing the focused cell.
void OnEditG2antt1(long Item,long ColIndex,BOOL FAR* Cancel)
{
	OutputDebugStringW( L"Edit" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Item" );
	OutputDebugStringW( L"ColIndex" );
}

// EditClose event - Occurs when the edit operation ends.
void OnEditCloseG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"EditClose" );
}

// EditOpen event - Occurs when the edit operation starts.
void OnEditOpenG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"EditOpen" );
}

// FilterChange event - Occurs when the filter was changed.
void OnFilterChangeG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"FilterChange" );
}

// FilterChanging event - Notifies your application that the filter is about to change.
void OnFilterChangingG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"FilterChanging" );
}

// FocusChanged event - Occurs when a cell gets the focus.
void OnFocusChangedG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"FocusChanged" );
}

// InsideZoom event - Notifies your application that a date is about to be magnified.
void OnInsideZoomG2antt1(DATE DateTime)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"InsideZoom" );
	OutputDebugStringW( L"DateTime" );
}

// KeyDown event - Occurs when the user presses a key while an object has the focus.
void OnKeyDownG2antt1(short FAR* KeyCode,short Shift)
{
	OutputDebugStringW( L"KeyDown" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"KeyCode" );
	OutputDebugStringW( L"Shift" );
}

// KeyPress event - Occurs when the user presses and releases an ANSI key.
void OnKeyPressG2antt1(short FAR* KeyAscii)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"KeyPress" );
	OutputDebugStringW( L"KeyAscii" );
}

// KeyUp event - Occurs when the user releases a key while an object has the focus.
void OnKeyUpG2antt1(short FAR* KeyCode,short Shift)
{
	OutputDebugStringW( L"KeyUp" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"KeyCode" );
	OutputDebugStringW( L"Shift" );
}

// LayoutChanged event - Occurs when column's position or column's size is changed.
void OnLayoutChangedG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"LayoutChanged" );
}

// MouseDown event - Occurs when the user presses a mouse button.
void OnMouseDownG2antt1(short Button,short Shift,long X,long Y)
{
	OutputDebugStringW( L"MouseDown" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Button" );
	OutputDebugStringW( L"Shift" );
	OutputDebugStringW( L"X" );
	OutputDebugStringW( L"Y" );
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
}

// MouseUp event - Occurs when the user releases a mouse button.
void OnMouseUpG2antt1(short Button,short Shift,long X,long Y)
{
	OutputDebugStringW( L"MouseUp" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Button" );
	OutputDebugStringW( L"Shift" );
	OutputDebugStringW( L"X" );
	OutputDebugStringW( L"Y" );
}

// OffsetChanged event - Occurs when the scroll position has been changed.
void OnOffsetChangedG2antt1(BOOL Horizontal,long NewVal)
{
	OutputDebugStringW( L"OffsetChanged" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Horizontal" );
	OutputDebugStringW( L"NewVal" );
}

// OversizeChanged event - Occurs when the right range of the scroll has been changed.
void OnOversizeChangedG2antt1(BOOL Horizontal,long NewVal)
{
	OutputDebugStringW( L"OversizeChanged" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Horizontal" );
	OutputDebugStringW( L"NewVal" );
}

// OverviewZoom event - Occurs once the user selects a new time scale unit in the overview zoom area.
void OnOverviewZoomG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"OverviewZoom" );
}

// RClick event - Fired when right mouse button is clicked
void OnRClickG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"RClick" );
}

// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
void OnScrollButtonClickG2antt1(long ScrollBar,long ScrollPart)
{
	OutputDebugStringW( L"ScrollButtonClick" );
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ScrollBar" );
	OutputDebugStringW( L"ScrollPart" );
}

// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"SelectionChanged" );
}

// Sort event - Fired when the control sorts a column.
void OnSortG2antt1()
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Sort" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesHDash);
spG2antt1->PutAutoEdit(VARIANT_FALSE);
spG2antt1->PutExpandOnDblClick(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesHDash | EXG2ANTTLib::exGridLinesVSolid);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exHour,L"");
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column->PutDisplayFilterButton(VARIANT_TRUE);
		var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Button")));
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutWidth(18);
		var_Column1->PutDef(EXG2ANTTLib::exCellHasButton,VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("parent");
	var_Items->PutCellImage(h,long(0),1);
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","A","<a>A</a>");
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarToolTip,"This is a bit of text that should be shown when cursor hovers the bar");
	var_Items->AddBar(h,"Task","1/8/2001","1/15/2001","B","<a>B</a>");
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->InsertItem(h,"","child");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1366. How can I change the chart's horizontal grid lines
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesHDash);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesHDash | EXG2ANTTLib::exGridLinesVSolid);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","A",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/15/2001","B",vtMissing);
spG2antt1->EndUpdate();

1365. Is there any way to determine whether the ADO operations fails
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

// Error event - Fired when an internal error occurs.
void OnErrorG2antt1(long Error,LPCTSTR Description)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Error" );
	OutputDebugStringW( L"Description" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("8/3/1994");
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenKeyset,ADODB::adLockReadOnly,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
spG2antt1->EndUpdate();

1364. Is it possible to select a column instead sorting it
// ColumnClick event - Fired after the user clicks on column's header.
void OnColumnClickG2antt1(LPDISPATCH Column)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->BeginUpdate();
	spG2antt1->GetColumns()->GetItem(long(0))->PutSelected(VARIANT_FALSE);
	spG2antt1->GetColumns()->GetItem(long(1))->PutSelected(VARIANT_FALSE);
	spG2antt1->GetItems()->SelectAll();
	spG2antt1->EndUpdate();
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->PutSingleSel(VARIANT_FALSE);
spG2antt1->PutFullRowSelect(EXG2ANTTLib::exRectSel);
spG2antt1->PutSortOnClick(EXG2ANTTLib::exNoSort);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("One"),long(1),"Three");
	var_Items->PutCellValue(var_Items->AddItem("Two"),long(1),"Four");
	var_Items->SelectAll();
spG2antt1->EndUpdate();

1363. I am using the exRectSel, and clicking the first column, has no effect, instead if I click other it works as it should
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutSearchColumnIndex(-1);
spG2antt1->PutFullRowSelect(EXG2ANTTLib::exRectSel);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),long(2));
	var_Items->PutCellValue(var_Items->AddItem(long(3)),long(1),long(4));
	var_Items->PutCellValue(var_Items->AddItem(long(5)),long(1),long(6));
spG2antt1->EndUpdate();

1362. Is it possible to display empty strings for 0 values
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Currency")));
	var_Column->PutFormatColumn(L"dbl(value) ? currency(dbl(value)) : ``");
	EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor();
		var_Editor->PutEditType(EXG2ANTTLib::EditType);
		var_Editor->PutNumeric(EXG2ANTTLib::exFloat);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(double(1.23));
	var_Items->AddItem(double(2.34));
	var_Items->AddItem(long(0));
	var_Items->AddItem(double(10000.99));

1361. Is it possible to display empty strings for 0 values
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Number");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Currency")))->PutComputedField(L"%0 ? currency(%0) : ``");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(double(1.23));
	var_Items->AddItem(double(2.34));
	var_Items->AddItem(long(0));
	var_Items->AddItem(double(10000.99));

1360. How can I hide a date from the chart view, when I display hours instead days
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHeaderHeight(32);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/8/2011");
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Level->PutLabel("<b><%d%>-<%mmm%>-<%yyyy%>");
		var_Level->PutUnit(EXG2ANTTLib::exDay);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%h%>");
		var_Level1->PutCount(8);
		var_Level1->PutUnit(EXG2ANTTLib::exHour);
		var_Level1->PutFormatLabel(_bstr_t("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'S") +
"hift <b>2</b><br>38/30' ; 16 : 'Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case (" +
" 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; 16 : 'Shift <b>3</b><br>26/24' )" +
" ) )");
	var_Chart->PutUnitWidth(64);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->GetDefaultInsideZoomFormat()->PutInsideUnit(EXG2ANTTLib::exMinute);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(0);
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms1 = var_Chart->GetInsideZooms();
		var_InsideZooms1->Add("6/9/2011 8:00:00 AM");
		var_InsideZooms1->Add("6/9/2011 4:00:00 PM");
spG2antt1->EndUpdate();

1359. I’ve created a skin (EBN) for the bars of my chart, with rounded top corners. The problem, is that these rounded corners are applied also at beginning and the end of the non working units. Is it possible to show a different picture/skin for the non-working part of the bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetVisualAppearance()->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,128);
EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars();
	var_Bars->GetItem("Task")->PutColor(0x1000000);
	var_Bars->GetItem("Split")->PutColor(0x2000000);
	var_Bars->Add(L"Task:Split")->PutShortcut(L"TS");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task"),"TS","1/2/2001","1/16/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1358. How do I display the names of the tasks on bars but not in the middle of the bar (left or right)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternDot);
		var_Bar->PutHeight(15);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/3/2001","1/8/2001","K1","<b>to do</b> ");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(2));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/3/2001","1/8/2001","K2","<b>to do</b>");
	var_Items->PutItemBar(h,"K2",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task","1/3/2001","1/8/2001","K1"," <b>to do</b>");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(0));
	h = var_Items->AddItem("Task 4");
	var_Items->AddBar(h,"Task","1/3/2001","1/8/2001","K2","<b>to do</b>");
	var_Items->PutItemBar(h,"K2",EXG2ANTTLib::exBarHAlignCaption,long(16));
spG2antt1->EndUpdate();

1357. How can I get the list of items as they are displayed
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
spG2antt1->GetColumns()->Add(L"Names");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Mantel");
	var_Items->AddItem("Mechanik");
	var_Items->AddItem("Motor");
	var_Items->AddItem("Murks");
	var_Items->AddItem("Märchen");
	var_Items->AddItem("Möhren");
	var_Items->AddItem("Mühle");
spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortAscending);
spG2antt1->EndUpdate();
OutputDebugStringW( _bstr_t(spG2antt1->GetItems(long(1))) );

1356. How can I disable the left and right arrows to move to next cell while editing
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit")))->GetEditor();
	var_Editor->PutEditType(EXG2ANTTLib::EditType);
	var_Editor->PutOption(EXG2ANTTLib::exLeftArrow,long(0));
	var_Editor->PutOption(EXG2ANTTLib::exRightArrow,long(0));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Cell 1");
	var_Items->AddItem("Cell 2");
	var_Items->AddItem("Cell 3");

1355. Is it possible to define a bar that is treated as a non-working hour so user can move it at runtime
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	var_Chart->GetLevel(1)->PutLabel("<font ;4><%hh%>");
	var_Chart->PutUnitWidth(12);
	var_Chart->PutNonworkingDaysPattern(EXG2ANTTLib::exPatternBDiagonal);
	var_Chart->PutNonworkingDays(0);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Machine");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"0");
	var_Items->AddBar(h,"","1/1/2001 9:00:00 AM","1/1/2001 11:00:00 AM","A","pause");
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
	var_Items->AddBar(h,"Task","1/1/2001 12:00:00 PM","1/1/2001 5:00:00 PM","Z",vtMissing);
	var_Items->PutItemBar(h,"Z",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1354. Is it possible to customize the chart's header so I can display shift and other values
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHeaderHeight(32);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/8/2011");
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Level->PutLabel("<b><%d%> - <%mmmm%> - <%yyyy%>");
		var_Level->PutUnit(EXG2ANTTLib::exDay);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%h%>");
		var_Level1->PutCount(8);
		var_Level1->PutUnit(EXG2ANTTLib::exHour);
		var_Level1->PutFormatLabel(_bstr_t("date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'S") +
"hift <b>2</b><br>38/30' ; 16 : 'Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case (" +
" 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; 16 : 'Shift <b>3</b><br>26/24' )" +
" ) )");
	var_Chart->PutUnitWidth(64);
	var_Chart->PutNonworkingDays(0);
spG2antt1->EndUpdate();

1353. How can I change both start and end dates of the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("6/19/2005");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Test");
	var_Items->AddBar(h,"Task","6/22/2005","6/27/2005","t1",vtMissing);
	var_Items->AddBar(h,var_Items->GetItemBar(h,"t1",EXG2ANTTLib::exBarName),"6/21/2005","6/22/2005","t1",vtMissing);
spG2antt1->EndUpdate();

1352. Is it possible to add new rows, as I type like in Excel
// EditClose event - Occurs when the edit operation ends.
void OnEditCloseG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->AddItem("");
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutAutoEdit(VARIANT_TRUE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
spG2antt1->PutFullRowSelect(EXG2ANTTLib::exColumnSel);
spG2antt1->GetItems()->AddItem("");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutScrollBars(EXG2ANTTLib::exDisableBoth);
spG2antt1->EndUpdate();

1351. How do I load bars from my table/database
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddBar(Item,"Task",var_Items->GetCellValue(Item,long(2)),var_Items->GetCellValue(Item,long(4)),vtMissing,vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("8/3/1994");
	var_Chart->PutPaneWidth(VARIANT_FALSE,256);
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
/*
	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 'ADODB' for the library: 'Microsoft ActiveX Data Objects 6.0 Library'

	#import <msado15.dll> rename("EOF","REOF")
*/
ADODB::_RecordsetPtr rs = ::CreateObject(L"ADOR.Recordset");
	rs->Open("Orders",_bstr_t("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExTree\\Sample\\VB\\S") +
"AMPLE.MDB",ADODB::adOpenStatic,ADODB::adLockOptimistic,0);
spG2antt1->PutDataSource(((ADODB::_RecordsetPtr)(rs)));
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->GetItem(long(2))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
spG2antt1->GetColumns()->GetItem(long(4))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
spG2antt1->EndUpdate();

1350. Is posible to reduce the size of the picture to be shown in the bar's caption
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,78);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default-Size");
	var_Items->PutItemHeight(h,48);
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1","<img>pic1</img>");
	h = var_Items->AddItem("Custom-Size");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K2","<img>pic1:18</img>");
spG2antt1->EndUpdate();

1349. Is posible to reduce the size of the picture to be shown in the column's caption
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spG2antt1->PutHeaderHeight(48);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"DefaultSize")))->PutHTMLCaption(L"Default-Size <img>pic1</img> Picture");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"CustomSize")))->PutHTMLCaption(L"Custom-Size <img>pic1:16</img> Picture");
spG2antt1->EndUpdate();

1348. Is it possible to display the selected dates using a solid color instead vertical lines
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutMarkTodayColor(var_Chart->GetBackColor());
	var_Chart->PutLevelCount(2);
	var_Chart->PutMarkSelectDateColor(0x7fcbc0ff);
	var_Chart->PutSelectLevel(1);
	var_Chart->PutSelectDate("1/8/2008",VARIANT_TRUE);
	var_Chart->PutSelectDate("1/9/2008",VARIANT_TRUE);
	var_Chart->PutSelectDate("1/10/2008",VARIANT_TRUE);
spG2antt1->PutDefaultItemHeight(72);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem(""),"","1/7/2008","1/12/2008","",_bstr_t("<b>MarkSelectDateColor(32)</b><br>should be <font ;11><i>0x7F000000 + RGB(rr,gg,bb)</i></font><") +
"br> or in the format as: <font ;11><i>0x7FBBGGRR</i></font>, <br>where BB is the hexa value for " +
"Blue, <br>GG for grean and so on.");
spG2antt1->EndUpdate();

1347. How can I show the cells using a different background color based on the condition I have
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
EXG2ANTTLib::IConditionalFormatsPtr var_ConditionalFormats = spG2antt1->GetConditionalFormats();
	EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = var_ConditionalFormats->Add(L"dbl(%1)-dbl(%0) = 1",vtMissing);
		var_ConditionalFormat->PutBackColor(RGB(255,0,0));
		var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
	EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat1 = var_ConditionalFormats->Add(L"dbl(%0)-dbl(%1) = 3",vtMissing);
		var_ConditionalFormat1->PutBackColor(RGB(255,255,0));
		var_ConditionalFormat1->PutApplyTo(EXG2ANTTLib::exFormatToColumns);
	EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat2 = var_ConditionalFormats->Add(L"dbl(%1)-dbl(%0) = 4",vtMissing);
		var_ConditionalFormat2->PutForeColor(RGB(128,128,128));
		var_ConditionalFormat2->PutBold(VARIANT_TRUE);
		var_ConditionalFormat2->PutApplyTo(EXG2ANTTLib::exFormatToItems);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C1")))->PutWidth(8);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C2")))->PutWidth(8);
	var_Columns->Add(L"");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(5)),long(1),long(2));
	var_Items->PutCellValue(var_Items->AddItem(long(5)),long(1),long(6));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(6));
spG2antt1->EndUpdate();

1346. How can I specify the frame's color for all Task bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->GetBars()->GetItem("Task")->PutDef(EXG2ANTTLib::exBarFrameColor,long(255));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/5/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/5/2001","K2",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/5/2001","K3",vtMissing);
spG2antt1->EndUpdate();

1345. Is it possible to change the bar's frame color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(25);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutNonworkingDays(0);
	var_Chart->GetBars()->GetItem("Task")->PutHeight(15);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default");
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","K1",vtMissing);
	h = var_Items->AddItem("Red-Frame");
	var_Items->AddBar(h,"Task","1/3/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(255));
	h = var_Items->AddItem("Green-ThickFrame");
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPattern,long(4099));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(32768));
	h = var_Items->AddItem("Red-ThickFrame/Shadow");
	var_Items->AddBar(h,"Task","1/5/2001","1/8/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPattern,long(12291));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(255));
spG2antt1->EndUpdate();

1344. I need to customize the labels on the chart. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHeaderHeight(32);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("7/1/2011");
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Level->PutLabel("<b><%d%> - <%mmmm%> - <%yyyy%>");
		var_Level->PutUnit(EXG2ANTTLib::exDay);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%h%>");
		var_Level1->PutCount(8);
		var_Level1->PutUnit(EXG2ANTTLib::exHour);
		var_Level1->PutFormatLabel(_bstr_t("int(value) case ( 0 : 'Shift <b>1</b><br><font ;11>' + yearday(dvalue) + '</font>/365 ' ; 8 : '") +
"Shift <b>2</b><br>' + weekday(dvalue) + '/20'; 16 : 'Shift <b>3</b><br>' + (weekday(dvalue) case" +
" ( 0 : '12/22'; 1 : '12/23'; 2 : '2/3'; 3 : '12/13'; 4 : '22/34' ; 5 : '102-<fgcolor=FF0000><b>3" +
"1</b></bgcolor>'; 6 : '1/1' ) )  ) ");
	var_Chart->PutUnitWidth(64);
	var_Chart->PutNonworkingDays(0);
spG2antt1->EndUpdate();

1343. Is it possible to show a frame around the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(25);
EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance();
	var_Appearance->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BOUMQAAYAQGKIYBkAKBQAGaAoDDYMgzQwAAxDELMEwsACEIrjKCVIgkHYJRjGEZxMAsEwjAoaQC") +
"hEZRUhEMgxDDIIyAJIcaw0GSEZwgOQZBiOEYnDANkIYJDSIYHTZIUzTJAdGSVJKNKAoKCaEgORo5SpNUghBDYKQTJyeagkaa" +
"RVCWLplRCNIwWNJdVwjEaQaaiarKNqKNpSViAEqSdKEZRLOyRZyiKQMEreY4EUDQcxUPYMNYaAC6AAparpbwCFpSYpRND3Ta" +
"EE4jSLKAA0HD6QqebIDDJaFq6PbVXSTOLPNhgPQcWxeVJBXjLExUALGSYLC6nKayHZcHACKK5VbVW6ZZDdNy/BLQeD4QANG4" +
"riuNJriMV4dgWVgHh+ZpgCeEIQEQJIgGkMYdA6JwjC0VAAmaJgQgmPp4lCWgSCiaB+DKIYIjqQpllMf6JgYAoAmASAWAaAZg" +
"gQDJ/gKYJIDYDoDmECBGAOBBhEgVgUgSYRoGYGYGCGKB2BCBwhmiBgLggIgoHoJIJGGKIeCiBYiiiLgXgCIpohoMIMGKGJOD" +
"SCwghiZg6g6Y5InYPh/lAECAg");
	var_Appearance->Add(2,"CP:1 2 2 -2 -2");
	var_Appearance->Add(3,"CP:1 -5 -5 5 5");
	var_Appearance->Add(4,"XP:Window 19 1");
	var_Appearance->Add(5,"XP:TreeView 2 1");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default");
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","K1",vtMissing);
	h = var_Items->AddItem("Red-Frame");
	var_Items->AddBar(h,"Task","1/3/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(255));
	h = var_Items->AddItem("Green-ThickFrame");
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPattern,long(4099));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(32768));
	h = var_Items->AddItem("Red-ThickFrame/Shadow");
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPattern,long(12291));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarFrameColor,long(255));
	h = var_Items->AddItem("EBN-Frame-Border");
	var_Items->AddBar(h,"Task","1/5/2001","1/9/2001","K2",vtMissing);
	var_Items->PutItemBar(h,"K2",EXG2ANTTLib::exBarFrameColor,long(16777216));
	h = var_Items->AddItem("EBN-Inside Frame");
	var_Items->AddBar(h,"Task","1/9/2001","1/13/2001","K3",vtMissing);
	var_Items->PutItemBar(h,"K3",EXG2ANTTLib::exBarFrameColor,long(33554432));
	h = var_Items->AddItem("EBN-Outside Frame");
	var_Items->AddBar(h,"Task","1/15/2001","1/18/2001","K4",vtMissing);
	var_Items->PutItemBar(h,"K4",EXG2ANTTLib::exBarFrameColor,long(50331648));
	h = var_Items->AddItem("EBN-XP Close Button");
	var_Items->AddBar(h,"Task","1/15/2001","1/18/2001","K5",vtMissing);
	var_Items->PutItemBar(h,"K5",EXG2ANTTLib::exBarFrameColor,long(67108864));
	h = var_Items->AddItem("EBN-XP TreeView Glyph");
	var_Items->AddBar(h,"Task","1/15/2001","1/18/2001","K6",vtMissing);
	var_Items->PutItemBar(h,"K6",EXG2ANTTLib::exBarFrameColor,long(83886080));
spG2antt1->EndUpdate();

1342. Currently your control, provides customization up to Year,Month,Day,Hours,etc. I would like to add Shifts in a day. Shortly, I need to customize the chart's header. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("7/1/2011");
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Level->PutLabel("<b><%d%> - <%mmmm%> - <%yyyy%>");
		var_Level->PutUnit(EXG2ANTTLib::exDay);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%h%>");
		var_Level1->PutCount(8);
		var_Level1->PutUnit(EXG2ANTTLib::exHour);
		var_Level1->PutReplaceLabel(L"0",L" Shift 1");
		var_Level1->PutReplaceLabel(L"8",L" Shift 2");
		var_Level1->PutReplaceLabel(L"16",L" Shift 3");
	var_Chart->PutUnitWidth(48);
	var_Chart->PutNonworkingDays(0);
spG2antt1->EndUpdate();

1341. The exbartootip shows dates after you moved or resized the bar. My question is during the move or resizing of bar(you click on bar and drag it,during that time) , can we display the new dates simultaneously so we will know where we want to move or resize the bar to
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutDrawDateTicker(VARIANT_TRUE);
	var_Chart->PutDateTickerLabel(L"<%mmm%> <%d%><br><b><%yyyy%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Tasks A");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/9/2001","K2",vtMissing);
	var_Items->PutSelectableItem(var_Items->AddItem(vtMissing),VARIANT_FALSE);
	h = var_Items->AddItem("Tasks B");
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","K1",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/11/2001","K2",vtMissing);

1340. Is it possible to assign a tooltip automatically to all bars, so it can display the start and end, without specifying the IexBarToolTip for each bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->GetBars()->GetItem("Task")->PutDef(EXG2ANTTLib::exBarToolTip,_bstr_t("<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(") +
"%2-%1)%><br>Working: <%=%258%>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Tasks A");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->AddBar(h,"Task","1/5/2001","1/9/2001","K2",vtMissing);
	h = var_Items->AddItem("Tasks B");
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","K1",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/11/2001","K2",vtMissing);

1339. How can I change the color, font, bold etc for the items/cells in the same column or for the entire column
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"1",vtMissing);
	var_ConditionalFormat->PutBold(VARIANT_TRUE);
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
spG2antt1->GetColumns()->Add(L"C1");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"C2")));
	var_Column->PutHeaderBold(VARIANT_TRUE);
	var_Column->PutHTMLCaption(L"<fgcolor=FF0000>C2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(10)),long(1),long(11));
	var_Items->PutCellValue(var_Items->AddItem(long(12)),long(1),long(13));
spG2antt1->EndUpdate();

1338. How can I remove a time-zone
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetChart()->RemoveTimeZone("Z1");
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->MarkTimeZone("Z1","1/4/2010","1/8/2010",long(16744544),vtMissing);

1337. How can I filter the check-boxes (method 2)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check")));
	EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor();
		var_Editor->PutEditType(EXG2ANTTLib::CheckValueType);
		var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutCustomFilter(L"checked||-1|||unchecked||0");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);

1336. How can I filter the check-boxes (method 1)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check")));
	EXG2ANTTLib::IEditorPtr var_Editor = var_Column->GetEditor();
		var_Editor->PutEditType(EXG2ANTTLib::CheckValueType);
		var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterType(EXG2ANTTLib::exCheck);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);
	var_Items->AddItem(VARIANT_TRUE);
	var_Items->AddItem(VARIANT_FALSE);

1335. How can add a button to control
// ButtonClick event - Occurs when user clicks on the cell's button.
void OnButtonClickG2antt1(long Item,long ColIndex,VARIANT Key)
{
	OutputDebugStringW( L"ButtonClick" );
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(Item,ColIndex) );
	OutputDebugStringW( L"Key" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->PutHeaderHeight(22);
spG2antt1->PutAppearance(EXG2ANTTLib::None2);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
spG2antt1->PutScrollBySingleLine(VARIANT_FALSE);
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\auction.gif");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Type")));
		var_Column->PutWidth(48);
		var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Appearance")));
		var_Column1->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
		var_Column1->PutAlignment(EXG2ANTTLib::CenterAlignment);
		var_Column1->PutHeaderAlignment(EXG2ANTTLib::CenterAlignment);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Items.<b>CellHasButton</b> property");
	var_Items->PutCellValue(h,long(1),"Button <b>1</b>");
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	h = var_Items->AddItem("Items.<b>CellButtonAutoWidth</b> property");
	var_Items->PutCellValue(h,long(1)," Button <b>2</b> ");
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	h = var_Items->AddItem("Items.<b>CellHasButton</b> property");
	var_Items->PutCellValue(h,long(1)," <img>2</img>Button <b>3</b> ");
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	h = var_Items->AddItem("Items.<b>CellHasButton</b> property");
	var_Items->PutItemHeight(h,32);
	var_Items->PutCellValue(h,long(1)," <img>2</img>Button <b>4</b> <img>pic1</img> ");
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	h = var_Items->AddItem("Items.<b>CellHasButton</b> in splitted cells");
	var_Items->PutCellValue(h,long(1)," Button <b>5.1</b> ");
	var_Items->PutCellHasButton(h,long(1),VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(h,long(1),VARIANT_TRUE);
	_variant_t s = var_Items->GetSplitCell(h,long(1));
	var_Items->PutCellValue(long(0),s," Button <b>5.2</b> ");
	var_Items->PutCellHasButton(long(0),s,VARIANT_TRUE);
	var_Items->PutCellButtonAutoWidth(long(0),s,VARIANT_TRUE);
	h = var_Items->AddItem("Column.<b>Editor</b>, Items.<b>CellEditor</b>");
	var_Items->PutCellValue(h,long(1),"Visible when clicking the cell");
	EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(h,long(1));
		var_Editor->PutEditType(EXG2ANTTLib::EditType);
		var_Editor->AddButton("B1",long(1),long(0),"This is a bit of text that's shown when the cursor hovers the button B1",vtMissing,vtMissing);
		var_Editor->AddButton("B3",long(2),long(1),"This is a bit of text that's shown when the cursor hovers the button B3",vtMissing,vtMissing);
		var_Editor->AddButton("B4",long(1),long(1),"This is a bit of text that's shown when the cursor hovers the button B4",vtMissing,vtMissing);
		var_Editor->PutButtonWidth(24);
	h = var_Items->AddItem("Column.<b>Editor</b>, Items.<b>CellEditor</b>");
	var_Items->PutCellValue(h,long(1),long(3));
	EXG2ANTTLib::IEditorPtr var_Editor1 = var_Items->GetCellEditor(h,long(1));
		var_Editor1->PutEditType(EXG2ANTTLib::CheckListType);
		var_Editor1->AddItem(1,L"Flag 1",vtMissing);
		var_Editor1->AddItem(2,L"Flag 2",vtMissing);
		var_Editor1->AddItem(4,L"Flag 4",vtMissing);
		var_Editor1->AddItem(8,L"Flag 8",vtMissing);
		var_Editor1->AddButton("C1",long(1),long(0),"This is a bit of text that's shown when the cursor hovers the button C1",vtMissing,vtMissing);
		var_Editor1->AddButton("C3",long(2),long(0),"This is a bit of text that's shown when the cursor hovers the button C2",vtMissing,vtMissing);
		var_Editor1->AddButton("C4",long(1),long(0),"This is a bit of text that's shown when the cursor hovers the button C3",vtMissing,vtMissing);
		var_Editor1->PutButtonWidth(24);
spG2antt1->EndUpdate();

1334. Is it posible to store additional values against each item, cell, bar, link, such as custom values such string / numbers etc
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Column")))->PutData("Extra_Data_Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutItemData(h,"Extra_Data_Item 1");
	var_Items->PutCellData(h,long(0),"Extra_Data_Item 1_Cell_0");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","B1",vtMissing);
	var_Items->PutItemBar(h,"B1",EXG2ANTTLib::exBarData,"Extra_B1_Data");
	h = var_Items->AddItem("Item 2");
	var_Items->PutItemData(h,"Extra_Data_Item 2");
	var_Items->AddBar(h,"Task","1/6/2001","1/10/2001","B2",vtMissing);
	var_Items->PutItemBar(h,"B2",EXG2ANTTLib::exBarData,"Extra_B2_Data");
	var_Items->AddLink("L1",var_Items->GetFindItem("Item 1",long(0),vtMissing),"B1",var_Items->GetFindItem("Item 2",long(0),vtMissing),"B2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkUserData,"Extra_Link_Data");

1333. How do I set the parent item to show the total number of days for its children and also the minimum and maximum dates for its children
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutIndent(11);
spG2antt1->PutHasLines(EXG2ANTTLib::exSolidLine);
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Tasks");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Start")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(1));
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"End")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(2));
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Duration")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(513));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,220);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Project");
	var_Items->AddBar(h,"Summary","9/21/2006","10/3/2006",vtMissing,vtMissing);
	long h1 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->AddBar(h1,"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	long h2 = var_Items->InsertItem(h,long(0),"Task 2");
	var_Items->AddBar(h2,"Task","9/24/2006","9/28/2006",vtMissing,vtMissing);
	long h3 = var_Items->InsertItem(h,long(0),"Task 3");
	var_Items->AddBar(h3,"Task","9/28/2006","10/3/2006",vtMissing,vtMissing);
	var_Items->DefineSummaryBars(h,"",h1,"");
	var_Items->DefineSummaryBars(h,"",h2,"");
	var_Items->DefineSummaryBars(h,"",h3,"");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1332. Is it possible to specify the distance between 2 bars to be at least 2 working days
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(24);
spG2antt1->PutAntiAliasing(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Add(L"Task:Split");
		var_Bar->PutShortcut(L"Task");
		var_Bar->PutColor(RGB(0,0,0));
		var_Bar->PutHeight(17);
		var_Bar->PutPattern(EXG2ANTTLib::exPatternFrameShadow);
	var_Chart->PutFirstVisibleDate("1/3/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLinksWidth(2);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutNonworkingDaysPattern(EXG2ANTTLib::exPatternBDiagonal);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/4/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/5/2001","K2",vtMissing);
	var_Items->PutItemBar(h2,"K2",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkShowRound,long(-1));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkColor,long(8421504));
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","K3",vtMissing);
	var_Items->PutItemBar(h3,"K3",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"<br><br><br><br>This link <u>delays</u> the bars<br>with <b>2</b> working days");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkPDMWorkingDelay,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkShowRound,long(-1));
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1331. The item is not getting selected when clicking the cell's checkbox. What should I do
// CellStateChanged event - Fired after cell's state has been changed.
void OnCellStateChangedG2antt1(long Item,long ColIndex)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->PutSelectItem(Item,VARIANT_TRUE);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Check")))->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(long(0));
	var_Items->AddItem(long(1));
	var_Items->AddItem(long(2));
	var_Items->AddItem(long(3));

1330. How can I add a summary item as a child or subitem of another one
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutFirstVisibleDate("1/1/2011");
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Default");
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long hSummary = var_Items->AddItem("Project");
	var_Items->AddBar(hSummary,"Summary","1/1/2011","1/1/2011","Sum",vtMissing);
	long hChild = var_Items->InsertItem(hSummary,long(0),"Task 1");
	var_Items->AddBar(hChild,"Task","1/2/2011","1/4/2011","Task1",vtMissing);
	var_Items->DefineSummaryBars(hSummary,"Sum",hChild,"Task1");
	hChild = var_Items->InsertItem(hSummary,long(0),"Task 2");
	var_Items->AddBar(hChild,"Task","1/4/2011","1/6/2011","Task2",vtMissing);
	var_Items->DefineSummaryBars(hSummary,"Sum",hChild,"Task2");
	hChild = var_Items->InsertItem(hSummary,long(0),"Task 3");
	var_Items->AddBar(hChild,"Task","1/6/2011","1/8/2011","Task3",vtMissing);
	var_Items->DefineSummaryBars(hSummary,"Sum",hChild,"Task3");
	var_Items->PutExpandItem(hSummary,VARIANT_TRUE);
spG2antt1->EndUpdate();

1329. How can I make an item a subitem of another one
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long hSummary = var_Items->AddItem("Project");
	long hChild = var_Items->InsertItem(hSummary,long(0),"Task 1");
	hChild = var_Items->InsertItem(hSummary,long(0),"Task 2");
	hChild = var_Items->InsertItem(hSummary,long(0),"Task 3");
	var_Items->PutExpandItem(hSummary,VARIANT_TRUE);
spG2antt1->EndUpdate();

1328. Is it possible to move a bar per drag and drop to another owner/item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Members")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutAllowSelectObjects(EXG2ANTTLib::exNoSelectObjects);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsIncludeCaption);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Member <b>1</b>");
	var_Items->AddBar(h,"Task","9/21/2006","9/23/2006","T102","Task <b>102</b>");
	var_Items->PutItemBar(h,"T102",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"T102",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	h = var_Items->AddItem("Member <b>2</b>");
	h = var_Items->AddItem("Member <b>3</b>");
	h = var_Items->AddItem("Member <b>4</b>");
	var_Items->AddBar(h,"Task","9/21/2006","9/23/2006","T103","Task <b>103</b>");
	var_Items->PutItemBar(h,"T103",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"T103",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
spG2antt1->EndUpdate();

1327. I have the chart displaying days, is it possible to display bars/tasks up to hours so inside days somehow
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitWidth(38);
	var_Chart->PutPaneWidth(VARIANT_FALSE,28);
	var_Chart->PutFirstVisibleDate("3/4/2011");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("ASS"),"Task","3/7/2011","3/7/2011 3:30:00 AM",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("EMB"),"Task","3/7/2011 3:30:00 AM","3/8/2011 9:15:00 AM",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("TES"),"Task","3/8/2011 9:15:00 AM","3/8/2011 1:45:00 PM",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1326. Is it possible to limit the height of the item while resizing
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void OnAddItemG2antt1(long Item)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->PutItemMinHeight(Item,18);
	spG2antt1->GetItems()->PutItemMaxHeight(Item,72);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutItemsAllowSizing(EXG2ANTTLib::exResizeItem);
spG2antt1->PutScrollBySingleLine(VARIANT_FALSE);
spG2antt1->PutBackColorAlternate(RGB(240,240,240));
spG2antt1->GetColumns()->Add(L"Names");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Mantel");
	var_Items->AddItem("Mechanik");
	var_Items->AddItem("Motor");
	var_Items->AddItem("Murks");
	var_Items->AddItem("Märchen");
	var_Items->AddItem("Möhren");
	var_Items->AddItem("Mühle");
spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortAscending);
spG2antt1->EndUpdate();

1325. Is it possible to copy the hierarchy of the control using the GetItems method
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Def");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->PutItems(spG2antt1->GetItems(long(-1)),vtMissing);

1324. I have found a property ReadOnly but this doesn't work correctly. I need the chart part of the control to be readonly too. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutReadOnly(EXG2ANTTLib::exReadOnly);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutBarsAllowSizing(VARIANT_FALSE);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);

1323. How can I select a column
// MouseDown event - Occurs when the user presses a mouse button.
void OnMouseDownG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->BeginUpdate();
	spG2antt1->GetItems()->SelectAll();
	spG2antt1->EndUpdate();
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutSingleSel(VARIANT_FALSE);
spG2antt1->PutFullRowSelect(EXG2ANTTLib::exRectSel);
spG2antt1->PutSortOnClick(EXG2ANTTLib::exNoSort);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column1");
	var_Columns->Add(L"Column2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("One"),long(1),"One");
	var_Items->PutCellValue(var_Items->AddItem("Two"),long(1),"Two");
spG2antt1->EndUpdate();

1322. I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Item")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilter(L"Child 1");
	var_Column->PutFilterType(EXG2ANTTLib::exFilter);
EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")));
	var_Column1->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column1->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column1->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column1->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowExclude);
	var_Column1->PutFilter(L"12/28/2010");
	var_Column1->PutFilterType(EXG2ANTTLib::exDate);
spG2antt1->PutFilterCriteria(L"%0 or %1");
spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarOr,L"<font ;18><fgcolor=FF0000>or</fgcolor></font>");
spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAnd,L"<font ;18><fgcolor=FF0000>and</fgcolor></font>");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 1"),long(1),"12/27/2010");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 2"),long(1),"12/28/2010");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 1"),long(1),"12/29/2010");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 2"),long(1),"12/30/2010");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1321. Is it possible exclude the dates being selected in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXG2ANTTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowExclude);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("12/27/2010");
	var_Items->AddItem("12/28/2010");
	var_Items->AddItem("12/29/2010");
	var_Items->AddItem("12/30/2010");
	var_Items->AddItem("12/31/2010");
spG2antt1->EndUpdate();

1320. How can I display a calendar control inside the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")));
	var_Column->PutSortType(EXG2ANTTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("12/27/2010");
	var_Items->AddItem("12/28/2010");
	var_Items->AddItem("12/29/2010");
	var_Items->AddItem("12/30/2010");
	var_Items->AddItem("12/31/2010");
spG2antt1->EndUpdate();

1319. Is it possible to include the dates as checkb-boxes in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXG2ANTTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem);
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXG2ANTTLib::exDate);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("12/27/2010");
	var_Items->AddItem("12/28/2010");
	var_Items->AddItem("12/29/2010");
	var_Items->AddItem("12/30/2010");
	var_Items->AddItem("12/31/2010");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1318. How can I filter items for dates before a specified date
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXG2ANTTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowFocusItem);
	var_Column->PutFilter(L"to 12/27/2010");
	var_Column->PutFilterType(EXG2ANTTLib::exDate);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("12/27/2010");
	var_Items->AddItem("12/28/2010");
	var_Items->AddItem("12/29/2010");
	var_Items->AddItem("12/30/2010");
	var_Items->AddItem("12/31/2010");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1317. Is it possible to filter dates
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Dates")));
	var_Column->PutSortType(EXG2ANTTLib::SortDate);
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutDisplayFilterDate(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowFocusItem);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("12/27/2010");
	var_Items->AddItem("12/28/2010");
	var_Items->AddItem("12/29/2010");
	var_Items->AddItem("12/30/2010");
	var_Items->AddItem("12/31/2010");
spG2antt1->EndUpdate();

1316. Is it possible to change the Exclude field name to something different, in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarExclude,L"Leaving out");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowExclude);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
spG2antt1->EndUpdate();

1315. How can I display the Exclude field in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem | EXG2ANTTLib::exShowExclude);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
spG2antt1->EndUpdate();

1314. Is it possible to show and ensure the focused item from the control, in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowFocusItem);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutSelectItem(var_Items->InsertItem(h,long(0),"Child 2"),VARIANT_TRUE);
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1313. Is it possible to show only blanks items with no listed items from the control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems | EXG2ANTTLib::exShowBlanks);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1312. How can I include the blanks items in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox | EXG2ANTTLib::exShowBlanks);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1311. How can I select multiple items in the drop down filter window, using check-boxes
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exShowCheckBox);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1310. Is it possible to allow a single item being selected in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_FALSE);
	var_Column->PutFilterList(EXG2ANTTLib::exSingleSel);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1309. How can I display no (All) item in the drop down filter window
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutDescription(EXG2ANTTLib::exFilterBarAll,L"");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1308. Is it possible to display no items in the drop down filter window, so only the pattern is visible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutDisplayFilterPattern(VARIANT_TRUE);
	var_Column->PutFilterList(EXG2ANTTLib::exNoItems);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1307. How can I specify the time-scale available when zoom-in/zoom-out or enlarging the chart
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutAllowResizeChart(EXG2ANTTLib::exAllowResizeChartHeader | EXG2ANTTLib::exAllowResizeChartMiddle | EXG2ANTTLib::exAllowChangeUnitScale);
	var_Chart->PutLabel(EXG2ANTTLib::exHour,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,L"");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","1/6/2001","1/10/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task C"),"Task","1/10/2001","1/14/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem(""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
spG2antt1->EndUpdate();

1306. How can I enable zoom-in/zoom-out or enlarging the chart, using the mouse middle button
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutAllowResizeChart(EXG2ANTTLib::exAllowResizeChartHeader | EXG2ANTTLib::exAllowResizeChartMiddle | EXG2ANTTLib::exAllowChangeUnitScale);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","1/6/2001","1/10/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task C"),"Task","1/10/2001","1/14/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem(""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
spG2antt1->EndUpdate();

1305. How can I enable zoom-in/zoom-out or enlarging, using the chart's header
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutAllowResizeChart(EXG2ANTTLib::exAllowResizeChartHeader | EXG2ANTTLib::exAllowChangeUnitScale);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","1/6/2001","1/10/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task C"),"Task","1/10/2001","1/14/2001","K1",vtMissing);
spG2antt1->EndUpdate();

1304. How can I enable resizing the chart, using the mouse middle button
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutAllowResizeChart(EXG2ANTTLib::exAllowResizeChartHeader | EXG2ANTTLib::exAllowResizeChartMiddle);
	var_Chart->PutMaxUnitWidth(128);
	var_Chart->PutMinUnitWidth(8);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","1/6/2001","1/10/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task C"),"Task","1/10/2001","1/14/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem(""),"","1/8/2001","1/8/2001","Info","Click the <b>middle</b> mouse button and start dragging");
spG2antt1->EndUpdate();

1303. How can I enable resizing the chart, using the chart's header
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
	var_Chart->PutAllowResizeChart(EXG2ANTTLib::exAllowResizeChartHeader);
	var_Chart->PutMaxUnitWidth(128);
	var_Chart->PutMinUnitWidth(8);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task A"),"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task B"),"Task","1/6/2001","1/10/2001","K1",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task C"),"Task","1/10/2001","1/14/2001","K1",vtMissing);
spG2antt1->EndUpdate();

1302. Is it possible to auto-numbering the children items but still keeps the position after filtering
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Items")));
	var_Column->PutDisplayFilterButton(VARIANT_TRUE);
	var_Column->PutFilterType(EXG2ANTTLib::exFilter);
	var_Column->PutFilter(L"Child 2");
EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.1")));
	var_Column1->PutFormatColumn(L"1 ropos ''");
	var_Column1->PutPosition(0);
	var_Column1->PutWidth(32);
	var_Column1->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.2")));
	var_Column2->PutFormatColumn(L"1 ropos ':'");
	var_Column2->PutPosition(1);
	var_Column2->PutWidth(32);
	var_Column2->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.3")));
	var_Column3->PutFormatColumn(L"1 ropos ':|A-Z'");
	var_Column3->PutPosition(2);
	var_Column3->PutWidth(32);
	var_Column3->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.4")));
	var_Column4->PutFormatColumn(L"1 ropos '|A-Z|'");
	var_Column4->PutPosition(3);
	var_Column4->PutWidth(32);
	var_Column4->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column5 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.5")));
	var_Column5->PutFormatColumn(L"'<font Tahoma;7>' + 1 ropos '-<b>||A-Z'");
	var_Column5->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	var_Column5->PutPosition(4);
	var_Column5->PutWidth(32);
	var_Column5->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column6 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.6")));
	var_Column6->PutFormatColumn(L"'<b>'+ 1 ropos '</b>:<fgcolor=FF0000>|A-Z|'");
	var_Column6->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	var_Column6->PutPosition(5);
	var_Column6->PutWidth(48);
	var_Column6->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1301. Is it possible to auto-numbering the children items too
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.1")));
	var_Column->PutFormatColumn(L"1 rpos ''");
	var_Column->PutPosition(0);
	var_Column->PutWidth(32);
	var_Column->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.2")));
	var_Column1->PutFormatColumn(L"1 rpos ':'");
	var_Column1->PutPosition(1);
	var_Column1->PutWidth(32);
	var_Column1->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.3")));
	var_Column2->PutFormatColumn(L"1 rpos ':|A-Z'");
	var_Column2->PutPosition(2);
	var_Column2->PutWidth(32);
	var_Column2->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.4")));
	var_Column3->PutFormatColumn(L"1 rpos '|A-Z|'");
	var_Column3->PutPosition(3);
	var_Column3->PutWidth(32);
	var_Column3->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.5")));
	var_Column4->PutFormatColumn(L"'<font Tahoma;7>' + 1 rpos '-<b>||A-Z'");
	var_Column4->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	var_Column4->PutPosition(4);
	var_Column4->PutWidth(32);
	var_Column4->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IColumnPtr var_Column5 = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos.6")));
	var_Column5->PutFormatColumn(L"'<b>'+ 1 rpos '</b>:<fgcolor=FF0000>|A-Z|'");
	var_Column5->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
	var_Column5->PutPosition(5);
	var_Column5->PutWidth(48);
	var_Column5->PutAllowSizing(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
spG2antt1->EndUpdate();

1300. Is it possible to cancel or discard the values during validation
// ValidateValue event - Occurs before user changes the cell's value.
void OnValidateValueG2antt1(long Item,long ColIndex,VARIANT NewValue,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ValidateValue" );
	OutputDebugStringW( L"NewValue" );
	OutputDebugStringW( L"Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	OutputDebugStringW( L"The DiscardValidateValue restores back the previously values." );
	spG2antt1->DiscardValidateValue();
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateCell);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Text")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
spG2antt1->EndUpdate();

1299. Is it possible to validate the values of the cells only when user leaves the focused item
// ValidateValue event - Occurs before user changes the cell's value.
void OnValidateValueG2antt1(long Item,long ColIndex,VARIANT NewValue,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ValidateValue" );
	OutputDebugStringW( L"NewValue" );
	OutputDebugStringW( L"Change the Cancel parameter for ValidateValue event to accept/decline the newly value. " );
	Cancel = VARIANT_TRUE;
	OutputDebugStringW( L"You can not leave the item/record until the Cancel is False." );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateItem);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Text")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
spG2antt1->EndUpdate();

1298. We would like to validate the values of the cells. Is it possible
// ValidateValue event - Occurs before user changes the cell's value.
void OnValidateValueG2antt1(long Item,long ColIndex,VARIANT NewValue,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ValidateValue" );
	OutputDebugStringW( L"NewValue" );
	OutputDebugStringW( L"Change the Cancel parameter for ValidateValue event to accept/decline the newly value." );
	Cancel = VARIANT_TRUE;
	OutputDebugStringW( L"You can not leave the cell until the Cancel is False." );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutCauseValidateValue(EXG2ANTTLib::exValidateCell);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Text")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
	var_Items->PutCellValue(var_Items->AddItem("1/1/2001"),long(1),"text");
spG2antt1->EndUpdate();

1297. Is there any way to add auto-numbering
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Items");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Pos")));
		var_Column->PutFormatColumn(L"1 pos ''");
		var_Column->PutPosition(0);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Item 1");
	var_Items->AddItem("Item 2");
	var_Items->AddItem("Item 3");

1296. How can I format my column to display the percent values “5,00%”
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Percent")))->PutFormatColumn(L"((dbl(value) * 100) format '2|,|3.')+'%'");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(double(0.5));
	var_Items->AddItem(double(0.4));
	var_Items->AddItem(double(0.75));

1295. I can't control bar's transparency if the bar is overlaid. What can be done
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
		var_Bar->PutOverlaid(EXG2ANTTLib::exOverlaidBarsTransparent,long(0));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->PutItemBar(h,"A1",EXG2ANTTLib::exBarTransparent,long(80));
	var_Items->AddBar(h,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","A3",vtMissing);
	var_Items->PutItemBar(h,"A3",EXG2ANTTLib::exBarTransparent,long(50));

1294. How can I show the child items with no identation
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesOutside);
spG2antt1->PutIndent(12);
spG2antt1->PutHasLines(EXG2ANTTLib::exThinLine);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");

1293. Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesAtRoot);
spG2antt1->PutIndent(12);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1292. Is there other ways of showing the hierarchy lines (exGroupLinesOutside)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesOutside);
spG2antt1->PutIndent(12);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");

1291. Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesInsideLeaf);
spG2antt1->PutIndent(12);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1290. Is there other ways of showing the hierarchy lines (exGroupLinesInside)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLinesInside);
spG2antt1->PutIndent(12);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1289. Is there other ways of showing the hierarchy lines (exGroupLines)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exGroupLines);
spG2antt1->PutIndent(12);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(var_Items->InsertItem(h,long(0),"Child 2"),long(0),"SubChild 2");
	var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1288. How can I specify non-working dates for any year, as a repetitive expression for instance
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("12/24/2010");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutLevelCount(2);
	var_Chart->PutNonworkingDays(0);
	var_Chart->AddNonworkingDate(_bstr_t("shortdateF(value) left 5 in ('01/01','01/06','04/25','05/01','06/02','08/15','11/01','12/08','1") +
"2/25','12/26')");

1287. Is it possible to specify the Easter and a day after as being non-working
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("4/14/2011");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutLevelCount(2);
	var_Chart->PutNonworkingDays(0);
	var_Chart->AddNonworkingDate(_bstr_t("not(month(value) in (3,4,5)) ? 0 : ( floor(value)=(2:=floor(date(dateS('3/1/' + year(value)) + ") +
"((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(" +
"value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7)))) or (floor(value)= =:2 " +
"+ 1))");

1286. Here's a simple sample to compute the Easter day
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Year")))->GetEditor();
	var_Editor->PutEditType(EXG2ANTTLib::SpinType);
	var_Editor->PutNumeric(EXG2ANTTLib::exInteger);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Easter")))->PutComputedField(_bstr_t("date(dateS('3/1/' + int(%0)) + ((1:=(((255 - 11 * (int(%0) mod 19)) - 21) mod 30) + 21) + (=:1 ") +
"> 48 ? -1 : 0) + 6 - ((int(%0) + int(int(%0) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(long(2008));
	var_Items->AddItem(long(2009));
	var_Items->AddItem(long(2010));
	var_Items->AddItem(long(2011));
spG2antt1->EndUpdate();

1285. How do I specify the Easter or holydays as non-working
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAdjustLevelsToBase(VARIANT_TRUE);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("4/14/2011");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutLevelCount(2);
	var_Chart->PutNonworkingDays(0);
	var_Chart->AddNonworkingDate("month(value) = 7");
	var_Chart->AddNonworkingDate(_bstr_t("not(month(value) in (3,4)) ? 0 : ( floor(value)=floor(date(dateS('3/1/' + year(value)) + ((1:=(") +
"((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value)" +
" + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))))");

1284. Is it possible to add a repetitive expression to define non-working dates
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutLevelCount(2);
	var_Chart->AddNonworkingDate("1/13/2010");
	var_Chart->AddNonworkingDate("month(value) = 1 and (day(value) in (1,6))");

1283. How do I get the Easter date
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Easter")))->PutFormatColumn(_bstr_t("date(dateS('3/1/' + year(value))  + ((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21") +
") + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) " +
"+ 1) mod 7))");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("1/1/1989");
	var_Items->AddItem("1/1/2001");
	var_Items->AddItem("1/1/2002");
	var_Items->AddItem("1/1/2003");
	var_Items->AddItem("1/1/2010");

1282. How can I calculate the number of visible units
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( L"UnitCount:" );
		OutputDebugStringW( _bstr_t(var_Chart->GetCountVisibleUnits(var_Chart->GetDateFromPoint(0,-1),var_Chart->GetDateFromPoint(1,-1))) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->PutLevelCount(2);

1281. Is it possible to specify the nonworking up to minutes and I can see when using the inside zoom feature
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutLevelCount(3);
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutUnitWidth(16);
	var_Chart->PutDrawLevelSeparator(EXG2ANTTLib::exLevelNoLine);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(2);
		var_Level->PutUnit(EXG2ANTTLib::exMinute);
		var_Level->PutCount(60);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute);
	var_Chart->PutResizeUnitCount(15);
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	EXG2ANTTLib::IInsideZoomFormatPtr var_InsideZoomFormat = var_Chart->GetDefaultInsideZoomFormat();
		var_InsideZoomFormat->PutInsideUnit(EXG2ANTTLib::exMinute);
		var_InsideZoomFormat->PutInsideCount(15);
		var_InsideZoomFormat->PutInsideLabel(L"<%nn%>");
		var_InsideZoomFormat->PutOwnerLabel(L"Hour: <b><%h%>");
		var_InsideZoomFormat->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->GetInsideZooms()->Add("1/1/2010 12:00:00 PM");
	var_Chart->GetInsideZooms()->Add("1/1/2010 1:00:00 PM");
	var_Chart->PutFirstVisibleDate("1/1/2010 9:00:00 AM");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Non-Working")))->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"12:30:00\" and timeF(value) <=\"14:00:00\" ));5:") +
"( timeF(value)>=\"12:30:00\" and timeF(value) <=\"13:30:00\" );6:1;0:1) ");
	h = var_Items->AddItem("10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"10:45:00\" and timeF(value) <=\"13:45:00\" ));5:") +
"( timeF(value)>=\"10:45:00\" and timeF(value) <=\"14:30:00\" );6:1;0:1) ");
	h = var_Items->AddItem("2:30 to 9:30 on Friday, Saturday and Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"02:30:00\" and timeF(value) <=\"09:30:00\" ));1:") +
"0;2:0;3:0;4:0) ");
spG2antt1->EndUpdate();

1280. Is it possible to show the non-working units up to minutes
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,128);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutUnitWidth(16);
	var_Chart->PutDrawLevelSeparator(EXG2ANTTLib::exLevelNoLine);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1);
		var_Level->PutUnit(EXG2ANTTLib::exMinute);
		var_Level->PutCount(60);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exMinute);
	var_Chart->PutResizeUnitCount(15);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Non-Working")))->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("12:30 to 14:00 Monday to Thursday, 12:30 to 13:30 on Friday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"12:30:00\" and timeF(value) <=\"14:00:00\" ));5:") +
"( timeF(value)>=\"12:30:00\" and timeF(value) <=\"13:30:00\" );6:1;0:1) ");
	h = var_Items->AddItem("10:45 to 13:45 Monday to Thursday, 10:45 to 14:30 on Friday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"10:45:00\" and timeF(value) <=\"13:45:00\" ));5:") +
"( timeF(value)>=\"10:45:00\" and timeF(value) <=\"14:30:00\" );6:1;0:1) ");
	h = var_Items->AddItem("2:30 to 9:30 on Friday, Saturday and Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,_bstr_t("weekday(value) case (default:((timeF(value)>=\"02:30:00\" and timeF(value) <=\"09:30:00\" ));1:") +
"0;2:0;3:0;4:0) ");
spG2antt1->EndUpdate();

1279. Is it possible to define several type of progress bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Copy(L"Progress",L"ProgressT");
		var_Bar->PutColor(RGB(255,0,0));
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolid);
		var_Bar->PutHeight(7);
	var_Chart->GetBars()->Add(L"Task%ProgressT:Split")->PutShortcut(L"Task");
	EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->GetItem("Progress");
		var_Bar1->PutColor(RGB(0,0,255));
		var_Bar1->PutShape(EXG2ANTTLib::exShapeSolidUp);
	var_Chart->GetBars()->Add(L"Summary%Progress")->PutShortcut(L"Summary");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Project");
	var_Items->PutItemHeight(h,16);
	var_Items->PutCellValue(h,long(1),"9/21/2006");
	var_Items->PutCellValue(h,long(2),"10/3/2006");
	var_Items->AddBar(h,"Summary",var_Items->GetCellValue(h,long(1)),var_Items->GetCellValue(h,long(2)),"sum",vtMissing);
	var_Items->PutItemBar(h,"sum",EXG2ANTTLib::exBarPercent,double(0.4));
	var_Items->PutItemBar(h,"sum",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	long h1 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->PutCellValue(h1,long(1),var_Items->GetCellValue(h,long(1)));
	var_Items->PutCellValue(h1,long(2),"9/27/2006");
	var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),"K1",vtMissing);
	var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarPercent,double(0.6));
	var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	long h2 = var_Items->InsertItem(h,long(0),"Task 2");
	var_Items->PutCellValue(h2,long(1),var_Items->GetCellValue(h1,long(2)));
	var_Items->PutCellValue(h2,long(2),"9/28/2006");
	var_Items->AddBar(h2,"Unknown",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),"K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->InsertItem(h,long(0),"Task 3");
	var_Items->PutCellValue(h3,long(1),var_Items->GetCellValue(h2,long(2)));
	var_Items->PutCellValue(h3,long(2),var_Items->GetCellValue(h,long(2)));
	var_Items->AddBar(h3,"Task",var_Items->GetCellValue(h3,long(1)),var_Items->GetCellValue(h3,long(2)),"K3",vtMissing);
	var_Items->PutItemBar(h3,"K3",EXG2ANTTLib::exBarPercent,double(0.65));
	var_Items->PutItemBar(h3,"K3",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	var_Items->PutItemBar(h3,"K3",EXG2ANTTLib::exBarPercentColor,long(32768));
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h2,"K2",VARIANT_TRUE,long(31),"0;4");
	var_Items->GroupBars(h2,"K2",VARIANT_FALSE,h3,"K3",VARIANT_TRUE,long(31),"0;2");
	var_Items->DefineSummaryBars(h,"sum",h1,"K1");
	var_Items->DefineSummaryBars(h,"sum",h2,"K2");
	var_Items->DefineSummaryBars(h,"sum",h3,"K3");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1278. Is it possible to display the percent bar over the summary bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Progress");
		var_Bar->PutColor(RGB(0,0,255));
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolidUp);
	var_Chart->GetBars()->Add(L"Summary%Progress")->PutShortcut(L"SummaryP");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Summary");
	var_Items->AddBar(h,"SummaryP","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.4));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
spG2antt1->EndUpdate();

1277. How can I display the percent value in the lower side of the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Progress");
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolid);
		var_Bar->PutHeight(7);
		var_Bar->PutColor(RGB(0,0,255));
	var_Chart->GetBars()->Add(L"Task%Progress")->PutShortcut(L"Percent");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Percent","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.5));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarVAlignPercent,long(2));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Percent","1/3/2001","1/9/2001","K2",vtMissing);
spG2antt1->EndUpdate();

1276. Is it possible to change the percent's height
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Progress");
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolid);
		var_Bar->PutHeight(7);
	var_Chart->GetBars()->Add(L"Task%Progress");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task%Progress","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.5));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
spG2antt1->EndUpdate();

1275. How can I change the pattern for the percent bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Progress");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolid);
		var_Bar->PutColor(RGB(196,0,0));
	var_Chart->GetBars()->Add(L"Task%Progress");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task%Progress","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.4));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
spG2antt1->EndUpdate();

1274. How can I change the look for the percent bar using EBN
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\hot.ebn");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Progress");
		var_Bar->PutColor(0x1000000);
		var_Bar->PutShape(EXG2ANTTLib::exShapeSolid);
		var_Bar->PutHeight(7);
	var_Chart->GetBars()->Add(L"Task%Progress");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task%Progress","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.4));
spG2antt1->EndUpdate();

1273. Is it possible to align the percent bar to the bottom of the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(32);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->GetBars()->GetItem("Task")->PutHeight(28);
	var_Chart->GetBars()->Add(L"Task%Progress")->PutShortcut(L"Percent");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Percent","1/2/2001","1/14/2001","K1","text inside");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarVAlignCaption,long(0));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.75));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercentCaptionFormat,"%p%");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarVAlignPercent,long(2));
spG2antt1->EndUpdate();

1272. Is it possible to show the percent on the bottom side of the bar, so I can leave the text upside
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(32);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		var_Bars->GetItem("Task")->PutHeight(28);
		EXG2ANTTLib::IBarPtr var_Bar = var_Bars->GetItem("Progress");
			var_Bar->PutShape(EXG2ANTTLib::exShapeThinDown);
			var_Bar->PutHeight(20);
			var_Bar->PutColor(RGB(0,0,255));
		var_Bars->Add(L"Task%Progress")->PutShortcut(L"Percent");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Percent","1/2/2001","1/14/2001","K1","text inside");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarVAlignCaption,long(0));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.75));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarShowPercentCaption,VARIANT_TRUE);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercentCaptionFormat,"<br>%p%");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarAlignPercentCaption,long(1));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarCanResizePercent,VARIANT_FALSE);
spG2antt1->EndUpdate();

1271. Is it possible to assign a multiple lines labels/captions to a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemHeight(h,32);
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarCaption,"Line1<br>Line2");

1270. Does your control supports multiple lines tooltip
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spG2antt1->PutToolTipDelay(1);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"tootip")))->PutToolTip(_bstr_t("<font Tahoma;20>This</font> is a <b>multi-lines</b> tooltip assigned to a column. The tooltip s") +
"upports built-in HTML tags, icons and pictures.<br><img>pic1</img> picture ...");

1269. It is possible to write the word in red/color or to add a tooltip or a link to the word
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("12/26/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,32);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"","1/1/2001","1/5/2001","K1","some <fgcolor=FF0000>red</fgcolor> text");
	var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
	var_Items->PutItemBar(h1,"K1",EXG2ANTTLib::exBarToolTip,"And here goes the <b>tooltip</b> of the text. ");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->PutItemBar(h2,"K2",EXG2ANTTLib::exBarToolTip,"And here goes the <b>tooltip</b> of the bar. ");
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L<b>inke</b>d to a bar");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkToolTip,"And here goes the <b>tooltip</b> of the link. ");

1268. It is possible to use seconds/minutes/hours as time scale in your control, but using my regional settings
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLabel(EXG2ANTTLib::exMonth,_bstr_t("<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yy") +
"yy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,_bstr_t("<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>2") +
"56");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><") +
"|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%><||><||>4096");
	var_Chart->PutLabel(EXG2ANTTLib::exHour,_bstr_t("<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_ddd") +
"d%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%><||><||>65536");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM") +
"%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,_bstr_t("<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy") +
"%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%" +
"> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMonth,L"<%loc_mmmm%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHour,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMinute,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exSecond,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
EXG2ANTTLib::IChartPtr var_Chart1 = spG2antt1->GetChart();
	var_Chart1->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart1->PutFirstVisibleDate("1/1/2001");
	var_Chart1->PutLevelCount(4);
	var_Chart1->GetLevel(0)->PutLabel(long(4096));
	var_Chart1->GetLevel(1)->PutLabel(long(65536));
	var_Chart1->GetLevel(2)->PutLabel(long(1048576));
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart1->GetLevel(3);
		var_Level->PutCount(15);
		var_Level->PutLabel(long(16777216));
spG2antt1->EndUpdate();

1267. The chart's header is displayed in English. Can I change so it is the same as in my regional settings
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLabel(EXG2ANTTLib::exMonth,_bstr_t("<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yy") +
"yy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,_bstr_t("<|><%ww%><|><%loc_m3%> <%d%>, '<%yy%><r><%ww%><|><%loc_mmmm%> <%d%>, <%yyyy%><r><%ww%><||><||>2") +
"56");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%><") +
"|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%><||><||>4096");
	var_Chart->PutLabel(EXG2ANTTLib::exHour,_bstr_t("<|><%hh%><|><%h%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%loc_ddd") +
"d%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%><||><||>65536");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM") +
"%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,_bstr_t("<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_d3%>, <%loc_m3%> <%d%>, '<%yy") +
"%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%" +
"> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMonth,L"<%loc_mmmm%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%loc_mmmm%> <%d%>, <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHour,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMinute,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exSecond,L"<%loc_dddd%>, <%loc_mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
EXG2ANTTLib::IChartPtr var_Chart1 = spG2antt1->GetChart();
	var_Chart1->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart1->PutFirstVisibleDate("1/1/2001");
	var_Chart1->PutLevelCount(2);
	var_Chart1->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1266. It is possible to use seconds/minutes/hours as time scale in your control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(4);
	var_Chart->GetLevel(0)->PutLabel(long(4096));
	var_Chart->GetLevel(1)->PutLabel(long(65536));
	var_Chart->GetLevel(2)->PutLabel(long(1048576));
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(3);
		var_Level->PutCount(15);
		var_Level->PutLabel(long(16777216));
spG2antt1->EndUpdate();

1265. Is it possible to resize chart's column/level using the mouse as we can for the columns, but do not want to resize up to hours
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,32);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_TRUE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomFormatPtr var_InsideZoomFormat = var_Chart->GetDefaultInsideZoomFormat();
		var_InsideZoomFormat->PutOwnerLabel(L"<%d%>");
		var_InsideZoomFormat->PutInsideLabel(L"");
		var_InsideZoomFormat->PutInsideUnit(EXG2ANTTLib::exHour);
		var_InsideZoomFormat->PutInsideCount(24);
		var_InsideZoomFormat->PutDrawTickLines(VARIANT_FALSE);
		var_InsideZoomFormat->PutDrawGridLines(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(18);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task"),"Task","1/3/2008","1/8/2008",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1264. Is it possible to resize chart's column/level using the mouse as we can for the columns
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,32);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_TRUE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomFormatPtr var_InsideZoomFormat = var_Chart->GetDefaultInsideZoomFormat();
		var_InsideZoomFormat->PutOwnerLabel(L"<%d%>");
		var_InsideZoomFormat->PutInsideLabel(L"");
		var_InsideZoomFormat->PutDrawTickLines(VARIANT_FALSE);
		var_InsideZoomFormat->PutDrawGridLines(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(18);
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task"),"Task","1/3/2008","1/8/2008",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1263. How can I empty or clear the undo/redo queue
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowUndoRedo(VARIANT_TRUE);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
	OutputDebugStringW( L"Clear undo/redo queue" );
	spG2antt1->GetChart()->PutAllowUndoRedo(VARIANT_FALSE);
	spG2antt1->GetChart()->PutAllowUndoRedo(VARIANT_TRUE);
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
spG2antt1->EndUpdate();

1262. How can I remove the undo/redo queue
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowUndoRedo(VARIANT_TRUE);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
	OutputDebugStringW( L"Clear undo/redo queue" );
	spG2antt1->GetChart()->UndoRemoveAction(vtMissing,vtMissing);
	spG2antt1->GetChart()->RedoRemoveAction(vtMissing,vtMissing);
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
spG2antt1->EndUpdate();

1261. Is it possible to prevent adding an undo operation for instance the RemoveLink(LinkKey) I call during the AddLink event
// AddLink event - Occurs when the user links two bars using the mouse.
void OnAddLinkG2antt1(LPCTSTR LinkKey)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->RemoveLink(LinkKey);
	spG2antt1->GetChart()->UndoRemoveAction(long(7),long(1));
	spG2antt1->GetChart()->UndoRemoveAction(long(8),long(1));
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
}

// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long Operation)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowUndoRedo(VARIANT_TRUE);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
spG2antt1->EndUpdate();

1260. Is it possible to rename the links from "Link1" to my choice
// AddLink event - Occurs when the user links two bars using the mouse.
void OnAddLinkG2antt1(LPCTSTR LinkKey)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->PutLink(LinkKey,EXG2ANTTLib::exLinkKey,"newIDlink");
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
spG2antt1->EndUpdate();

1259. How can I prevent highlighting the column from the cursor - point
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetVisualAppearance()->Add(1,_bstr_t("gBFLBCJwBAEHhEJAEGg4BI0IQAAYAQGKIYBkAKBQAGaAoDDUOQzQwAAxDKKUEwsACEIrjKCYVgOHYYRrIMYgBCMJhLEoaZL") +
"hEZRQiqDYtRDFQBSDDcPw/EaRZohGaYJgEgI=");
spG2antt1->PutBackground(EXG2ANTTLib::exCursorHoverColumn,0x1000000);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"S")))->PutWidth(32);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Level 1")))->PutLevelKey(long(1));
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Level 2")))->PutLevelKey(long(1));
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Level 3")))->PutLevelKey(long(1));
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"E1")))->PutWidth(32);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"E2")))->PutWidth(32);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"E3")))->PutWidth(32);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"E4")))->PutWidth(32);

1258. Is it possible to specify the background color for the item in the chart part only
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	long hC = var_Items->InsertItem(h,long(0),"Child 1");
	spG2antt1->GetChart()->PutItemBackColor(hC,RGB(255,0,0));
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1257. Is it possible to apply different visual appearance, color, sizes for item in the list and chart part
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetVisualAppearance()->Add(2,"c:\\exontrol\\images\\pushed.ebn");
spG2antt1->GetVisualAppearance()->Add(3,"CP:2 2 2 -2 -2");
spG2antt1->GetColumns()->Add(L"Default");
spG2antt1->PutSelBackMode(EXG2ANTTLib::exTransparent);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	long hC = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutItemBackColor(hC,0x1ffff00);
	spG2antt1->GetChart()->PutItemBackColor(hC,0x300ff00);
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1256. How do I change the visual appearance for the entire item, using your EBN technology
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	long hC = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutItemBackColor(hC,0x1000000);
	spG2antt1->GetChart()->PutItemBackColor(hC,0x1000000);
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1255. is it possible to specify the a different background color for the item, list and chart part
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	long hC = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutItemBackColor(hC,RGB(255,0,0));
	spG2antt1->GetChart()->PutItemBackColor(hC,RGB(255,255,0));
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1254. Is it possible to specify the background color for the entire row, including the chart part
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	long hC = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutItemBackColor(hC,RGB(255,0,0));
	spG2antt1->GetChart()->PutItemBackColor(hC,RGB(255,0,0));
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1253. Is it possible to prevent overlaying the bars while moving or resizing the bars, so they get arranged once the bar is moved or resized
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutOverlaidOnMoving(VARIANT_FALSE);
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("");
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A1",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","A3",vtMissing);
spG2antt1->EndUpdate();

1252. Is it possible display numbers in the same format no matter of regional settings in the control panel
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default positive)'");
	h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
	h = var_Items->AddItem(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default negative)'");
	h = var_Items->AddItem(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '2|.|3|,|1|1')");
spG2antt1->EndUpdate();

1251. Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(0.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
spG2antt1->EndUpdate();

1250. How can I specify the format for negative numbers
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(-100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
spG2antt1->EndUpdate();

1249. Is it possible to change the grouping character when display numbers
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
spG2antt1->EndUpdate();

1248. How can I display numbers with 2 digits in each group
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(100000.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
spG2antt1->EndUpdate();

1247. How can I display my numbers using a different decimal separator
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
spG2antt1->EndUpdate();

1246. Is it possible to display the numbers using 3 (three) digits
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Def")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
	h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
	h = var_Items->AddItem(double(100.27));
	var_Items->PutFormatCell(h,long(0),L"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
spG2antt1->EndUpdate();

1245. Is it possible to format numbers
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutSelBackColor(spG2antt1->GetBackColor());
spG2antt1->PutSelForeColor(spG2antt1->GetForeColor());
spG2antt1->PutShowFocusRect(VARIANT_TRUE);
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Name");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"A")));
		var_Column->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(36);
		var_Column->PutFormatColumn(L"len(value) ? value + ' +'");
		var_Column->GetEditor()->PutEditType(EXG2ANTTLib::SpinType);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"B")));
		var_Column1->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutWidth(36);
		var_Column1->PutFormatColumn(L"len(value) ? value + ' +'");
		var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::SpinType);
	EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C")));
		var_Column2->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutWidth(36);
		var_Column2->PutFormatColumn(L"len(value) ? value + ' ='");
		var_Column2->GetEditor()->PutEditType(EXG2ANTTLib::SpinType);
	EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"A+B+C")));
		var_Column3->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column3->PutWidth(64);
		var_Column3->PutComputedField(L"dbl(%1)+dbl(%2)+dbl(%3)");
		var_Column3->PutFormatColumn(_bstr_t("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ") +
") : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column3->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->PutCellValueFormat(h,long(4),EXG2ANTTLib::exComputedField);
	long h1 = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutCellValue(h1,long(1),long(7));
	var_Items->PutCellValue(h1,long(2),long(3));
	var_Items->PutCellValue(h1,long(3),long(1));
	h1 = var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutCellValue(h1,long(1),long(-2));
	var_Items->PutCellValue(h1,long(2),long(-2));
	var_Items->PutCellValue(h1,long(3),long(-4));
	h1 = var_Items->InsertItem(h,long(0),"Child 3");
	var_Items->PutCellValue(h1,long(1),long(2));
	var_Items->PutCellValue(h1,long(2),long(2));
	var_Items->PutCellValue(h1,long(3),long(-4));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1244. How can I show the tooltip programmatically ( I want to be able to set the tooltip content dynamically just before the tooltip start to appear, not using the exBarTooltip )
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->ShowToolTip(spG2antt1->GetChart()->GetBarFromPoint(-1,-1),"","8","8",vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Def");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/2/2010","1/5/2010","A","A");
	var_Items->AddBar(h,"Task","1/5/2010","1/8/2010","B","B");
	var_Items->AddBar(h,"Task","1/8/2010","1/11/2010","C","C");
	var_Items->GroupBars(h,"A",VARIANT_FALSE,h,"B",VARIANT_TRUE,long(39),vtMissing);
	var_Items->GroupBars(h,"B",VARIANT_FALSE,h,"C",VARIANT_TRUE,long(39),vtMissing);
spG2antt1->EndUpdate();

1243. How can I set the column's width to my desired width
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutColumnAutoResize(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"A")))->PutWidth(128);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"B")))->PutWidth(128);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);

1242. Is it possible to prevent intersection of three bars or more
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Def");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/2/2010","1/5/2010","A","A");
	var_Items->AddBar(h,"Task","1/5/2010","1/8/2010","B","B");
	var_Items->AddBar(h,"Task","1/8/2010","1/11/2010","C","C");
	var_Items->GroupBars(h,"A",VARIANT_FALSE,h,"B",VARIANT_TRUE,long(39),vtMissing);
	var_Items->GroupBars(h,"B",VARIANT_FALSE,h,"C",VARIANT_TRUE,long(39),vtMissing);
spG2antt1->EndUpdate();

1241. Is it possible to prevent intersection of two bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Def");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/2/2010","1/5/2010","A","A");
	var_Items->AddBar(h,"Task","1/5/2010","1/8/2010","B","B");
	var_Items->GroupBars(h,"A",VARIANT_FALSE,h,"B",VARIANT_TRUE,long(39),vtMissing);
spG2antt1->EndUpdate();

1240. Is it possible to specify the cell's value but still want to display some formatted text instead the value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->GetColumns()->Add(L"Value");
spG2antt1->GetColumns()->Add(L"FormatCell");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem(long(1));
	var_Items->PutCellValue(h,long(1),long(12));
	var_Items->PutFormatCell(h,long(1),L"currency(value)");
	h = var_Items->AddItem("1/1/2001");
	var_Items->PutCellValue(h,long(1),"1/1/2001");
	var_Items->PutCellValueFormat(h,long(1),EXG2ANTTLib::exHTML);
	var_Items->PutFormatCell(h,long(1),L"longdate(value) replace '2001' with '<b>2001</b>'");
spG2antt1->EndUpdate();

1239. How can I simulate displaying groups
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutHasLines(EXG2ANTTLib::exNoLine);
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Name");
	var_Columns->Add(L"A");
	var_Columns->Add(L"B");
	var_Columns->Add(L"C");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Group 1");
	var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerBoth);
	var_Items->PutItemHeight(h,24);
	var_Items->PutSortableItem(h,VARIANT_FALSE);
	long h1 = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutCellValue(h1,long(1),long(1));
	var_Items->PutCellValue(h1,long(2),long(2));
	var_Items->PutCellValue(h1,long(3),long(3));
	h1 = var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutCellValue(h1,long(1),long(4));
	var_Items->PutCellValue(h1,long(2),long(5));
	var_Items->PutCellValue(h1,long(3),long(6));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("Group 2");
	var_Items->PutCellHAlignment(h,long(0),EXG2ANTTLib::CenterAlignment);
	var_Items->PutItemDivider(h,0);
	var_Items->PutItemDividerLineAlignment(h,EXG2ANTTLib::DividerBoth);
	var_Items->PutItemHeight(h,24);
	var_Items->PutSortableItem(h,VARIANT_FALSE);
	h1 = var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutCellValue(h1,long(1),long(1));
	var_Items->PutCellValue(h1,long(2),long(2));
	var_Items->PutCellValue(h1,long(3),long(3));
	h1 = var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutCellValue(h1,long(1),long(4));
	var_Items->PutCellValue(h1,long(2),long(5));
	var_Items->PutCellValue(h1,long(3),long(6));
	var_Items->PutExpandItem(h,VARIANT_TRUE);

1238. Is it possible to specify the cell's value but still want to display some formatted text instead the value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Name");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->PutFormatCell(h,long(1),L"'<none>'");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 1"),long(1),long(10));
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 2"),long(1),long(15));
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 3"),long(1),long(25));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1237. I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Name");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Values")));
		var_Column->PutSortType(EXG2ANTTLib::SortNumeric);
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(64);
		var_Column->PutFormatColumn(L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)");
		var_Column->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->PutFormatCell(h,long(1),L" ");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 1"),long(1),long(10));
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 2"),long(1),long(15));
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Child 3"),long(1),long(25));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1236. I have a right-aligned column with check-boxes with no text, but it is not perfectly aligned. Is there something I can do
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutTreeColumnIndex(-1);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Default-Right")));
		var_Column->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column->PutAlignment(EXG2ANTTLib::RightAlignment);
		var_Column->PutHeaderAlignment(EXG2ANTTLib::RightAlignment);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Custom-Right")));
		var_Column1->PutDef(EXG2ANTTLib::exCellHasCheckBox,VARIANT_TRUE);
		var_Column1->PutDef(EXG2ANTTLib::exCellDrawPartsOrder,"icon,icons,picture,caption,check");
		var_Column1->PutHeaderAlignment(EXG2ANTTLib::RightAlignment);
		var_Column1->PutAlignment(EXG2ANTTLib::RightAlignment);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(vtMissing);
	var_Items->AddItem(vtMissing);
	var_Items->AddItem(vtMissing);
spG2antt1->EndUpdate();

1235. How can I specify that once I move or resize a bar other should be automatically moved/resized
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->GetColumns()->Add(L"Tasks");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Item 1");
	var_Items->PutCellValue(h1,long(1),"9/21/2006");
	var_Items->PutCellValue(h1,long(2),"9/24/2006");
	var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),"",vtMissing);
	long h2 = var_Items->AddItem("Item 2");
	var_Items->PutCellValue(h2,long(1),"9/21/2006");
	var_Items->PutCellValue(h2,long(2),"9/24/2006");
	var_Items->AddBar(h2,"Task",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),"",vtMissing);
	var_Items->GroupBars(h1,"",VARIANT_TRUE,h2,"",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1234. How can I specify that once I move a bar other should be automatically moved
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->GetColumns()->Add(L"Tasks");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Item 1");
	var_Items->PutCellValue(h1,long(1),"9/21/2006");
	var_Items->PutCellValue(h1,long(2),"9/24/2006");
	var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),"",vtMissing);
	long h2 = var_Items->AddItem("Item 2");
	var_Items->PutCellValue(h2,long(1),"9/21/2006");
	var_Items->PutCellValue(h2,long(2),"9/24/2006");
	var_Items->AddBar(h2,"Task",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),"",vtMissing);
	var_Items->GroupBars(h1,"",VARIANT_TRUE,h2,"",VARIANT_TRUE,long(3),vtMissing);
spG2antt1->EndUpdate();

1233. Is it possible to include the bar's caption in overlaying
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsIncludeCaption);
		var_Bar->PutOverlaidGroup(L"Milestone");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1","task");
	var_Items->PutItemBar(h,"A1",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->AddBar(h,"Milestone","1/3/2001","1/3/2001","M","milestone");
	var_Items->PutItemBar(h,"M",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/8/2001","1/12/2001","A1","task");
	var_Items->PutItemBar(h,"A1",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->AddBar(h,"Milestone","1/8/2001","1/8/2001","M","milestone");
	var_Items->PutItemBar(h,"M",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1232. Sometimes, the milestone bars are not overlaying the task bars. What I am doing wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange | EXG2ANTTLib::exOverlaidBarsIncludeCaption);
		var_Bar->PutOverlaidGroup(L"Milestone");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Milestone","1/3/2001","1/3/2001","M",vtMissing);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A1",vtMissing);
	var_Items->AddBar(h,"Milestone","1/8/2001","1/8/2001","M",vtMissing);
spG2antt1->EndUpdate();

1231. Is it possible to add milestone bars in the same overlaid group as task is
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exHLines);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
		var_Bar->PutOverlaidGroup(L"Milestone");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h,"Milestone","1/3/2001","1/3/2001","M",vtMissing);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/7/2001","1/10/2001","A1",vtMissing);
	var_Items->AddBar(h,"Milestone","1/8/2001","1/8/2001","M",vtMissing);
spG2antt1->EndUpdate();

1230. When adding a date column and setting the SortType to SortTypeEnum.SortDateTime, the column still sorts as a string. What am I doing wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Date")))->PutSortType(EXG2ANTTLib::SortDateTime);
spG2antt1->GetColumns()->Add(L"String");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("1/1/2001");
	var_Items->PutCellValue(h,long(1),var_Items->GetCellValue(h,long(0)));
	h = var_Items->AddItem("1/11/2001");
	var_Items->PutCellValue(h,long(1),var_Items->GetCellValue(h,long(0)));
	h = var_Items->AddItem("1/2/2001");
	var_Items->PutCellValue(h,long(1),var_Items->GetCellValue(h,long(0)));
spG2antt1->GetColumns()->GetItem(long(0))->PutSortOrder(EXG2ANTTLib::SortDescending);
spG2antt1->EndUpdate();

1229. Is it possible to move an item from a parent to another
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("A");
	var_Items->AddItem("B");
	var_Items->InsertItem(var_Items->AddItem("C"),"","D");
	var_Items->SetParent(var_Items->GetFindItem("D",long(0),vtMissing),var_Items->GetFindItem("A",long(0),vtMissing));
spG2antt1->EndUpdate();

1228. How can I change the identation for an item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("A");
	var_Items->AddItem("B");
	var_Items->InsertItem(var_Items->AddItem("C"),"","D");
	var_Items->SetParent(var_Items->GetFindItem("D",long(0),vtMissing),0);
spG2antt1->EndUpdate();

1227. Moving the bars fail if I am using GroupBars, exBarCanResize on 0 and exBarKeepWorkingCount on True ( bars keeps the working units and at runtime user can not resize them ). Is it possible to use the GroupBars while user should not be able to resize the bars at runtime
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->PutItemBar(h1,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->PutItemBar(h1,"",EXG2ANTTLib::exBarCanResize,long(4));
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->PutItemBar(h2,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->PutItemBar(h2,"",EXG2ANTTLib::exBarCanResize,long(4));
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,_bstr_t("exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorki") +
"ng");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(95),"2");
spG2antt1->EndUpdate();

1226. How can I collapse all items
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(0,VARIANT_FALSE);
spG2antt1->EndUpdate();

1225. How can I expand all items
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	h = var_Items->AddItem("Root 2");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(0,VARIANT_TRUE);
spG2antt1->EndUpdate();

1224. How can I specify the distance between bars to be in a specified range of working units
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,_bstr_t("exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking") +
"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(95),"0;1;5");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1223. How can I specify the distance between bars to be in a specified range
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(31),"0;1;7");
spG2antt1->EndUpdate();

1222. How can I specify the distance between bars to be no more than a specified value in working units
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,_bstr_t("exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval+exLimitIntervalTreatAsWorking") +
"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(95),"0;0;2");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1221. How can I specify the distance between bars to be no more than a specified value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitInterval");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(31),"0;0;2");
spG2antt1->EndUpdate();

1220. How can I specify the distance between bars to be no less than a specified value in working units
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,_bstr_t("exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitIntervalMin + exLimitIntervalTreatAsWo") +
"rking");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(79),"2");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1219. How can I specify the distance between bars to be no less than a specified value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"exPreserveBarLength + exIgnoreOriginalInterval + exLimitIntervalMin");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(15),"2");
spG2antt1->EndUpdate();

1218. How do I specify the distance between bars to be exactly the specified value in working units
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	var_Items->AddItem("");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,_bstr_t("exPreserveBarLength + exIgnoreOriginalInterval<br>exLimitInterval + exLimitIntervalTreatAsWorki") +
"ng");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(95),"2");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1217. How do I specify the distance between bars to be exactly the specified value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","","A");
	var_Items->AddItem("");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkEndPos,long(0));
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"exPreserveBarLength + exIgnoreOriginalInterval");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(7),"2");
spG2antt1->EndUpdate();

1216. How do I specify the day's duration to be working only
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A",vtMissing);
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1215. How do I specify the the user can't resize the bar at left side ( starting point )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","not resizable on left");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1214. How do I specify the the user can't resize the bar at left side ( starting point )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","not resizable on left");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCanResize,long(2));
spG2antt1->EndUpdate();

1213. How do I specify the the user can't resize the bar at right side ( ending point )
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","not resizable on right");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCanResize,long(1));
spG2antt1->EndUpdate();

1212. How do I specify the the user can't resize the bar at runtime
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","not resizable");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarCanResize,VARIANT_FALSE);
spG2antt1->EndUpdate();

1211. How do I specify the day's duration to be at least a specified length
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","> 2 Days");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarMinDuration,long(2));
spG2antt1->EndUpdate();

1210. How do I specify the day's duration to be maximum a specified length
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/26/2006","9/29/2006","A","< 3 Days");
	var_Items->PutItemBar(h1,"A",EXG2ANTTLib::exBarMaxDuration,long(3));
spG2antt1->EndUpdate();

1209. I am trying to construct a timeline that is not date specific. My timeline starts at T=00:00:00 and then increases by 5 seconds. Is it possible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate(long(0));
	var_Chart->PutUnitWidth(48);
	var_Chart->PutNonworkingDays(0);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%hh%>:<%nn%>:<%ss%>");
		var_Level->PutUnit(EXG2ANTTLib::exSecond);
		var_Level->PutCount(5);

1208. How can I specify the levels using the user's Regional and Language Options
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetFont()->PutName(L"Arial Unicode MS");
spG2antt1->PutHeaderHeight(36);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("5/30/2010");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutUnitWidth(36);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<b><%loc_mmmm%></b> <%yyyy%><br><%loc_sdate%><r> <%ww%> ");
		var_Level->PutToolTip(var_Level->GetLabel());
		var_Level->PutUnit(EXG2ANTTLib::exWeek);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<%loc_ddd%><br><%d%>");
		var_Level1->PutToolTip(var_Level1->GetLabel());
	var_Chart->PutToolTip(L"<%loc_ldate%>");
spG2antt1->EndUpdate();

1207. How do I arrange, format or layout the item on multiple levels or lines, as a subform
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exRowLines);
spG2antt1->PutHeaderVisible(VARIANT_FALSE);
spG2antt1->PutItemsAllowSizing(EXG2ANTTLib::exResizeItem);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutBackColor(RGB(255,255,255));
spG2antt1->PutSelBackColor(RGB(255,255,255));
spG2antt1->PutSelForeColor(0x80000012);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column->PutVisible(VARIANT_FALSE);
		var_Column->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column1->PutVisible(VARIANT_FALSE);
		var_Column1->GetEditor()->PutEditType(EXG2ANTTLib::DropDownType);
	EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column2->PutVisible(VARIANT_FALSE);
		var_Column2->GetEditor()->PutEditType(EXG2ANTTLib::DropDownType);
	EXG2ANTTLib::IColumnPtr var_Column3 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column3->PutVisible(VARIANT_FALSE);
		EXG2ANTTLib::IEditorPtr var_Editor = var_Column3->GetEditor();
			var_Editor->PutEditType(EXG2ANTTLib::CheckValueType);
			var_Editor->PutOption(EXG2ANTTLib::exCheckValue2,long(1));
	EXG2ANTTLib::IColumnPtr var_Column4 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column4->PutVisible(VARIANT_FALSE);
		var_Column4->GetEditor()->PutEditType(EXG2ANTTLib::DateType);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")))->PutVisible(VARIANT_FALSE);
	EXG2ANTTLib::IColumnPtr var_Column5 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column5->PutVisible(VARIANT_FALSE);
		var_Column5->GetEditor()->PutEditType(EXG2ANTTLib::DropDownType);
	EXG2ANTTLib::IColumnPtr var_Column6 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")));
		var_Column6->PutVisible(VARIANT_FALSE);
		var_Column6->PutDef(EXG2ANTTLib::exCellSingleLine,long(0));
		var_Editor = var_Column6->GetEditor();
			var_Editor->PutEditType(EXG2ANTTLib::MemoType);
			var_Editor->PutButtonWidth(17);
			var_Editor->PutOption(EXG2ANTTLib::exDownArrow,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exEndKey,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exHomeKey,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exLeftArrow,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exMemoAutoSize,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exMemoVScrollBar,long(-1));
			var_Editor->PutOption(EXG2ANTTLib::exPageDownKey,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exPageUpKey,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exRightArrow,long(0));
			var_Editor->PutOption(EXG2ANTTLib::exUpArrow,long(0));
		var_Column6->PutVisible(VARIANT_FALSE);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h0 = var_Items->AddItem("");
	var_Items->PutCellValue(h0,long(9),"Dismiss");
	var_Items->PutCellFormatLevel(h0,long(0),_bstr_t("12;\" \"[b=0][bg=RGB(248,248,248)]/(\" \"[b=0][bg=RGB(248,248,248)]:12,(1;\" \"[b=0]/(\" \"[b=0") +
"]:1,(25;(5;\" \"[b=0]/((\"Subject:\"[b=0]:80,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0" +
",0)]:1,(\" \"[b=0][bg=RGB(255,0,0)]:5,1[b=0]),\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0" +
",0,0)]))/1;\" \"[b=0]))/20;(\"Location:\"[b=0]:80,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RG" +
"B(0,0,0)]:1,2[b=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]),((\" \"[b=0]:10,\"L" +
"abel:\"[b=0])):50,(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,3[b=0],\" \"[b=0][bg" +
"=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]))/50;(10;\" \"[b=0]/(1;\" \"[b=0][bg=RGB(255,0,0)]/(" +
"\"Recurrence:\"[b=0]:80,\"Occurs every day effective 20/04/2007 from 01:00 to 01:01.\"[b=0])/1;\" +
"" \"[b=0][bg=RGB(255,0,0)])/10;\" \"[b=0])/23;(4[b=0]:20,\"Reminder:\"[b=0]:60,(1;\" \"[b=0][bg=" +
"RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,5[b=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB" +
"(0,0,0)]),((\" \"[b=0]:5,6[b=0])):30,((\" \"[b=0]:10,\"Show time as:\"[b=0])):90,(1;\" \"[b=0][b" +
"g=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,7[b=0],\" \"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=R" +
"GB(0,0,0)]))/(12;\" \"[b=0]/(1;\" \"[b=0][bg=RGB(0,0,0)]/(\" \"[b=0][bg=RGB(0,0,0)]:1,8[b=0],\" " +
"\"[b=0][bg=RGB(0,0,0)]:1)/1;\" \"[b=0][bg=RGB(0,0,0)]))/35;(5;\" \"[b=0]/(\" \"[b=0],\" \"[b=0]," +
"((\" \"[b=0]:40,9[b=0])))/5;\" \"[b=0])),\" \"[b=0]:1)/1;\" \"[b=0]),\" \"[b=0][bg=RGB(248,248,2" +
"48)]:12)/12;\" \"[b=0][bg=RGB(248,248,248)]");
	var_Items->PutCellHasCheckBox(h0,long(4),VARIANT_TRUE);
	var_Items->PutCellHasButton(h0,long(9),VARIANT_TRUE);
	var_Items->PutCellHAlignment(h0,long(9),EXG2ANTTLib::CenterAlignment);
	var_Items->PutCellVAlignment(h0,long(8),EXG2ANTTLib::exTop);
	var_Items->PutCellForeColor(h0,long(8),RGB(0,0,0));
	var_Items->PutCellHasButton(h0,long(6),VARIANT_TRUE);
	var_Items->PutCellValue(h0,long(6),"<img>1</img>");
	var_Items->PutCellValueFormat(h0,long(6),EXG2ANTTLib::exHTML);
	var_Items->PutCellHAlignment(h0,long(6),EXG2ANTTLib::CenterAlignment);
	var_Items->PutItemHeight(h0,296);
spG2antt1->EndUpdate();

1206. How can I arrange the columns on multiple levels
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(48);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutVisible(VARIANT_FALSE);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"FirstName")))->PutVisible(VARIANT_FALSE);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"LastName")))->PutVisible(VARIANT_FALSE);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Photo")))->PutVisible(VARIANT_FALSE);
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Address")));
		var_Column->PutVisible(VARIANT_FALSE);
		var_Column->PutDef(EXG2ANTTLib::exCellSingleLine,VARIANT_FALSE);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Personal Info")));
		var_Column1->PutFormatLevel(L"3:48,(0/1/2),4:96");
		var_Column1->PutDef(EXG2ANTTLib::exCellFormatLevel,"3:48,(0/1/2),4:96");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2010");
spG2antt1->GetChart()->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Sales Representative");
	var_Items->PutCellValue(h,long(1),"Nancy");
	var_Items->PutCellValue(h,long(2),"Davolio");
	var_Items->PutCellPicture(h,long(3),((IDispatch*)(spG2antt1->ExecuteTemplate("loadpicture(`c:\\exontrol\\images\\zipdisk.gif`)"))));
	var_Items->PutCellValue(h,long(4),"507-20th Ave. E.Apt.  2A");
	var_Items->AddBar(h,"Task","1/1/2010","1/5/2010",long(2),long(2));
	var_Items->AddBar(h,"Task","1/4/2010","1/8/2010",long(1),long(1));
spG2antt1->EndUpdate();

1205. Is it possible to display a bar only using a gradient color using the exBarColor option
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutStartColor(RGB(255,255,255));
		var_Bar->PutEndColor(var_Bar->GetStartColor());
		var_Bar->PutHeight(17);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
	long h = var_Items->AddItem("W/h Gradient");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(227));
	h = var_Items->AddItem("W/h Color");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(227));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255));
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1204. Is it possible to display a bar only using a gradient color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutStartColor(RGB(255,255,255));
		var_Bar->PutEndColor(var_Bar->GetStartColor());
		var_Bar->PutHeight(17);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
	long h = var_Items->AddItem("W/h Gradient");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(227));
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1203. Is it possible to display a bar only using a gradient color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutStartColor(RGB(255,255,255));
		var_Bar->PutEndColor(var_Bar->GetColor());
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
	long h = var_Items->AddItem("W/h Gradient");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(99));
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1202. How can I display a specified bar only with a thicker border
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
	long h = var_Items->AddItem("W/h Border");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(4099));
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1201. Is it possible to display the shadow for a specified bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
	long h = var_Items->AddItem("W/h Shadow");
	var_Items->AddBar(h,"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarPattern,long(8195));
	var_Items->AddBar(var_Items->AddItem("Original"),"Task","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1200. Is it possible to display the task bars with a gradient color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->GetBars()->Copy(L"Task",L"TaskO");
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox);
		var_Bar->PutStartColor(RGB(255,255,255));
		var_Bar->PutEndColor(var_Bar->GetColor());
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Original"),"TaskO","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"Task","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Original"),"TaskO","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1199. How can I know the type of bars I can displays using predefined patterns
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/31/2009");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		var_Bars->Add(L"Box")->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bars->Add(L"ThickBox")->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternThickBox);
		var_Bars->Add(L"DiagBox")->PutPattern(EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternNDot | EXG2ANTTLib::exPatternThickBox);
		var_Bars->Copy(L"Task",L"Shadow")->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternFrameShadow);
		var_Bars->Copy(L"Task",L"TShadow")->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternNDot | EXG2ANTTLib::exPatternThickBox | EXG2ANTTLib::exPatternFrameShadow);
		EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Add(L"HGrad1");
			var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
			var_Bar->PutStartColor(RGB(255,255,255));
			var_Bar->PutEndColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar1 = var_Bars->Add(L"HGrad2");
			var_Bar1->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternBox);
			var_Bar1->PutStartColor(RGB(255,255,255));
			var_Bar1->PutEndColor(RGB(0,0,255));
			var_Bar1->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar2 = var_Bars->Add(L"HGrad3");
			var_Bar2->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradient3Colors);
			var_Bar2->PutStartColor(RGB(255,255,255));
			var_Bar2->PutEndColor(var_Bar2->GetStartColor());
			var_Bar2->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar3 = var_Bars->Add(L"HGrad4");
			var_Bar3->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternThickBox);
			var_Bar3->PutStartColor(RGB(255,255,255));
			var_Bar3->PutEndColor(var_Bar3->GetStartColor());
			var_Bar3->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar4 = var_Bars->Add(L"HGrad5");
			var_Bar4->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternFrameShadow);
			var_Bar4->PutStartColor(RGB(0,255,0));
			var_Bar4->PutEndColor(RGB(255,0,0));
			var_Bar4->PutColor(RGB(0,0,255));
		EXG2ANTTLib::IBarPtr var_Bar5 = var_Bars->Add(L"VGrad1");
			var_Bar5->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox);
			var_Bar5->PutStartColor(RGB(255,255,255));
			var_Bar5->PutEndColor(RGB(0,0,255));
			var_Bar5->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar6 = var_Bars->Add(L"VGrad2");
			var_Bar6->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox);
			var_Bar6->PutStartColor(RGB(255,255,255));
			var_Bar6->PutEndColor(RGB(0,0,255));
			var_Bar6->PutColor(RGB(0,0,255));
			var_Bar6->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar7 = var_Bars->Add(L"VGrad3");
			var_Bar7->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternGradient3Colors);
			var_Bar7->PutStartColor(RGB(255,255,255));
			var_Bar7->PutEndColor(var_Bar7->GetStartColor());
			var_Bar7->PutColor(RGB(0,0,255));
			var_Bar7->PutHeight(14);
		EXG2ANTTLib::IBarPtr var_Bar8 = var_Bars->Add(L"VGrad4");
			var_Bar8->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternThickBox);
			var_Bar8->PutStartColor(RGB(255,255,255));
			var_Bar8->PutEndColor(var_Bar8->GetStartColor());
			var_Bar8->PutColor(RGB(0,0,255));
			var_Bar8->PutHeight(-1);
		EXG2ANTTLib::IBarPtr var_Bar9 = var_Bars->Add(L"VGrad5");
			var_Bar9->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternGradient3Colors | EXG2ANTTLib::exPatternFrameShadow);
			var_Bar9->PutStartColor(RGB(0,255,0));
			var_Bar9->PutEndColor(RGB(255,0,0));
			var_Bar9->PutColor(RGB(0,0,255));
			var_Bar9->PutHeight(14);
spG2antt1->GetColumns()->Add(L"Types");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Box"),"Box","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Box"),"ThickBox","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Box Diag"),"DiagBox","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Shadow"),"Shadow","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Thick Shadow"),"TShadow","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient"),"HGrad1","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"HGrad2","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient 3 Colors"),"HGrad3","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient 3 Colors"),"HGrad4","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Gradient Shadow"),"HGrad5","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient"),"VGrad1","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient"),"VGrad2","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Pattern Gradient 3 Colors"),"VGrad3","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Solid Gradient 3 Colors"),"VGrad4","1/4/2010","1/9/2010","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Gradient Shadow"),"VGrad5","1/4/2010","1/9/2010","",vtMissing);
spG2antt1->EndUpdate();

1198. Is it possible to display the bars with a thicker border
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"TaskB")->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternThickBox);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"TaskB","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"Task","1/2/2001","1/5/2001","",vtMissing);
spG2antt1->EndUpdate();

1197. Is it possible to display the shadow for EBN bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"EBN");
	var_Bar->PutColor(0x1000000);
	var_Bar->PutPattern(EXG2ANTTLib::exPatternFrameShadow);
spG2antt1->GetChart()->GetBars()->Copy(L"Task",L"EBN2")->PutColor(0x1000000);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"EBN2","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"EBN","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 3"),"EBN2","1/2/2001","1/5/2001","",vtMissing);
spG2antt1->EndUpdate();

1196. Can I display a shadow for my bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetChart()->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid | EXG2ANTTLib::exPatternDot | EXG2ANTTLib::exPatternFrameShadow);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/2/2001","1/5/2001","",vtMissing);
spG2antt1->EndUpdate();

1195. How can I use the Color property for gradient bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->Add(L"V");
	var_Bar->PutColor(RGB(255,0,0));
	var_Bar->PutStartColor(RGB(0,255,0));
	var_Bar->PutEndColor(var_Bar->GetStartColor());
	var_Bar->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox | EXG2ANTTLib::exPatternGradient3Colors);
	var_Bar->PutHeight(-1);
EXG2ANTTLib::IBarPtr var_Bar1 = spG2antt1->GetChart()->GetBars()->Add(L"H");
	var_Bar1->PutColor(RGB(255,0,0));
	var_Bar1->PutStartColor(RGB(0,255,0));
	var_Bar1->PutEndColor(var_Bar1->GetStartColor());
	var_Bar1->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradient3Colors);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"V","1/2/2001","1/5/2001","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"H","1/2/2001","1/5/2001","",vtMissing);
spG2antt1->EndUpdate();

1194. Is there any option to show bars with vertical gradient
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IBarPtr var_Bar = spG2antt1->GetChart()->GetBars()->GetItem("Task");
	var_Bar->PutColor(RGB(255,0,0));
	var_Bar->PutStartColor(RGB(0,255,0));
	var_Bar->PutEndColor(RGB(255,255,0));
	var_Bar->PutPattern(EXG2ANTTLib::exPatternBox | EXG2ANTTLib::exPatternGradientVBox);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task");
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","",vtMissing);

1193. How can I define a new milestone bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars();
	var_Bars->AddShapeCorner(long(12345),long(1));
	var_Bars->AddShapeCorner(long(12346),long(2));
	var_Bars->Copy(L"Milestone",L"M1")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconUp1 | EXG2ANTTLib::exShapeIconRight | EXG2ANTTLib::exShapeIconDown4));
	var_Bars->Copy(L"Milestone",L"M2")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconDown1 | EXG2ANTTLib::exShapeIconRight | EXG2ANTTLib::exShapeIconDown4));
	EXG2ANTTLib::IBarPtr var_Bar = var_Bars->Copy(L"Milestone",L"MP");
		var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconStar);
		var_Bar->PutStartColor(RGB(255,0,0));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Default"),"Milestone","1/2/2001","1/2/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Predefined"),"MP","1/3/2001","1/3/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Custom 1"),"M1","1/4/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Custom 2"),"M2","1/5/2001","1/5/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1192. How can I define my milestone bar, using my icons or pictures
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
EXG2ANTTLib::IBarsPtr var_Bars = spG2antt1->GetChart()->GetBars();
	var_Bars->AddShapeCorner(long(12345),long(1));
	var_Bars->GetItem("Milestone")->PutStartShape(EXG2ANTTLib::ShapeCornerEnum(0x3020 | EXG2ANTTLib::exShapeIconUp1 | EXG2ANTTLib::exShapeIconRight | EXG2ANTTLib::exShapeIconDown4));
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Milestone","1/2/2001","1/2/2001",vtMissing,vtMissing);

1191. Is it possible to specify manually non-working days instead using the NonworkingDays as being repetitive
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutNonworkingDays(0);
	var_Chart->AddNonworkingDate("1/10/2010");
	var_Chart->AddNonworkingDate("1/11/2010");
	var_Chart->AddNonworkingDate("1/15/2010");
	var_Chart->AddNonworkingDate("1/16/2010");
spG2antt1->EndUpdate();

1190. Is it possible to hide specific days
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->GetLevel(0)->PutDrawGridLines(VARIANT_TRUE);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutNonworkingDays(128);
	var_Chart->AddNonworkingDate("1/10/2010");
	var_Chart->AddNonworkingDate("1/11/2010");
	var_Chart->AddNonworkingDate("1/15/2010");
	var_Chart->AddNonworkingDate("1/16/2010");
spG2antt1->EndUpdate();

1189. Is it possible to show or display the marked zones ONLY in the overview part of the control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/14/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/3/2001","1/4/2001",var_Chart->GetBackColor(),";;Zone <b>1</b>");
	var_Chart->MarkTimeZone("Z2","2/6/2001","2/7/2001",var_Chart->GetBackColor(),";;Zone <b>2</b>");
	var_Chart->MarkTimeZone("Z3","1/16/2001","1/19/2001",var_Chart->GetBackColor(),";;Zone <b>3</b>");
	var_Chart->PutOverviewShowMarkTimeZones(VARIANT_TRUE);
	var_Chart->PutOverviewBackColor(RGB(220,240,240));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/5/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","2/5/2001","2/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1188. Is it possible to show or display the marked zones in the overview part of the control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/14/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/3/2001","1/4/2001",long(16777056),vtMissing);
	var_Chart->MarkTimeZone("Z2","2/6/2001","2/7/2001",long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z3","1/16/2001","1/19/2001",long(16744544),vtMissing);
	var_Chart->PutOverviewShowMarkTimeZones(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/5/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","2/5/2001","2/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1187. Is there a quick way to determine if a bar belongs to a group
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/5/2001","1/7/2001","K3",vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_TRUE,h2,"K2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h2,"K2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_TRUE,h3,"K3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"K1",VARIANT_FALSE,h3,"K3",VARIANT_FALSE,vtMissing,vtMissing);
	OutputDebugStringW( _bstr_t(var_Items->GetItemBar(h1,"K1",EXG2ANTTLib::exBarsGroup)) );

1186. I am using the ScrollRange property to limit the chart's visible area, but it does not work as expected. What could be wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,56);
	var_Chart->PutScrollRange(EXG2ANTTLib::exStartDate,"1/1/100");
	var_Chart->PutScrollRange(EXG2ANTTLib::exEndDate,"12/31/9999");
	var_Chart->PutFirstVisibleDate("4/28/2010");
spG2antt1->PutScrollPartCaption(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exLowerBackPart,_bstr_t(spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exStartDate)));
spG2antt1->PutScrollPartCaptionAlignment(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exLowerBackPart,EXG2ANTTLib::LeftAlignment);
spG2antt1->PutScrollPartCaption(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exUpperBackPart,_bstr_t(spG2antt1->GetChart()->GetScrollRange(EXG2ANTTLib::exEndDate)));
spG2antt1->PutScrollPartCaptionAlignment(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exUpperBackPart,EXG2ANTTLib::RightAlignment);
spG2antt1->EndUpdate();

1185. Are you planning to add a AddNonworkingDate / AddNonworkingDay for separate items
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutAllowChartScrollPage(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Non-Work");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("4/4/2009");
	var_Chart->PutPaneWidth(VARIANT_FALSE,52);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Default");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 1"),VARIANT_FALSE,L"shortdate(value) in (#4/5/2009#,#4/6/2009#)");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 2"),VARIANT_FALSE,L"shortdate(value) in (#4/6/2009#,#4/7/2009#)");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Test 3"),VARIANT_FALSE,L"shortdate(value) in (#4/7/2009#,#4/9/2009#)");
	var_Items->AddItem("Default");
spG2antt1->EndUpdate();

1184. How can I enlarge the EBN being applied to an object
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(32);
EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance();
	var_Appearance->Add(2,"c:\\exontrol\\images\\normal.ebn");
	var_Appearance->Add(1,"CP:2 -3 -2 3 2");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2002");
	var_Chart->PutSelBarColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2002","1/4/2002","A",vtMissing);
	var_Items->AddBar(h,"Task","1/6/2002","1/10/2002","B",vtMissing);
	var_Items->AddBar(h,"Task","1/11/2002","1/14/2002","C",vtMissing);
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
spG2antt1->EndUpdate();

1183. I am using EBN to display my bars but the bars shows in black in the overview area. Is there any option to specify a different color in the overview part of the control
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutFirstVisibleDate("1/11/2001");
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001",long(1),vtMissing);
	var_Items->PutItemBar(h,long(1),EXG2ANTTLib::exBarOverviewColor,long(8821418));
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001",long(2),vtMissing);
	var_Items->PutItemBar(h,long(2),EXG2ANTTLib::exBarOverviewColor,long(8821418));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarOverviewColor,long(8821418));
spG2antt1->EndUpdate();

1182. I haven't found options to localize (in Italian) the strings ( dates, tooltip ) that shows in the chart area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> ") +
"<%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre");
	var_Chart->PutWeekDays(L"domenica lunedì martedì mercoledì giovedì venerdì sabato");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1181. I haven't found options to localize (in Dutch) the strings ( dates, tooltip ) that shows in the chart area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> ") +
"<%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"januari februari maart april mei juni juli augusts september oktober november december");
	var_Chart->PutWeekDays(L"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1180. I haven't found options to localize (in German) the strings ( dates, tooltip ) that shows in the chart area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%>.<%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%>.<%m3%> '<%yy%><|><%dddd%> <%d%>.<%mmmm%> ") +
"<%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%>.<%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%>, <%d%>.<%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"Januar Februar März April Mai Juni Juli August September Oktober November Dezember");
	var_Chart->PutWeekDays(L"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag");
	var_Chart->PutToolTip(L"<%dddd%>,<%d%>.<%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1179. I haven't found options to localize (in French) the strings ( dates, tooltip ) that shows in the chart area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,_bstr_t("<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> ") +
"<%yyyy%><||><||>4096");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutMonthNames(L"janvier février mars avril mai juin juillet août septembre octobre novembre décembre");
	var_Chart->PutWeekDays(L"dimanche lundi mardi mercredi jeudi vendredi samedi");
	var_Chart->PutToolTip(L"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1178. How can I determine the last visible date in the chart
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"First" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetFirstVisibleDate()) );
	OutputDebugStringW( L"Last" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,1);
spG2antt1->EndUpdate();

1177. How can I filter programatically using more columns
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Car");
	var_Columns->Add(L"Equipment");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag");
	var_Items->PutCellValue(var_Items->AddItem("Toyota"),long(1),"Air Bag,Air condition");
	var_Items->PutCellValue(var_Items->AddItem("Ford"),long(1),"Air condition");
	var_Items->PutCellValue(var_Items->AddItem("Nissan"),long(1),"Air Bag,ABS,ESP");
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"Air Bag, ABS,ESP");
	var_Items->PutCellValue(var_Items->AddItem("Mazda"),long(1),"ABS,ESP");
EXG2ANTTLib::IColumnPtr var_Column = spG2antt1->GetColumns()->GetItem("Car");
	var_Column->PutFilterType(EXG2ANTTLib::exFilter);
	var_Column->PutFilter(L"Mazda");
EXG2ANTTLib::IColumnPtr var_Column1 = spG2antt1->GetColumns()->GetItem("Equipment");
	var_Column1->PutFilterType(EXG2ANTTLib::exPattern);
	var_Column1->PutFilter(L"*ABS*|*ESP*");
spG2antt1->ApplyFilter();
spG2antt1->EndUpdate();

1176. Do you have scheduling functionality in Gantt (meaning scheduling several activities (bars) depending on their start and finish dates with considering dependencies to other activities
// BarResize event - Occurs when a bar is moved or resized.
void OnBarResizeG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","",vtMissing);
	var_Items->AddLink("L2",h2,"",h3,"");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L3",h4,"",h3,"");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->SchedulePDM(var_Items->GetFirstVisibleItem(),"");
spG2antt1->EndUpdate();

1175. How can I show the ticks for a single slider field
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Slider")))->GetEditor()->PutEditType(EXG2ANTTLib::SliderType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem(long(10));
	EXG2ANTTLib::IEditorPtr var_Editor = var_Items->GetCellEditor(var_Items->AddItem(long(20)),long(0));
		var_Editor->PutEditType(EXG2ANTTLib::SliderType);
		var_Editor->PutOption(EXG2ANTTLib::exSliderTickFrequency,long(10));
	var_Items->AddItem(long(30));
spG2antt1->EndUpdate();

1174. Is it possible to show ticks for slider fields
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IEditorPtr var_Editor = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Slider")))->GetEditor();
	var_Editor->PutEditType(EXG2ANTTLib::SliderType);
	var_Editor->PutOption(EXG2ANTTLib::exSliderTickFrequency,long(10));
spG2antt1->GetItems()->AddItem(long(10));

1173. How can I group two bars so the distance between them is limited to a specified range
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/25/2006","9/28/2006",vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(31),"1;2");
	OutputDebugStringW( L"The distance between A and B is limited between 1 and 3 days" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1172. How can I group two bars so the distance between them is flexible but never less than a specified value
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/26/2006","9/29/2006",vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(39),"2");
	OutputDebugStringW( L"The distance between A and B is never less than 2 days" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1171. How can I group two bars so the distance between them is flexible
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/21/2006","9/24/2006",vtMissing,vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/26/2006","9/29/2006",vtMissing,vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->GroupBars(h1,"",VARIANT_FALSE,h2,"",VARIANT_TRUE,long(39),vtMissing);
	OutputDebugStringW( L"The distance between A and B is flexible, unlimited" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1170. How can I group two bars so the interval between them is fixed
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","9/21/2006","9/24/2006","T1","A");
	var_Items->AddBar(h,"Unknown","9/26/2006","9/29/2006","T2","B");
	var_Items->AddLink("L",h,"T1",h,"T2");
	var_Items->PutLink("L",EXG2ANTTLib::exLinkGroupBars,long(27));
	var_Items->PutLink("L",EXG2ANTTLib::exLinkShowDir,VARIANT_FALSE);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/26/2006","9/29/2006","T2","B");
	var_Items->AddLink("L2",h,"T1",h2,"T2");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkGroupBars,long(27));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkShowDir,VARIANT_FALSE);
	OutputDebugStringW( L"The distance between bars is constant" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1169. How can I group two bars when linking, so moving the first bar will makes the second to move accordingly
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","9/21/2006","9/24/2006","","A");
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Unknown","9/26/2006","9/29/2006","","B");
	var_Items->AddLink("L1",h1,"",h2,"");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkGroupBars,long(39));
	OutputDebugStringW( L"The distance between A and B is flexible, unlimited" );
	OutputDebugStringW( L"The B is always after the A" );
spG2antt1->EndUpdate();

1168. Is it possible to be notified when the user clicks an anchor element a hyperlink in the date-time zone
// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR AnchorID,LPCTSTR Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Click: " );
	OutputDebugStringW( L"AnchorID" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z","1/2/2001","1/5/2001",long(15753471),";32;Caption <a1><b>1</b></a>;1;Caption <a2><b>2</b></a>;17;Caption <a3><b>3</b></a>");
spG2antt1->EndUpdate();

1167. Is it possible to be notified when the user clicks a date-time zone
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( L"Click: " );
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z","1/2/2001","1/5/2001",long(16711680),";32;DATE-TIME<br>    ZONE");
spG2antt1->EndUpdate();

1166. Is is possible to display multiple captions in the same date-time zone
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z","1/5/2001","1/8/2001",long(12895487),";;Caption <b>1</b>;1;Caption <b>2</b>;17;Caption <b>3</b>");
spG2antt1->EndUpdate();

1165. Is is possible to align on the top the caption for the date-time zone
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z","1/5/2001","1/8/2001",long(12895487),";;UpperCenter;1");
spG2antt1->EndUpdate();

1164. Is there any option to display a picture on the date-time zone
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\card.png");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z","1/5/2001","1/8/2001",long(12895487),";;<c><img>pic1</img><br><c>picture");
spG2antt1->EndUpdate();

1163. Is there any option to display a text or a HTML caption on the date-time zone
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->MarkTimeZone("Z1","1/1/2001","1/4/2001",long(12895487),";;zone <b>1</b>");
	var_Chart->MarkTimeZone("Z2","1/5/2001","1/8/2001",long(12895487),";;zone <b>2</b>");
spG2antt1->EndUpdate();

1162. How can I display the date-time zone using a semi-transparent EBN object
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/2/2001","1/3/2001",long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2","1/7/2001","1/10/2001",long(16777216),"50;;EBN");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1161. How can I display the date-time zone using an EBN or a skin instead a solid color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/2/2001","1/3/2001",long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2","1/5/2001","1/8/2001",long(16777216),";;EBN");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1160. How can I display the date-time zone using a pattern instead a solid color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/2/2001","1/3/2001",long(16777056),";;Solid");
	var_Chart->MarkTimeZone("Z2","1/6/2001","1/7/2001",long(16777056),";12;Pattern");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1159. How can I display the date-time zone using a transparent color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/2/2001","1/3/2001",long(16777056),";;Opaque");
	var_Chart->MarkTimeZone("Z2","1/6/2001","1/7/2001",long(16777056),"50;;Semi-Transparent");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1158. The date time zone is shown behind the bars, is there any way to show it over
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
	var_Chart->GetBars()->GetItem("Task")->PutPattern(EXG2ANTTLib::exPatternSolid);
	var_Chart->MarkTimeZone("Z1","1/2/2001","1/3/2001",long(16777056),vtMissing);
	var_Chart->MarkTimeZone("Z2","1/6/2001","1/7/2001",long(16777056),"1");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/8/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
spG2antt1->EndUpdate();

1157. How can I get ifnromation about a date-time zone
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneInfo(var_Chart->GetTimeZoneFromPoint(-1,-1))) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->MarkTimeZone("Z1","1/4/2010","1/8/2010",long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2","1/12/2010","1/18/2010",long(16761952),vtMissing);

1156. How can I determine the zone from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( _bstr_t(var_Chart->GetTimeZoneFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->MarkTimeZone("Z1","1/4/2010","1/8/2010",long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2","1/12/2010","1/18/2010",long(16761952),vtMissing);

1155. How can I highlight multiple date-time zones (ranges)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->MarkTimeZone("Z1","1/4/2010","1/8/2010",long(16744544),vtMissing);
	var_Chart->MarkTimeZone("Z2","1/12/2010","1/18/2010",long(16761952),vtMissing);

1154. How can I highlight a date-time range
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,18);
	var_Chart->PutLevelCount(2);
	var_Chart->PutFirstVisibleDate("1/1/2010");
	var_Chart->MarkTimeZone("Z1","1/4/2010","1/8/2010",long(16744544),vtMissing);

1153. How do I get the list of selected date
// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Operation" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetSelectDates()) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutMarkTodayColor(var_Chart->GetBackColor());

1152. Is there any function I can use to find the bars that intersect with the current bar
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Key" );
		OutputDebugStringW( L"intesect with" );
		OutputDebugStringW( _bstr_t(var_Items->GetItemBar(Item,Key,EXG2ANTTLib::exBarIntersectWithAsString)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exCreateBarAuto);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A1","A1");
	var_Items->AddBar(h1,"Task","1/3/2001","1/5/2001","A2","A2");
	var_Items->AddBar(h1,"Task","1/4/2001","1/7/2001","A3","A3");
spG2antt1->EndUpdate();

1151. Is it possible to order the bars on top of other bars
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h1,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h1,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h2,"NTask","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h2,"NTask","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1150. Is it possible to order the bars on top of other bars (have different colurs so that they can be seen)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->PutScrollBySingleLine(VARIANT_TRUE);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsIntersect | EXG2ANTTLib::exOverlaidBarsStackAutoArrange);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h1,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h1,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h2,"NTask","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h2,"NTask","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1149. Is it possible to layer bars on top of other bars (have different colurs so that they can be seen)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDefaultItemHeight(22);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->GetBars()->Copy(L"Task",L"NTask")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Default");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h1,"Task","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h1,"Task","1/4/2001","1/7/2001","A3",vtMissing);
	long h2 = var_Items->AddItem("Overlaid");
	var_Items->AddBar(h2,"NTask","1/2/2001","1/4/2001","A1",vtMissing);
	var_Items->AddBar(h2,"NTask","1/3/2001","1/5/2001","A2",vtMissing);
	var_Items->AddBar(h2,"NTask","1/4/2001","1/7/2001","A3",vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_TRUE,h2,"A1",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A1",VARIANT_FALSE,h2,"A1",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_TRUE,h2,"A2",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A2",VARIANT_FALSE,h2,"A2",VARIANT_FALSE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_TRUE,h2,"A3",VARIANT_TRUE,vtMissing,vtMissing);
	var_Items->GroupBars(h1,"A3",VARIANT_FALSE,h2,"A3",VARIANT_FALSE,vtMissing,vtMissing);
spG2antt1->EndUpdate();

1148. My skin(EBN) bars are not shown a different color in the overview. What can I do
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->GetItem("Task")->PutColor(0x1000000);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutFirstVisibleDate("1/11/2001");
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001",long(1),vtMissing);
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001",long(2),vtMissing);
	var_Items->PutItemBar(h,long(2),EXG2ANTTLib::exBarColor,long(16776960));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255));
spG2antt1->EndUpdate();

1147. How do I colour the lines in the overview section to match the bars they represent on the main chart
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001",long(1),vtMissing);
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001",long(2),vtMissing);
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","2/2/2001","2/4/2001","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarColor,long(255));
spG2antt1->EndUpdate();

1146. How do I catch the delete key (down) on a bar
// KeyDown event - Occurs when the user presses a key while an object has the focus.
void OnKeyDownG2antt1(short FAR* KeyCode,short Shift)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"KeyCode" );
	OutputDebugStringW( L"Shift" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bar->PutHeight(13);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1","This is a bit of text that is not clipped");
	h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1","This is a bit of text that get's clipped");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(3));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,var_Items->GetItemBar(h,"K1",EXG2ANTTLib::exBarCaption));
spG2antt1->EndUpdate();

1145. Is it possible to colour a particular column, I mean the cell's foreground color
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"1",vtMissing);
	var_ConditionalFormat->PutForeColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1144. Is it possible to colour a particular column for specified values
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IConditionalFormatPtr var_ConditionalFormat = spG2antt1->GetConditionalFormats()->Add(L"int(%1) in (3,4,5)",vtMissing);
	var_ConditionalFormat->PutBackColor(RGB(255,0,0));
	var_ConditionalFormat->PutApplyTo(EXG2ANTTLib::FormatApplyToEnum(0x1));
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	var_Columns->Add(L"Column 2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1143. Is it possible to colour a particular column
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"Column 1");
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Column 2")))->PutDef(EXG2ANTTLib::exCellBackColor,long(255));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(0)),long(1),long(1));
	var_Items->PutCellValue(var_Items->AddItem(long(2)),long(1),long(3));
	var_Items->PutCellValue(var_Items->AddItem(long(4)),long(1),long(5));
spG2antt1->EndUpdate();

1142. How do i get all the children items that are under a certain parent Item handle
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"P");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->InsertItem(h,long(0),"Child 2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	long hChild = var_Items1->GetItemChild(var_Items1->GetFirstVisibleItem());
	OutputDebugStringW( _bstr_t(var_Items1->GetCellValue(hChild,long(0))) );
	OutputDebugStringW( _bstr_t(var_Items1->GetCellValue(var_Items1->GetNextSiblingItem(hChild),long(0))) );
spG2antt1->EndUpdate();

1141. How can I access the control's scroll bar so I can change its appearance
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,0);
spG2antt1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spG2antt1->PutBackground(EXG2ANTTLib::exHSThumb,0x1000000);
spG2antt1->EndUpdate();

1140. How can I show my bars using the parts of the current theme
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IAppearancePtr var_Appearance = spG2antt1->GetVisualAppearance();
	var_Appearance->Add(1,"XP:Button 1 1");
	var_Appearance->Add(2,"XP:Button 1 2");
	var_Appearance->Add(3,"XP:ScrollBar 3 1");
	var_Appearance->Add(4,"XP:ScrollBar 3 2");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	EXG2ANTTLib::IBarsPtr var_Bars = var_Chart->GetBars();
		var_Bars->Add(L"B1")->PutColor(0x1000000);
		var_Bars->Add(L"B2")->PutColor(0x2000000);
		var_Bars->Add(L"S1")->PutColor(0x3000000);
		var_Bars->Add(L"S2")->PutColor(0x4000000);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Button1"),"B1","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Button 2"),"B2","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Scrollbar 1"),"S1","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Scrollbar 2"),"S2","1/2/2001","1/4/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1139. How do I hide the text on a bar if the text is to big for the bar length
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBox);
		var_Bar->PutHeight(13);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1","This is a bit of text that is not clipped");
	h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K1","This is a bit of text that get's clipped");
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarHAlignCaption,long(3));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,var_Items->GetItemBar(h,"K1",EXG2ANTTLib::exBarCaption));

1138. Is it possible to change the color for non-working parts of the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutNonworkingDaysColor(RGB(240,250,240));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001","1/16/2001",vtMissing,vtMissing);
	long h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/16/2001","",vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarNonWorkingColor,long(65280));
spG2antt1->EndUpdate();

1137. Is it possible to change the color for the percent bar being displayed inside a specified bar only
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Task");
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->GetBars()->Add(L"Task%Progress");
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task%Progress","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.4));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task%Progress","1/2/2001","1/6/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercent,double(0.5));
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarPercentColor,long(255));

1136. How do I get a handle on the item before adding the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutOnResizeControl(EXG2ANTTLib::exResizeChart);
spG2antt1->GetColumns()->Add(L"Tasks");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Start")))->PutVisible(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"End")))->PutVisible(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("9/20/2006");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 0");
	var_Items->PutCellValue(h1,long(1),"9/21/2006");
	var_Items->PutCellValue(h1,long(2),"9/24/2006");
	var_Items->AddBar(h1,"Task",var_Items->GetCellValue(h1,long(1)),var_Items->GetCellValue(h1,long(2)),vtMissing,vtMissing);
	long h2 = var_Items->InsertItem(h,long(0),"Task 1");
	var_Items->PutCellValue(h2,long(1),"9/25/2006");
	var_Items->PutCellValue(h2,long(2),"9/28/2006");
	var_Items->AddBar(h2,"Task",var_Items->GetCellValue(h2,long(1)),var_Items->GetCellValue(h2,long(2)),vtMissing,vtMissing);
	long h3 = var_Items->InsertItem(h,long(0),"Task 2");
	var_Items->PutCellValue(h3,long(1),"9/29/2006");
	var_Items->PutCellValue(h3,long(2),"10/2/2006");
	var_Items->AddBar(h3,"Task",var_Items->GetCellValue(h3,long(1)),var_Items->GetCellValue(h3,long(2)),vtMissing,vtMissing);
	var_Items->AddItem(var_Items->GetItemCount());
spG2antt1->EndUpdate();

1135. Is there an Items method that I can use to loop around to compare the item's user data against
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->GetColumns()->Add(L"Default");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Root 1");
	var_Items->InsertItem(h,long(0),"Child 1");
	var_Items->PutItemData(var_Items->InsertItem(h,long(0),"Child 2"),long(1234));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutItemBold(var_Items->GetFindItemData(long(1234),vtMissing),VARIANT_TRUE);

1134. How do I make the tooltip box wider to allow for longer text
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutToolTipWidth(328);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	var_Items->PutItemBar(h,"K1",EXG2ANTTLib::exBarToolTip,"This is a bit of text that's displayed when the cursor hovers the bar");

1133. How do i set the default timeslots to say hours or minutes
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
	var_Chart->PutUnitScale(EXG2ANTTLib::exMinute);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task","1/16/2001","1/25/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task","2/16/2001","2/25/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1132. Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewHeight(58);
	var_Chart->PutOverviewZoomCaption(_bstr_t("Y<br>e<br>a<br>r|½Y|¼Y|M<br>o<br>n<br>t<br>h|T|W<br>e<br>e<br>w|<img>pic1:28<img>|H<br>o<br>u<b") +
"r>r|M<br>i<br>n|S<br>e<br>c");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task","1/16/2001","1/25/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task","2/16/2001","2/25/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1131. Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0") +
"/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1" +
"/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qO" +
"x3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|<img>2<img>|T|W|<img>1<img>|H|M|S");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task","1/16/2001","1/25/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task","2/16/2001","2/25/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1130. How do I change (for localisation) the text in the buttons like (Sec., Min., Hour, Month...)
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewZoomUnit(24);
	var_Chart->PutOverviewZoomCaption(L"Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 2"),"Task","1/16/2001","1/25/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 3"),"Task","1/2/2001","1/4/2001",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Item 4"),"Task","2/16/2001","2/25/2001",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1129. How I can change the Months and Weekdays
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("2/1/2010");
	var_Chart->PutLevelCount(2);
	var_Chart->PutUnitWidth(10);
	var_Chart->PutMonthNames(L"1 2 3 4 5 6 7 8 9 10 11 12");
	var_Chart->PutWeekDays(L"A B C D E F G");
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%mmmm%>");
		var_Level->PutUnit(EXG2ANTTLib::exMonth);
	EXG2ANTTLib::ILevelPtr var_Level1 = var_Chart->GetLevel(1);
		var_Level1->PutLabel("<font ;6><%ddd%>");
		var_Level1->PutUnit(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1128. How do i get the current window time frame (the start and end) of the gantt chart
// DateChange event - Occurs when the first visible date is changed.
void OnDateChangeG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
		OutputDebugStringW( L"Start" );
		OutputDebugStringW( _bstr_t(var_Chart->GetFirstVisibleDate()) );
		OutputDebugStringW( L"" );
		OutputDebugStringW( L"End" );
		OutputDebugStringW( _bstr_t(var_Chart->GetDateFromPoint(var_Chart->GetPaneWidth(VARIANT_TRUE),0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,1);
	var_Chart->PutLevelCount(2);
	var_Chart->ScrollTo("1/1/2010",long(0));
spG2antt1->EndUpdate();

1127. When I use this Chart.get_DateFromPoint(exg2antt1.Width, 0) I get date as 0, 30/12/1899, or 12:00:00 AM. What that means
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutLevelCount(2);

1126. How do I enable grabing bars to other items/rows (and only enable them to be dropped on certain rows)
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void OnBarParentChangeG2antt1(long Item,VARIANT Key,long NewItem,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(NewItem,long(0)) );
	Cancel = spG2antt1->GetItems()->GetItemData(NewItem);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsTransparent);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
	h = var_Items->AddItem("Item 2");
	var_Items->PutItemData(h,long(0));
	var_Items->AddBar(h,"Task","1/5/2001","1/7/2001","B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemData(var_Items->AddItem("Item 3"),long(0));
	h = var_Items->AddItem("Item 4");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
spG2antt1->EndUpdate();

1125. How can I find out if a date time is a non-working part
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	Date d = spG2antt1->GetChart()->GetDateFromPoint(-1,-1);
	OutputDebugStringW( L"d" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetIsNonworkingDate(d,h)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"NonWorking");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstWeekDay(EXG2ANTTLib::exMonday);
	var_Chart->PutFirstVisibleDate("1/24/2008");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Default");
	h = var_Items->AddItem("January");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"month(value) = 1");
	h = var_Items->AddItem("February, Saturday, Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)");
	h = var_Items->AddItem("Sunday");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) = 0");
spG2antt1->EndUpdate();

1124. I am using the ItemBar property exBarCanMoveToAnother, How do I stop it from being dropped on certain chart rows
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void OnBarParentChangeG2antt1(long Item,VARIANT Key,long NewItem,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(NewItem,long(0)) );
	Cancel = spG2antt1->GetItems()->GetItemData(NewItem);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsTransparent);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutEnableItem(h,VARIANT_FALSE);
	var_Items->PutItemData(h,long(-1));
	h = var_Items->AddItem("Item 2");
	var_Items->PutItemData(h,long(0));
	var_Items->AddBar(h,"Task","1/5/2001","1/7/2001","B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemData(var_Items->AddItem("Item 3"),long(0));
	var_Items->PutItemData(var_Items->AddItem("Item 4"),long(0));
spG2antt1->EndUpdate();

1123. What is the event I should use to capture the click event on the task item on left hand side
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void OnClickG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(h,c) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1122. Can I add a hyperlink assigned to a bar
// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR AnchorID,LPCTSTR Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<a1><b>A 1</b></a>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<a2><b>A 2</b></a>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1121. Can I change the background color only for the text (caption) in a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"using <bgcolor=FF0000>bgcolor</bgcolor> HTML attribute ");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1120. Can I change the font to display the text (caption) in a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<font Segoe UI;8 >using font HTML attribute </fgcolor>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
spG2antt1->EndUpdate();

1119. How do i change the forecolor of text (caption) in a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"default");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 2");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"<fgcolor=FF0000>using fgcolor HTML attribute </fgcolor>");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	h = var_Items->AddItem("Task 3");
	var_Items->AddBar(h,"Task","1/2/2001","1/6/2001","K",vtMissing);
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarCaption,"using exBarForeColor");
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarHAlignCaption,long(18));
	var_Items->PutItemBar(h,"K",EXG2ANTTLib::exBarForeColor,long(65280));
spG2antt1->EndUpdate();

1118. I have noticed that when scrolling horizontally the chart a tooltip shown. is it possible to actually do the scrolling without showing the tooltip
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutToolTip(L"");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","A",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","B",vtMissing);
spG2antt1->EndUpdate();

1117. How can I add a bar to be treated as a nonworking part like a "holidays" bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"","1/2/2001","1/5/2001","A","holyday");
	var_Items->PutItemBar(h,"A",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
	var_Items->AddBar(h,"Task","1/5/2001","1/12/2001","Z",vtMissing);
	var_Items->PutItemBar(h,"Z",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
spG2antt1->EndUpdate();

1116. Is it possible to add bars that act like a non-working fixed part or the item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"","1/3/2001","1/6/2001","h","holyday");
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarSelectable,VARIANT_FALSE);
spG2antt1->EndUpdate();

1115. Is it possible to add bars that act like a non-working part or the item
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowNonworkingBars(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Task 1");
	var_Items->PutItemNonworkingUnits(h,VARIANT_FALSE,L"weekday(value) in (0,6)");
	var_Items->AddBar(h,"","1/3/2001","1/6/2001","h","holyday");
	var_Items->PutItemBar(h,"h",EXG2ANTTLib::exBarTreatAsNonworking,VARIANT_TRUE);
spG2antt1->EndUpdate();

1114. How can I change the both dates for the bar at once
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutFirstVisibleDate("6/21/2005");
	var_Chart->PutShowEmptyBars(1);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Test");
	var_Items->AddBar(h,"Task","6/22/2005","6/26/2005","",vtMissing);
	var_Items->AddBar(h,"Task","6/27/2005","6/29/2005",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1113. How can I get the selected bars in the chart
// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
void OnChartSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetSelectedObjects(EXG2ANTTLib::exSelectBarsOnly)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","A",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","B",vtMissing);
	var_Items->PutItemBar(var_Items->GetFirstVisibleItem(),var_Items->GetFirstItemBar(var_Items->GetFirstVisibleItem()),EXG2ANTTLib::exBarSelected,VARIANT_TRUE);
spG2antt1->EndUpdate();

1112. How can I list the actions that can be performed by undo operations
// ChartEndChanging event - Occurs after the chart has been changed.
void OnChartEndChangingG2antt1(long Operation)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( spG2antt1->GetChart()->GetUndoListAction(vtMissing,vtMissing) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutFirstVisibleDate("1/1/2001");
spG2antt1->GetChart()->PutAllowLinkBars(VARIANT_FALSE);
spG2antt1->GetChart()->GetBars()->GetItem("Task")->PutOverlaidType(EXG2ANTTLib::exOverlaidBarsOffset | EXG2ANTTLib::exOverlaidBarsTransparent);
spG2antt1->GetChart()->PutAllowUndoRedo(VARIANT_TRUE);
spG2antt1->GetChart()->PutPaneWidth(VARIANT_FALSE,32);
spG2antt1->GetChart()->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Item 1"),"Task","1/2/2001","1/4/2001","A",vtMissing);
	long h = var_Items->AddItem("Item 2");
	var_Items->AddBar(h,"Task","1/5/2001","1/9/2001","B",vtMissing);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarCanMoveToAnother,VARIANT_TRUE);
	var_Items->PutItemBar(h,"B",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Item 3"),VARIANT_FALSE,L"weekday(value)=0");
	var_Items->PutItemNonworkingUnits(var_Items->AddItem("Item 4"),VARIANT_FALSE,L"weekday(value) in (3,5)");
spG2antt1->EndUpdate();

1111. How can I change the predefined labels being displayed in the chart's header so it shows the data in short format with no literals
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutAllowOverviewZoom(EXG2ANTTLib::exAlwaysZoom);
	var_Chart->PutOverviewVisible(EXG2ANTTLib::exOverviewShowAll);
	var_Chart->PutLevelCount(3);
	var_Chart->PutLabel(EXG2ANTTLib::exYear,L"<%yy%><|><%yyyy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exHalfYear,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exQuarterYear,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exMonth,L"<|><%m%><|><%m%>/<%yy%><|><%m%>/<%yyyy%>");
	var_Chart->PutLabel(EXG2ANTTLib::exThirdMonth,L"");
	var_Chart->PutLabel(EXG2ANTTLib::exWeek,L"<|><%ww%><|><%m%>/<%d%>/<%yy%><r><%ww%><|><%m%>/<%d%>/<%yyyy%><r><%ww%><||><||>256");
	var_Chart->PutLabel(EXG2ANTTLib::exDay,L"<|><%d%><|><%m%>/<%d%>/<%yy%><|><%m%>/<%d%>/<%yyyy%><||><||>4096");
	var_Chart->PutLabel(EXG2ANTTLib::exHour,_bstr_t("<|><%hh%><|><%m%>/<%d%>/<%yy%> <%h%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%><||><||>65") +
"536");
	var_Chart->PutLabel(EXG2ANTTLib::exMinute,_bstr_t("<|><%nn%><|><%h%>:<%nn% <%AM/PM%>><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%m%>/<%d%>/<%") +
"yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabel(EXG2ANTTLib::exSecond,_bstr_t("<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%>:<%s") +
"s%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exYear,L"<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHalfYear,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exQuarterYear,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMonth,L"<%m%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exThirdMonth,L"");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exWeek,L"<%m%>/<%d%>/<%yyyy%> <%ww%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exDay,L"<%m%>/<%d%>/<%yyyy%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exHour,L"<%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exMinute,L"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
	var_Chart->PutLabelToolTip(EXG2ANTTLib::exSecond,L"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
	var_Chart->PutUnitScale(EXG2ANTTLib::exDay);
spG2antt1->EndUpdate();

1110. The histogram does not show (correctly) the bars, even if I changed the Bar.HistogramPattern and Bar.HistogramColor properties. What can be wrong
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(32);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutHistogramPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar->PutHistogramColor(RGB(255,0,0));
	var_Chart->PutResizeUnitScale(EXG2ANTTLib::exHour);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","1/2/2001 8:00:00 AM","1/2/2001 12:00:00 PM",vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","1/1/2001 8:00:00 AM","1/5/2001 12:00:00 PM",vtMissing,vtMissing);
spG2antt1->EndUpdate();

1109. How can I change the default key for the newly added link from "Link1" to my identifier
// AddLink event - Occurs when the user links two bars using the mouse.
void OnAddLinkG2antt1(LPCTSTR LinkKey)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->AddLink("newIDlink",var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkStartItem),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkStartBar),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkEndItem),var_Items->GetLink(LinkKey,EXG2ANTTLib::exLinkEndBar));
		var_Items->RemoveLink(LinkKey);
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
spG2antt1->EndUpdate();

1108. How can I change the default key for the newly added link from "Link1" to my identifier
// AllowLink event - Notifies at runtime when a link between two bars is possible.
void OnAllowLinkG2antt1(long StartItem,VARIANT StartBarKey,long EndItem,VARIANT EndBarKey,VARIANT FAR* LinkKey,BOOL FAR* Cancel)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	LinkKey = "newIDlink";
}

// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutAllowLinkBars(VARIANT_TRUE);
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task","6/21/2005","6/25/2005","",vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task","6/28/2005","7/2/2005","",vtMissing);
spG2antt1->EndUpdate();

1107. We want to have a Task ID column as the first column that shows the row number. How can we do that
// FormatColumn event - Fired when a cell requires to format its caption.
void OnFormatColumnG2antt1(long Item,long ColIndex,VARIANT FAR* Value)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	Value = spG2antt1->GetItems()->GetItemPosition(Item);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Pos")));
	var_Column->PutWidth(24);
	var_Column->PutAllowSizing(VARIANT_FALSE);
	var_Column->PutPosition(0);
	var_Column->PutFireFormatColumn(VARIANT_TRUE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("Task A");
	var_Items->AddItem("Task B");
	var_Items->AddItem("Task C");
	var_Items->AddItem("Task D");
spG2antt1->EndUpdate();

1106. How can I get the caption of focused item
// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Handle" );
		OutputDebugStringW( _bstr_t(var_Items->GetFocusItem()) );
		OutputDebugStringW( L"Caption" );
		OutputDebugStringW( var_Items->GetCellCaption(var_Items->GetFocusItem(),long(0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1105. How can I get the caption of selected item
// SelectionChanged event - Fired after a new item has been selected.
void OnSelectionChangedG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		OutputDebugStringW( L"Handle" );
		OutputDebugStringW( _bstr_t(var_Items->GetSelectedItem(0)) );
		OutputDebugStringW( L"Caption" );
		OutputDebugStringW( var_Items->GetCellCaption(var_Items->GetSelectedItem(0),long(0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1104. How can I get the link from the point
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLinkFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/5/2001","1/7/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	var_Items->PutLink("L1",EXG2ANTTLib::exLinkText,"L1");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"L2");
spG2antt1->EndUpdate();

1103. How can I get the bar from the point
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetBarFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/29/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/4/2001","1/6/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
spG2antt1->EndUpdate();

1102. How can I get the level from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetLevelFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("6/25/2010");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(4);

1101. How can I get the date from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetChart()->GetDateFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);

1100. Is it is possible to exclude the non-working days when displaying the histogram using the exBarEffort for exHistOverAllocation type
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutLevelCount(2);
	var_Chart->PutPaneWidth(VARIANT_FALSE,40);
	var_Chart->PutFirstVisibleDate("6/20/2005");
	var_Chart->PutHistogramVisible(VARIANT_TRUE);
	var_Chart->PutHistogramHeight(64);
	var_Chart->PutHistogramView(EXG2ANTTLib::exHistogramAllItems);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Split");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar->PutShape(EXG2ANTTLib::exShapeThinUp);
		var_Bar->PutColor(RGB(0,0,128));
	EXG2ANTTLib::IBarPtr var_Bar1 = var_Chart->GetBars()->Add(L"Task:Split");
		var_Bar1->PutColor(RGB(0,0,128));
		var_Bar1->PutShortcut(L"WorkingTask");
		var_Bar1->PutPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar1->PutHistogramPattern(EXG2ANTTLib::exPatternBDiagonal);
		var_Bar1->PutHistogramType(EXG2ANTTLib::exHistOverAllocation);
	EXG2ANTTLib::IBarPtr var_Bar2 = var_Chart->GetBars()->GetItem("Task");
		var_Bar2->PutColor(RGB(0,0,255));
		var_Bar2->PutPattern(EXG2ANTTLib::exPatternFDiagonal);
		var_Bar2->PutHistogramType(EXG2ANTTLib::exHistOverAllocation);
		var_Bar2->PutHistogramPattern(EXG2ANTTLib::exPatternFDiagonal);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("True");
	var_Items->AddBar(h,"WorkingTask","6/23/2005","6/29/2005",vtMissing,vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(4));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	h = var_Items->AddItem("False");
	var_Items->AddBar(h,"Task","6/23/2005","6/29/2005",vtMissing,vtMissing);
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarEffort,long(4));
	var_Items->PutItemBar(h,"",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_FALSE);
spG2antt1->EndUpdate();

1099. I display numbers in my chart, but the AddBar requires a date how can I add a bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Tasks");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutFirstVisibleDate(long(0));
	var_Chart->PutToolTip(L"");
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%i%>");
		var_Level->PutToolTip("");
	var_Chart->PutUnitWidth(24);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem("Task 1"),"Task",long(2),long(4),vtMissing,vtMissing);
	var_Items->AddBar(var_Items->AddItem("Task 2"),"Task",long(6),long(10),vtMissing,vtMissing);
spG2antt1->EndUpdate();

1098. I display numbers in the chart's header but do not want to get displayed negative numbers. How can i do that
// DateChange event - Occurs when the first visible date is changed.
void OnDateChangeG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetChart()->PutFirstVisibleDate(long(0));
	spG2antt1->PutScrollPartEnable(EXG2ANTTLib::exHChartScroll,EXG2ANTTLib::exLeftBPart,VARIANT_FALSE);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutFirstVisibleDate(long(0));
	var_Chart->PutToolTip(L"");
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%i%>");
		var_Level->PutToolTip("<%i%>");
	var_Chart->PutUnitWidth(24);
spG2antt1->EndUpdate();

1097. How can I display numbers in the chart's header instead dates
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutNonworkingDays(0);
	var_Chart->PutFirstVisibleDate(long(0));
	var_Chart->PutToolTip(L"");
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(0);
		var_Level->PutLabel("<%i%>");
		var_Level->PutToolTip("");
	var_Chart->PutUnitWidth(24);
spG2antt1->EndUpdate();

1096. How can I create a bar that's not sizable, or can not be resized by default similar with milestone
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutFirstVisibleDate("12/24/2000");
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->Add(L"Custom");
		var_Bar->PutShape(EXG2ANTTLib::exShapeEmpty);
		var_Bar->PutStartShape(EXG2ANTTLib::exShapeIconUp1);
		var_Bar->PutEndShape(EXG2ANTTLib::exShapeIconEmpty);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddBar(var_Items->AddItem(""),"Custom","1/2/2001","1/2/2001","K1","This TYPE of bar can not be resized.");
spG2antt1->EndUpdate();

1095. Is it possible to hide the non-working parts for items using the ItemNonworkingUnits, even if set the ShowNonworkingUnits, ShowNonworkingDates on False
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
	var_Chart->PutNonworkingDaysPattern(EXG2ANTTLib::exPatternEmpty);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->PutItemNonworkingUnits(h2,VARIANT_FALSE,L"weekday(value) = 1");
	var_Items->AddBar(h2,"Task","1/4/2001","1/6/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
spG2antt1->EndUpdate();

1094. Is it possible to show the non-working parts for certain items, even if I hide the default non-working part
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/27/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,64);
	var_Chart->PutLevelCount(2);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->PutItemNonworkingUnits(h2,VARIANT_FALSE,L"weekday(value) = 1");
	var_Items->AddBar(h2,"Task","1/4/2001","1/6/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/8/2001","1/10/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
spG2antt1->EndUpdate();

1093. How can I hide the non-working part of the chart
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutShowNonworkingUnits(VARIANT_FALSE);
	var_Chart->PutShowNonworkingDates(VARIANT_FALSE);
spG2antt1->EndUpdate();

1092. Is it possible to let users selects cells as in Excel
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutFullRowSelect(EXG2ANTTLib::exRectSel);
spG2antt1->PutSingleSel(VARIANT_FALSE);
spG2antt1->PutReadOnly(EXG2ANTTLib::exReadOnly);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutSelForeColor(RGB(0,0,0));
spG2antt1->PutSelBackColor(RGB(200,225,242));
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	var_Columns->Add(L"A");
	EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"B")));
		var_Column->PutAllowSizing(VARIANT_FALSE);
		var_Column->PutWidth(24);
	EXG2ANTTLib::IColumnPtr var_Column1 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"C")));
		var_Column1->PutAllowSizing(VARIANT_FALSE);
		var_Column1->PutWidth(24);
		var_Column1->PutDef(EXG2ANTTLib::exCellHasCheckBox,long(1));
		var_Column1->PutPartialCheck(VARIANT_TRUE);
	EXG2ANTTLib::IColumnPtr var_Column2 = ((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"D")));
		var_Column2->PutAllowSizing(VARIANT_FALSE);
		var_Column2->PutWidth(24);
		var_Column2->PutDef(EXG2ANTTLib::exCellHasRadioButton,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->InsertItem(0,long(0),"Group 1");
	long h1 = var_Items->InsertItem(h,long(0),long(16));
	var_Items->PutCellValue(h1,long(1),long(17));
	h1 = var_Items->InsertItem(h,long(0),long(2));
	var_Items->PutCellValue(h1,long(1),long(11));
	h1 = var_Items->InsertItem(h,long(0),long(2));
	var_Items->PutItemBackColor(h1,RGB(240,240,240));
	var_Items->PutCellValue(h1,long(1),long(9));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->InsertItem(0,long(0),"Group 2");
	var_Items->PutCellValueFormat(h,long(2),EXG2ANTTLib::exHTML);
	h1 = var_Items->InsertItem(h,long(0),long(16));
	var_Items->PutCellValue(h1,long(1),long(9));
	h1 = var_Items->InsertItem(h,long(0),long(12));
	var_Items->PutCellValue(h1,long(1),long(11));
	h1 = var_Items->InsertItem(h,long(0),long(2));
	var_Items->PutCellValue(h1,long(1),long(2));
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	var_Items->PutSelectItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1091. How can I hide a date from the chart view
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2008");
	var_Chart->PutPaneWidth(VARIANT_FALSE,0);
	var_Chart->PutLevelCount(2);
	var_Chart->PutAllowInsideZoom(VARIANT_TRUE);
	var_Chart->PutAllowResizeInsideZoom(VARIANT_FALSE);
	var_Chart->PutInsideZoomOnDblClick(VARIANT_FALSE);
	EXG2ANTTLib::IInsideZoomsPtr var_InsideZooms = var_Chart->GetInsideZooms();
		var_InsideZooms->PutSplitBaseLevel(VARIANT_FALSE);
		var_InsideZooms->PutDefaultWidth(0);
		var_InsideZooms->Add("1/4/2008");
		var_InsideZooms->Add("1/5/2008");
		var_InsideZooms->Add("1/6/2008");
	var_Chart->PutSelectLevel(1);
	var_Chart->PutSelectDate("1/5/2008",VARIANT_TRUE);
spG2antt1->EndUpdate();

1090. Can the SchedulePDM displays and edit the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IColumnPtr var_Column = ((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working")));
	var_Column->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258));
	var_Column->GetEditor()->PutEditType(EXG2ANTTLib::SpinType);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","",vtMissing);
	var_Items->AddLink("L2",h2,"",h3,"");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L3",h4,"",h3,"");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->SchedulePDM(var_Items->GetFirstVisibleItem(),"");
spG2antt1->EndUpdate();

1089. Can the SchedulePDM displays the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetItems()->PutAllowCellValueToItemBar(VARIANT_TRUE);
spG2antt1->GetColumns()->Add(L"Task");
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Working")))->PutDef(EXG2ANTTLib::exCellValueToItemBarProperty,long(258));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,96);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L1",h1,"",h2,"");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","",vtMissing);
	var_Items->AddLink("L2",h2,"",h3,"");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/2/2001","1/4/2001","",vtMissing);
	var_Items->AddLink("L3",h4,"",h3,"");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->SchedulePDM(var_Items->GetFirstVisibleItem(),"");
spG2antt1->EndUpdate();

1088. Can the SchedulePDM keeps the working units for my bars
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->GetBars()->Add(L"Task:Split")->PutShortcut(L"Task");
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/2/2001","1/4/2001","K4",vtMissing);
	var_Items->AddLink("L3",h4,"K4",h3,"K3");
	var_Items->PutItemBar(0,"<*>",EXG2ANTTLib::exBarKeepWorkingCount,VARIANT_TRUE);
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1087. How can I arrange automatically the bars based on their links as soon as user moves the bars
// BarResizing event - Occurs when a bar is moving or resizing.
void OnBarResizingG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("12/28/2000");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/6/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkText,"FF");
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkStartPos,long(2));
	var_Items->PutLink("L2",EXG2ANTTLib::exLinkEndPos,long(2));
	long h4 = var_Items->AddItem("Task 4");
	var_Items->AddBar(h4,"Task","1/2/2001","1/4/2001","K4",vtMissing);
	var_Items->AddLink("L3",h4,"K4",h3,"K3");
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1086. How can I arrange automatically the bars based on their links as soon as user moves the bars
// BarResize event - Occurs when a bar is moved or resized.
void OnBarResizeG2antt1(long Item,VARIANT Key)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->GetItems()->SchedulePDM(Item,Key);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetColumns()->Add(L"Task");
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutAllowLinkBars(VARIANT_FALSE);
	var_Chart->PutAllowCreateBar(EXG2ANTTLib::exNoCreateBar);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h1 = var_Items->AddItem("Task 1");
	var_Items->AddBar(h1,"Task","1/2/2001","1/4/2001","K1",vtMissing);
	long h2 = var_Items->AddItem("Task 2");
	var_Items->AddBar(h2,"Task","1/2/2001","1/4/2001","K2",vtMissing);
	var_Items->AddLink("L1",h1,"K1",h2,"K2");
	long h3 = var_Items->AddItem("Task 3");
	var_Items->AddBar(h3,"Task","1/2/2001","1/4/2001","K3",vtMissing);
	var_Items->AddLink("L2",h2,"K2",h3,"K3");
	var_Items->SchedulePDM(0,"K1");
spG2antt1->EndUpdate();

1085. I have some buttons added on the control's scroll bar, how can I can know when the button is being clicked
// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
void OnScrollButtonClickG2antt1(long ScrollBar,long ScrollPart)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"ScrollBar" );
	OutputDebugStringW( L"ScrollPart" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHScroll,EXG2ANTTLib::exLeftB1Part,VARIANT_TRUE);
spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHScroll,EXG2ANTTLib::exLeftB2Part,VARIANT_TRUE);
spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHScroll,EXG2ANTTLib::exRightB6Part,VARIANT_TRUE);
spG2antt1->PutScrollPartVisible(EXG2ANTTLib::exHScroll,EXG2ANTTLib::exRightB5Part,VARIANT_TRUE);
spG2antt1->PutScrollBars(EXG2ANTTLib::exDisableNoHorizontal);

1084. How do I get notified once the user clicks a hyperlink created using the anchor HTML tag
// AnchorClick event - Occurs when an anchor element is clicked.
void OnAnchorClickG2antt1(LPCTSTR AnchorID,LPCTSTR Options)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"AnchorID" );
	OutputDebugStringW( L"Options" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Default")))->PutDef(EXG2ANTTLib::exCellValueFormat,long(1));
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->AddItem("This is a link: <aex.com;1>www.exontrol.com</a>");
	var_Items->AddItem("This is a link: <aex.net;2>www.exontrol.net</a>");

1083. Is it possible to start editing a cell when double click it
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
void OnDblClickG2antt1(short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->Edit(vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutAutoEdit(VARIANT_FALSE);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit1")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit2")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),long(2));
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	var_Items1->PutCellValue(var_Items1->AddItem(long(3)),long(1),long(4));
spG2antt1->EndUpdate();

1082. Is it possible to disable standard single-click behavior for this column, so I manually could call Edit() when needed
// DblClick event - Occurs when the user dblclk the left mouse button over an object.
void OnDblClickG2antt1(short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->Edit(vtMissing);
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutAutoEdit(VARIANT_FALSE);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit1")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit2")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),long(2));
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	var_Items1->PutCellValue(var_Items1->AddItem(long(3)),long(1),long(4));
spG2antt1->EndUpdate();

1081. How can I get or restore the old or previously value for the cell being changed
// Change event - Occurs when the user changes the cell's content.
void OnChangeG2antt1(long Item,long ColIndex,VARIANT FAR* NewValue)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( L"Old-Value:" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetCellValue(Item,ColIndex)) );
	OutputDebugStringW( L"New-Value:" );
	OutputDebugStringW( L"NewValue" );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit1")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
((EXG2ANTTLib::IColumnPtr)(spG2antt1->GetColumns()->Add(L"Edit2")))->GetEditor()->PutEditType(EXG2ANTTLib::EditType);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	var_Items->PutCellValue(var_Items->AddItem(long(1)),long(1),long(2));
EXG2ANTTLib::IItemsPtr var_Items1 = spG2antt1->GetItems();
	var_Items1->PutCellValue(var_Items1->AddItem(long(3)),long(1),long(4));
spG2antt1->EndUpdate();

1080. How can I display the number of items being found after filtering
// FilterChange event - Occurs when the filter was changed.
void OnFilterChangeG2antt1()
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->PutFilterBarCaption(_bstr_t(spG2antt1->GetItems()->GetVisibleCount()));
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->GetChart()->PutPaneWidth(VARIANT_TRUE,0);
spG2antt1->PutColumnAutoResize(VARIANT_TRUE);
spG2antt1->PutContinueColumnScroll(VARIANT_FALSE);
spG2antt1->PutFocusColumnIndex(1);
spG2antt1->PutMarkSearchColumn(VARIANT_FALSE);
spG2antt1->PutSearchColumnIndex(1);
spG2antt1->PutFilterBarPromptVisible(VARIANT_TRUE);
spG2antt1->PutFilterBarPromptType(EXG2ANTTLib::exFilterPromptContainsAll);
spG2antt1->PutFilterBarPromptPattern(L"london");
EXG2ANTTLib::IColumnsPtr var_Columns = spG2antt1->GetColumns();
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Name")))->PutWidth(96);
	((EXG2ANTTLib::IColumnPtr)(var_Columns->Add(L"Title")))->PutWidth(96);
	var_Columns->Add(L"City");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h0 = var_Items->AddItem("Nancy Davolio");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"Seattle");
	h0 = var_Items->AddItem("Andrew Fuller");
	var_Items->PutCellValue(h0,long(1),"Vice President, Sales");
	var_Items->PutCellValue(h0,long(2),"Tacoma");
	var_Items->PutSelectItem(h0,VARIANT_TRUE);
	h0 = var_Items->AddItem("Janet Leverling");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"Kirkland");
	h0 = var_Items->AddItem("Margaret Peacock");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"Redmond");
	h0 = var_Items->AddItem("Steven Buchanan");
	var_Items->PutCellValue(h0,long(1),"Sales Manager");
	var_Items->PutCellValue(h0,long(2),"London");
	h0 = var_Items->AddItem("Michael Suyama");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"London");
	h0 = var_Items->AddItem("Robert King");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"London");
	h0 = var_Items->AddItem("Laura Callahan");
	var_Items->PutCellValue(h0,long(1),"Inside Sales Coordinator");
	var_Items->PutCellValue(h0,long(2),"Seattle");
	h0 = var_Items->AddItem("Anne Dodsworth");
	var_Items->PutCellValue(h0,long(1),"Sales Representative");
	var_Items->PutCellValue(h0,long(2),"London");
spG2antt1->EndUpdate();

1079. How can I highligth the item from the cursor as it moves
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	spG2antt1->BeginUpdate();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
		var_Items->ClearItemBackColor(spG2antt1->GetBackground(EXG2ANTTLib::BackgroundPartEnum(0x280 | EXG2ANTTLib::exDateHeader | EXG2ANTTLib::exCursorHoverColumn | EXG2ANTTLib::exToolTipAppearance | EXG2ANTTLib::exVSUp)));
		var_Items->PutItemBackColor(h,RGB(240,250,240));
	spG2antt1->PutBackground(EXG2ANTTLib::BackgroundPartEnum(0x280 | EXG2ANTTLib::exDateHeader | EXG2ANTTLib::exCursorHoverColumn | EXG2ANTTLib::exToolTipAppearance | EXG2ANTTLib::exVSUp),h);
	spG2antt1->EndUpdate();
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
spG2antt1->PutSelBackColor(RGB(240,250,240));
spG2antt1->PutSelForeColor(RGB(0,0,0));
spG2antt1->PutShowFocusRect(VARIANT_FALSE);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutSelBackColor(RGB(240,250,240));
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1078. How can I get the item from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( L"Handle" );
	OutputDebugStringW( L"h" );
	OutputDebugStringW( L"Index" );
	OutputDebugStringW( _bstr_t(spG2antt1->GetItems()->GetItemToIndex(h)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exHLines);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1077. How can I get the column from the cursor, not only in the header
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetColumnFromPoint(-1,0)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"P1");
spG2antt1->GetColumns()->Add(L"P2");
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->PutCellValue(h,long(1),"R2");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Cell 1.1"),long(1),"Cell 1.2");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Cell 2.1"),long(1),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1076. How can I get the column from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	OutputDebugStringW( _bstr_t(spG2antt1->GetColumnFromPoint(-1,-1)) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->GetColumns()->Add(L"P1");
spG2antt1->GetColumns()->Add(L"P2");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->PutCellValue(h,long(1),"R2");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Cell 1.1"),long(1),"Cell 1.2");
	var_Items->PutCellValue(var_Items->InsertItem(h,long(0),"Cell 2.1"),long(1),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1075. How can I get the cell's caption from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void OnMouseMoveG2antt1(short Button,short Shift,long X,long Y)
{
	/*
		Copy and paste the following directives to your header file as
		it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'
		#import <ExG2antt.dll>
		using namespace EXG2ANTTLib;
	*/
	EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
	long h = spG2antt1->GetItemFromPoint(-1,-1,c,hit);
	OutputDebugStringW( spG2antt1->GetItems()->GetCellCaption(h,c) );
}

EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutLinesAtRoot(EXG2ANTTLib::exLinesAtRoot);
spG2antt1->GetColumns()->Add(L"Items");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("R1");
	var_Items->InsertItem(h,long(0),"Cell 1.1");
	var_Items->InsertItem(h,long(0),"Cell 1.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
	h = var_Items->AddItem("R2");
	var_Items->InsertItem(h,long(0),"Cell 2.1");
	var_Items->InsertItem(h,long(0),"Cell 2.2");
	var_Items->PutExpandItem(h,VARIANT_TRUE);
spG2antt1->EndUpdate();

1074. Is it possible to change the style for the vertical or horizontal grid lines, in the list area
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesHDot4 | EXG2ANTTLib::exGridLinesVSolid);
spG2antt1->GetColumns()->Add(L"C1");
spG2antt1->GetColumns()->Add(L"C2");
spG2antt1->GetColumns()->Add(L"C3");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->PutCellValue(h,long(1),"SubItem 1.2");
	var_Items->PutCellValue(h,long(2),"SubItem 1.3");
	h = var_Items->AddItem("Item 2");
	var_Items->PutCellValue(h,long(1),"SubItem 2.2");
	var_Items->PutCellValue(h,long(2),"SubItem 2.3");
spG2antt1->EndUpdate();

1073. How can I show the bars over the grid lines, i.e. so you cannot see the grid lines 'through' the bar
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutGridLineColor(RGB(220,220,220));
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->PutGridLineStyle(EXG2ANTTLib::exGridLinesBehind);
	var_Chart->PutLevelCount(2);
	EXG2ANTTLib::ILevelPtr var_Level = var_Chart->GetLevel(1);
		var_Level->PutDrawGridLines(VARIANT_TRUE);
		var_Level->PutGridLineColor(RGB(220,220,220));
	EXG2ANTTLib::IBarPtr var_Bar = var_Chart->GetBars()->GetItem("Task");
		var_Bar->PutPattern(EXG2ANTTLib::exPatternSolid);
		var_Bar->PutHeight(14);
spG2antt1->GetColumns()->Add(L"Column");
EXG2ANTTLib::IItemsPtr var_Items = spG2antt1->GetItems();
	long h = var_Items->AddItem("Item 1");
	var_Items->AddBar(h,"Task","1/2/2001","1/5/2001","A",vtMissing);
	var_Items->AddBar(h,"Task","1/8/2001","1/15/2001","B",vtMissing);
spG2antt1->EndUpdate();

1072. Is it possible to change the style for the vertical grid lines, in the chart area only
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXG2ANTTLib' for the library: 'ExG2antt 1.0 Control Library'

	#import <ExG2antt.dll>
	using namespace EXG2ANTTLib;
*/
EXG2ANTTLib::IG2anttPtr spG2antt1 = GetDlgItem(IDC_G2ANTT1)->GetControlUnknown();
spG2antt1->BeginUpdate();
spG2antt1->PutDrawGridLines(EXG2ANTTLib::exAllLines);
spG2antt1->PutGridLineStyle(EXG2ANTTLib::exGridLinesDash);
EXG2ANTTLib::IChartPtr var_Chart = spG2antt1->GetChart();
	var_Chart->PutPaneWidth(VARIANT_FALSE,48);
	var_Chart->PutFirstVisibleDate("1/1/2001");
	var_Chart->PutDrawGridLines(EXG2ANTTLib::exAllLines);
	var_Chart->