2337
How can I convert the exBarStart/exBarEnd property to a string (by default it returns as VARIANT/VT_DATE type, method 3)

// BarResizing event - Occurs when a bar is moving or resizing.
void onEvent_BarResizing(int   _Item,COMVariant   _Key)
{
	;
	print( "Start" );
	print( _Key );
	print( exg2antt1.Items().ItemBar(_Item,_Key,547/*exBarStartStr*/) );
	print( "End" );
	print( _Key );
	print( exg2antt1.Items().ItemBar(_Item,_Key,548/*exBarEndStr*/) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.Debug(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.ResizeUnitScale(1048576/*exMinute*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)),"K1");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("9/22/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"K2");
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("9/23/2006",213)),COMVariant::createFromDate(str2Date("9/26/2006",213)),"K3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2336
How can I convert the exBarStart/exBarEnd property to a string (by default it returns as VARIANT/VT_DATE type, method 2)

// BarResizing event - Occurs when a bar is moving or resizing.
void onEvent_BarResizing(int   _Item,COMVariant   _Key)
{
	;
	print( "Start" );
	print( _Key );
	print( exg2antt1.FormatABC("dateF(value)",exg2antt1.Items().ItemBar(_Item,_Key,1/*exBarStart*/)) );
	print( "End" );
	print( _Key );
	print( exg2antt1.FormatABC("dateF(value)",exg2antt1.Items().ItemBar(_Item,_Key,2/*exBarEnd*/)) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.Debug(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.ResizeUnitScale(1048576/*exMinute*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)),"K1");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("9/22/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"K2");
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("9/23/2006",213)),COMVariant::createFromDate(str2Date("9/26/2006",213)),"K3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2335
How can I convert the exBarStart/exBarEnd property to a string (by default it returns as VARIANT/VT_DATE type, method 1)

// BarResizing event - Occurs when a bar is moving or resizing.
void onEvent_BarResizing(int   _Item,COMVariant   _Key)
{
	;
	print( "Start" );
	print( _Key );
	print( exg2antt1.FormatABC("date(value) format `MM/dd/yyyy HH:mm:ss`",exg2antt1.Items().ItemBar(_Item,_Key,1/*exBarStart*/)) );
	print( "End" );
	print( _Key );
	print( exg2antt1.FormatABC("date(value) format `MM/dd/yyyy HH:mm:ss`",exg2antt1.Items().ItemBar(_Item,_Key,2/*exBarEnd*/)) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.Debug(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.ResizeUnitScale(1048576/*exMinute*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)),"K1");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("9/22/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"K2");
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("9/23/2006",213)),COMVariant::createFromDate(str2Date("9/26/2006",213)),"K3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2334
Add/Remove/Updates the item-bar's resources

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.SelectedItem(0);
		com_Items.ItemBar(h,com_Items.FirstItemBar(h),49/*exBarResources*/,"+R4[10%]");
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar.Def(3/*exBarCaption*/,"<%=%49%>");
	exg2antt1.Columns().Add("Machines");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Machine 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",49/*exBarResources*/,"R1,R2");
		h = com_Items.AddItem("Machine 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",49/*exBarResources*/,"R2[75%],R3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2333
Distributes resources to a bar

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar.Def(3/*exBarCaption*/,"<%=%49%>");
	exg2antt1.Columns().Add("Machines");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Machine 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",49/*exBarResources*/,"R1,R2");
		h = com_Items.AddItem("Machine 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",49/*exBarResources*/,"R2[75%],R3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2332
How can I display additional information about a time zone when the user clicks on it (expandable)

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/20/2009",213)));
		com_Chart.MarkTimeZone("TZ",COMVariant::createFromDate(str2Date("1/1/2010",213)),COMVariant::createFromDate(str2Date("1/3/2010",213)),COMVariant::createFromInt(65280),"1;;<c>TimeZone<b><off -4><a ;exp=just more info about>*</a></b>;1");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2331
How can I have a tooltip for a marked TimeZone

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().TimeZoneFromPoint(-1,-1),"",,"+8");
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2009",213)));
		com_Chart.MarkTimeZone("Top",COMVariant::createFromDate(str2Date("1/1/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromInt(16711680),"1;;<fgcolor=FFFFFF>Top;1");
		com_Chart.MarkTimeZone("Partial",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/12/2010",213)),COMVariant::createFromInt(16711680),"50;;<fgcolor=FFFFFF>Partial;1");
		com_Chart.MarkTimeZone("Default",COMVariant::createFromDate(str2Date("1/15/2010",213)),COMVariant::createFromDate(str2Date("1/19/2010",213)),COMVariant::createFromInt(16711680),";;<fgcolor=FFFFFF>Default;1");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2330
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column;
		com_Column.DisplayFilterButton(true);
		com_Column.DisplayFilterPattern(true);
		com_Column.Def(21/*exFilterPatternTemplate*/,"*<%filter%>*");
		com_Column.FilterType(3/*exPattern*/);
		com_Column.Filter("1");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
	exg2antt1.ApplyFilter();
	exg2antt1.EndUpdate();
}
2329
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.ColumnAutoResize(false);
	exg2antt1.Columns().Add("Column 1");
	exg2antt1.Columns().Add("Column 2");
	exg2antt1.Columns().Add("Column 3");
	exg2antt1.Columns().Add("Column 4");
	exg2antt1.EndUpdate();
}
2328
Load data as a tree using a parent-id relationship

public void init()
{
	COM com_Column,com_rs;
	anytype rs,var_Column;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.DrawGridLines(2/*exVLines*/);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	exg2antt1.DataSource(rs);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.Width(128);
	rs = COM::createFromObject(new ADODB.Recordset());
		rs.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	exg2antt1.PutItems(rs.GetRows(),";0;17");
	exg2antt1.Items().ExpandItem(0,true);
	exg2antt1.EndUpdate();
}
2327
Is there a way to change the contents of the drop down editor based on a value in another column

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	;
	exg2antt1.Items().CellEditorVisible(_Item,COMVariant::createFromInt(0),1/*exEditorVisible*/);
	exg2antt1.Items().CellEditorVisible(_Item,COMVariant::createFromInt(1),1/*exEditorVisible*/);
}

// EditOpen event - Occurs when the edit operation starts.
void onEvent_EditOpen()
{
	COM com_Column,com_Editor,com_Items;
	COMVariant v;
	anytype var_Column,var_Editor,var_Items;
	str c;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		v = com_Items.CellValue(com_Items.FocusItem(),COMVariant::createFromInt(0));
		c = com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(0));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
	var_Editor = com_Column.Editor(); com_Editor = var_Editor;
		com_Editor.ClearItems();
		com_Editor.AddItem(v,c);
}

public void init()
{
	COM com_Column,com_Editor,com_Editor1,com_Items;
	COMVariant v;
	anytype var_Column,var_Editor,var_Editor1,var_Items;
	int h;
	str c,var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("DropDownList")); com_Column = var_Column;
		var_Editor = com_Column.Editor(); com_Editor = var_Editor;
			com_Editor.EditType(3/*DropDownListType*/);
			com_Editor.AddItem(1,"First");
			com_Editor.AddItem(2,"Second");
			com_Editor.AddItem(3,"Third");
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	var_Editor1 = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("DropDownList-Related"))).Editor(); com_Editor1 = var_Editor1;
	com_Editor1.EditType(3/*DropDownListType*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(1)),COMVariant::createFromInt(1),COMVariant::createFromInt(-1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(2)),COMVariant::createFromInt(1),COMVariant::createFromInt(-1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(3)),COMVariant::createFromInt(1),COMVariant::createFromInt(-1));
		com_Items.LockedItemCount(2/*exBottom*/,1);
		h = com_Items.LockedItem(2/*exBottom*/,0);
		com_Items.ItemDivider(h,0);
		com_Items.ItemDividerLineAlignment(h,2/*DividerTop*/);
		com_Items.CellEditorVisible(h,COMVariant::createFromInt(0),false);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),false);
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		var_s = "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection ";
		var_s = var_s + "on the first column.";
		com_Items.CellValue(h,COMVariant::createFromInt(0),COMVariant::createFromStr(var_s));
	exg2antt1.EndUpdate();
}
2326
Highlight the editable fields

// Change event - Occurs when the user changes the cell's content.
void onEvent_Change(int   _Item,int   _ColIndex,COMVariant /*variant*/   _NewValue)
{
	;
	exg2antt1.Refresh();
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_ConditionalFormat,com_ConditionalFormat1,com_ConditionalFormat2,com_ConditionalFormats,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Editor,var_Items;
	int g1,g2,h,r;
	;

	super();

	exg2antt1.FreezeEvents(true);
	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_ConditionalFormats = exg2antt1.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = com_ConditionalFormats.Add("%CE1"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.Bold(true);
			com_ConditionalFormat.BackColor(WinApi::RGB2int(245,245,245));
			com_ConditionalFormat.ApplyTo(1);
		var_ConditionalFormat1 = com_ConditionalFormats.Add("%CE2"); com_ConditionalFormat1 = var_ConditionalFormat1;
			com_ConditionalFormat1.Bold(true);
			com_ConditionalFormat1.BackColor(WinApi::RGB2int(245,245,245));
			com_ConditionalFormat1.ApplyTo(2);
		var_ConditionalFormat2 = com_ConditionalFormats.Add("%CE3"); com_ConditionalFormat2 = var_ConditionalFormat2;
			com_ConditionalFormat2.Bold(true);
			com_ConditionalFormat2.BackColor(WinApi::RGB2int(245,245,245));
			com_ConditionalFormat2.ApplyTo(3);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Description");
		var_Column = COM::createFromVariant(com_Columns.Add("Qty")); com_Column = var_Column;
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
			com_Column.Def(20/*exTotalColumn*/,"sum(current,rec,%1)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Price")); com_Column1 = var_Column1;
			com_Column1.Def(20/*exTotalColumn*/,"avg(current,rec,%2)");
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Amount")); com_Column2 = var_Column2;
			com_Column2.ComputedField("%1 * %2");
			com_Column2.Def(20/*exTotalColumn*/,"sum(current,rec,%3)");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		r = com_Items.AddItem("Root");
		g1 = com_Items.InsertItem(r,,"Group 1");
		h = com_Items.InsertItem(g1,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(10));
		h = com_Items.InsertItem(g1,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(2));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(11));
		g2 = com_Items.InsertItem(r,,"Group 2");
		h = com_Items.InsertItem(g2,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(12));
		h = com_Items.InsertItem(g2,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(13));
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
	exg2antt1.FreezeEvents(false);
}
2325
Highlight the total fields

// Change event - Occurs when the user changes the cell's content.
void onEvent_Change(int   _Item,int   _ColIndex,COMVariant /*variant*/   _NewValue)
{
	;
	exg2antt1.Refresh();
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_ConditionalFormat,com_ConditionalFormat1,com_ConditionalFormat2,com_ConditionalFormats,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2,var_ConditionalFormats,var_Editor,var_Items;
	int g1,g2,h,r;
	;

	super();

	exg2antt1.FreezeEvents(true);
	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_ConditionalFormats = exg2antt1.ConditionalFormats(); com_ConditionalFormats = var_ConditionalFormats;
		var_ConditionalFormat = com_ConditionalFormats.Add("%CT1"); com_ConditionalFormat = var_ConditionalFormat;
			com_ConditionalFormat.ForeColor(WinApi::RGB2int(128,128,128));
			com_ConditionalFormat.ApplyTo(1);
		var_ConditionalFormat1 = com_ConditionalFormats.Add("%CT2"); com_ConditionalFormat1 = var_ConditionalFormat1;
			com_ConditionalFormat1.ForeColor(WinApi::RGB2int(128,128,128));
			com_ConditionalFormat1.ApplyTo(2);
		var_ConditionalFormat2 = com_ConditionalFormats.Add("%CT3"); com_ConditionalFormat2 = var_ConditionalFormat2;
			com_ConditionalFormat2.ForeColor(WinApi::RGB2int(128,128,128));
			com_ConditionalFormat2.ApplyTo(3);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Description");
		var_Column = COM::createFromVariant(com_Columns.Add("Qty")); com_Column = var_Column;
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
			com_Column.Def(20/*exTotalColumn*/,"sum(current,rec,%1)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Price")); com_Column1 = var_Column1;
			com_Column1.Def(20/*exTotalColumn*/,"avg(current,rec,%2)");
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Amount")); com_Column2 = var_Column2;
			com_Column2.ComputedField("%1 * %2");
			com_Column2.Def(20/*exTotalColumn*/,"sum(current,rec,%3)");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		r = com_Items.AddItem("Root");
		g1 = com_Items.InsertItem(r,,"Group 1");
		h = com_Items.InsertItem(g1,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(10));
		h = com_Items.InsertItem(g1,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(2));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(11));
		g2 = com_Items.InsertItem(r,,"Group 2");
		h = com_Items.InsertItem(g2,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(12));
		h = com_Items.InsertItem(g2,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(13));
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
	exg2antt1.FreezeEvents(false);
}
2324
Highlight the leaf items

public void init()
{
	COM com_Columns,com_ConditionalFormat,com_Items;
	anytype var_Columns,var_ConditionalFormat,var_Items;
	int h,hR;
	;

	super();

	exg2antt1.BeginUpdate();
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CC0=0"); com_ConditionalFormat = var_ConditionalFormat;
	com_ConditionalFormat.ForeColor(WinApi::RGB2int(128,128,128));
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Item")).Width(16);
		com_Columns.Add("Desc");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.CellValue(hR,COMVariant::createFromInt(1),"The root directory /");
		com_Items.ExpandItem(hR,true);
		h = com_Items.InsertItem(hR,,"Home");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The home directory with user directories Alice and Bob");
		com_Items.InsertItem(h,,"Alice");
		com_Items.InsertItem(h,,"Bob");
		com_Items.ExpandItem(h,true);
		h = com_Items.InsertItem(hR,,"Etc");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The etc directory with one configuration file");
		h = com_Items.InsertItem(h,,"nginx.conf");
		com_Items.CellValue(com_Items.InsertItem(hR,,"Var"),COMVariant::createFromInt(1),"The var directory");
	exg2antt1.EndUpdate();
}
2323
Highlight the parent items

public void init()
{
	COM com_Columns,com_ConditionalFormat,com_Items;
	anytype var_Columns,var_ConditionalFormat,var_Items;
	int h,hR;
	;

	super();

	exg2antt1.BeginUpdate();
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CC0"); com_ConditionalFormat = var_ConditionalFormat;
	com_ConditionalFormat.ForeColor(WinApi::RGB2int(255,0,0));
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Item")).Width(16);
		com_Columns.Add("Desc");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.CellValue(hR,COMVariant::createFromInt(1),"The root directory /");
		com_Items.ExpandItem(hR,true);
		h = com_Items.InsertItem(hR,,"Home");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The home directory with user directories Alice and Bob");
		com_Items.InsertItem(h,,"Alice");
		com_Items.InsertItem(h,,"Bob");
		com_Items.ExpandItem(h,true);
		h = com_Items.InsertItem(hR,,"Etc");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The etc directory with one configuration file");
		h = com_Items.InsertItem(h,,"nginx.conf");
		com_Items.CellValue(com_Items.InsertItem(hR,,"Var"),COMVariant::createFromInt(1),"The var directory");
	exg2antt1.EndUpdate();
}
2322
Highlight the item being expanded or collapsed

public void init()
{
	COM com_Columns,com_ConditionalFormat,com_Items;
	anytype var_Columns,var_ConditionalFormat,var_Items;
	int h,hR;
	;

	super();

	exg2antt1.BeginUpdate();
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CX0"); com_ConditionalFormat = var_ConditionalFormat;
	com_ConditionalFormat.Bold(true);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Item")).Width(16);
		com_Columns.Add("Desc");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.CellValue(hR,COMVariant::createFromInt(1),"The root directory /");
		com_Items.ExpandItem(hR,true);
		h = com_Items.InsertItem(hR,,"Home");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The home directory with user directories Alice and Bob");
		com_Items.InsertItem(h,,"Alice");
		com_Items.InsertItem(h,,"Bob");
		com_Items.ExpandItem(h,true);
		h = com_Items.InsertItem(hR,,"Etc");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"The etc directory with one configuration file");
		h = com_Items.InsertItem(h,,"nginx.conf");
		com_Items.CellValue(com_Items.InsertItem(hR,,"Var"),COMVariant::createFromInt(1),"The var directory");
	exg2antt1.EndUpdate();
}
2321
I am using exTotalColumn. Is there an option to exclude specific cells to display the total

// Change event - Occurs when the user changes the cell's content.
void onEvent_Change(int   _Item,int   _ColIndex,COMVariant /*variant*/   _NewValue)
{
	;
	exg2antt1.Refresh();
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Editor,var_Items;
	int g1,g2,h,r;
	;

	super();

	exg2antt1.FreezeEvents(true);
	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Description");
		var_Column = COM::createFromVariant(com_Columns.Add("Qty")); com_Column = var_Column;
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
			com_Column.Def(20/*exTotalColumn*/,"sum(current,rec,%1)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Price")); com_Column1 = var_Column1;
			com_Column1.Def(20/*exTotalColumn*/,"avg(current,rec,%2)");
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Amount")); com_Column2 = var_Column2;
			com_Column2.ComputedField("%1 * %2");
			com_Column2.Def(20/*exTotalColumn*/,"sum(current,rec,%3)");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		r = com_Items.AddItem("Root");
		g1 = com_Items.InsertItem(r,,"Group 1");
		com_Items.FormatCell(g1,COMVariant::createFromInt(2),"`<average missing>`");
		com_Items.CellEditorVisible(g1,COMVariant::createFromInt(2),false);
		com_Items.CellBold(g1,COMVariant::createFromInt(2),true);
		com_Items.CellForeColor(g1,COMVariant::createFromInt(2),WinApi::RGB2int(255,0,0));
		h = com_Items.InsertItem(g1,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(10));
		h = com_Items.InsertItem(g1,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(2));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(11));
		g2 = com_Items.InsertItem(r,,"Group 2");
		h = com_Items.InsertItem(g2,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(12));
		h = com_Items.InsertItem(g2,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(13));
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
	exg2antt1.FreezeEvents(false);
}
2320
How can I add a total column

// Change event - Occurs when the user changes the cell's content.
void onEvent_Change(int   _Item,int   _ColIndex,COMVariant /*variant*/   _NewValue)
{
	;
	exg2antt1.Refresh();
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Editor,var_Items;
	int g1,g2,h,r;
	;

	super();

	exg2antt1.FreezeEvents(true);
	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Description");
		var_Column = COM::createFromVariant(com_Columns.Add("Qty")); com_Column = var_Column;
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
			com_Column.Def(20/*exTotalColumn*/,"sum(current,rec,%1)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Price")); com_Column1 = var_Column1;
			com_Column1.Def(20/*exTotalColumn*/,"avg(current,rec,%2)");
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Amount")); com_Column2 = var_Column2;
			com_Column2.ComputedField("%1 * %2");
			com_Column2.Def(20/*exTotalColumn*/,"sum(current,rec,%3)");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		r = com_Items.AddItem("Root");
		g1 = com_Items.InsertItem(r,,"Group 1");
		h = com_Items.InsertItem(g1,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(10));
		h = com_Items.InsertItem(g1,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(2));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(11));
		g2 = com_Items.InsertItem(r,,"Group 2");
		h = com_Items.InsertItem(g2,,"Item 1");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(12));
		h = com_Items.InsertItem(g2,,"Item 2");
		com_Items.CellValue(h,COMVariant::createFromInt(1),COMVariant::createFromInt(4));
		com_Items.CellValue(h,COMVariant::createFromInt(2),COMVariant::createFromInt(13));
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
	exg2antt1.FreezeEvents(false);
}
2319
Is it possible when I move the horizontal scroll bar, that the whole chart scrolls live during move the horizontal scroll bar. Not it scrolls just when I release the left mouse, not during change the horizontal scroll position
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
		com_Chart.ToolTip("");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2318
The exLinkStyle is not valid (the style of the link is still solid) if the link's width is greater than 1. What can be done
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2,h3;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	exg2antt1.AntiAliasing(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
		com_Items.Link("L1",9/*exLinkStyle*/,COMVariant::createFromInt(2));
		com_Items.Link("L1",10/*exLinkWidth*/,COMVariant::createFromInt(2));
		h3 = com_Items.AddItem("Task 4");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K3");
		com_Items.AddLink("L2",h2,"K2",h3,"K3");
		com_Items.Link("L2",9/*exLinkStyle*/,COMVariant::createFromInt(1));
		com_Items.Link("L2",10/*exLinkWidth*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2317
How can I change the tooltip's margins (method 2)

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ToolTipMargin("16,8");
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"...");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2316
Are there any properties to set text margins at tooltip, like Margins="5,5" (method 1). Margins is used to get some space between text and the tooltips border

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ToolTipMargin("16,8");
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"...");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2315
exShowExtendedLinks

public void init()
{
	COM com_Chart,com_Items,com_Level;
	anytype var_Chart,var_Items,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(24);
	exg2antt1.HeaderHeight(20);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.AntiAliasing(true);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/10/2024",213)));
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.DrawTickLines(0/*exLevelNoLine*/);
			com_Level.DrawTickLinesFrom(0,1/*exLevelDotLine*/);
		com_Chart.AllowResizeChart(-1/*0xffffffff | exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		com_Chart.ShowLinks(1/*exShowExtendedLinks*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("T1"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 10:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 10:20:00",213)),"T1");
		com_Items.AddBar(com_Items.AddItem("T2"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 9:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 12:00:00",213)),"T2");
		com_Items.AddBar(com_Items.AddItem("T3"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:30:00",213)),"T3");
		com_Items.AddBar(com_Items.AddItem("T4"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:30:00",213)),"T4");
		com_Items.AddLink("L13",com_Items.ItemByIndex(0),"T1",com_Items.ItemByIndex(2),"T3");
		com_Items.AddLink("L14",com_Items.ItemByIndex(0),"T1",com_Items.ItemByIndex(3),"T4");
		com_Items.AddLink("L24",com_Items.ItemByIndex(1),"T2",com_Items.ItemByIndex(3),"T4");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2314
According to the documentation of the ShowExtendedLinksEnum value exShowExtendedLinks (1) it is possible to distinctly visualise links (rather than showing them one over another) when two or more links start or end on the same bar

public void init()
{
	COM com_Chart,com_Items,com_Level;
	anytype var_Chart,var_Items,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(24);
	exg2antt1.HeaderHeight(20);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.AntiAliasing(true);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/10/2024",213)));
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.DrawTickLines(0/*exLevelNoLine*/);
			com_Level.DrawTickLinesFrom(0,1/*exLevelDotLine*/);
		com_Chart.AllowResizeChart(-1/*0xffffffff | exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("T1"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 10:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 10:20:00",213)),"T1");
		com_Items.AddBar(com_Items.AddItem("T2"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 9:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 12:00:00",213)),"T2");
		com_Items.AddBar(com_Items.AddItem("T3"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:30:00",213)),"T3");
		com_Items.AddBar(com_Items.AddItem("T4"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/10/2024 8:30:00",213)),"T4");
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"T1",com_Items.ItemByIndex(2),"T3");
		com_Items.AddLink("L2",com_Items.ItemByIndex(1),"T2",com_Items.ItemByIndex(3),"T4");
		com_Items.Link("L2",15/*exLinkShowRound*/,COMVariant::createFromInt(4));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2313
How to use arrows key left/right to move the cursor left/right inside the text
public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Edit")).Editor(); com_Editor = var_Editor;
		com_Editor.EditType(1/*EditType*/);
		com_Editor.Option(20/*exLeftArrow*/,COMVariant::createFromBoolean(false));
		com_Editor.Option(21/*exRightArrow*/,COMVariant::createFromBoolean(false));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("000");
		com_Items.AddItem("111");
		com_Items.AddItem("222");
	exg2antt1.EndUpdate();
}
2312
How can I force the cursor to jump to the end of the editor once the user clicks the cell
public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SelBackColor(exg2antt1.BackColor());
	exg2antt1.SelForeColor(exg2antt1.ForeColor());
	var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Edit")).Editor(); com_Editor = var_Editor;
		com_Editor.EditType(1/*EditType*/);
		com_Editor.Option(48/*exEditSelStart*/,COMVariant::createFromInt(-1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("000");
		com_Items.AddItem("111");
		com_Items.AddItem("222");
	exg2antt1.EndUpdate();
}
2311
How can I show the overview with a different color except or outside the selection

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBFLBCJwBAEHhEJAAEhABVIDg6AADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADE2YAoJDUN4nDKMMDybBkRxtDCPIDnGQoDi";
	var_s = var_s + "GI4nSbKIzSCKMQhrEKZZrnaLJFgOTY8ABLEBvfSgASof6MKBlKhKGoiUo2SCFEaBTBNHxDL6raqqWJ5HDINQlWzbcjjKKFYRbOqTZDkGj4XqKTo3YBAdZSXJsXwTGKkj";
	var_s = var_s + "i3ZgMOR3HaQaTjOgINpuDZdRzkUYZUDFSwSDqQIRtCpbJqzFZDZbLNbYBYME47AayID0CbdCgmaalSZHNxbVa0BzpXrFLw1TLoDy8AJ+ABseKzfo9PxdIygZRzKJ8aof";
	var_s = var_s + "E+YxynIfJcC8QgbCmL5eiEPIKH6RABlibJpicW4/FcAx/HOYRGmud4+CcHxdmiDhkGEIIIEkQJSGMHQHFGSBlFEUITEmewAAQIQ2AYRpDGQJAoEIXhXCkCB5kmSAdmgV";
	var_s = var_s + "ZPmgZJ8gaT4oHSeIHk8aIEnWCJiEiFgmgmYoIiYJIIE8aB8niB0pmyfIGE+ZYmDQPpjgOUg6DqY5DgYPg2mQAxqEKEJkEkFhGhGZIJA4QA2mOY4GDwOsumCe4NAACJKD";
	var_s = var_s + "oPQOFkZJThaSoZHSGYXmYCYGGKGJmEmFhmCsJoDFYag5iaSISDIAAjAkPJLhyS4JlYbA5iSeZmHqHpnkmdh+hOZx5lSOAzGgSQ+DAAAimkNIkiKTh6DSbIjmkChGhKJJ";
	var_s = var_s + "pEoVoWiSaJThyKImmSWI4ACCwNkqBhgDsahKhaJopmqComiqKpqkqEhghKYpAAIJIQmYA46jaLZrgqZo6i6a5KnaPotiZRQkiyIg6lIXw7myCwmkqMpsksNpOjObQLCK";
	var_s = var_s + "QYQiwOpOEKGAPAsZpajabZLHaXo3m4C4GlmNJNisVpFjWZZzkaao6m6S42m6O5vAuRpyjqLhLhidYxgmE5KnqPpvkudp+j+cAMAcAo+i8WIOkSPZuguZwDkKcJMDafpB";
	var_s = var_s + "E8XAengPJxEwVwWkWcYMGcGpGnGTBTBCRIwhkXwikichMhcJpJnKDIPB+NYNimAgqkucwMkcMoInKO4fC2F5ikyZw6k6c5MncPpPnOLJXAiTZJhOXxGlGdINCcSpSnST";
	var_s = var_s + "Q3E6UY0CuYgulSdRNFcVpVnWDRnFSVBwh0axeledgNFsXJRA+HYXGaWZ2g2JxqlqdpNjcZZYmYCJDHKXJ3E2K4doux3gbE8OEF4ygtjuH6L8eAHAHgFGCO8bY2QZgZDi";
	var_s = var_s + "BwJ4FRijxE4G8DoxBxj6B6EINwTADjvBaMseYHBng1GaPMTg7wepxA4J4Rx8RjgfCYFMeoEQ6BpGqPUTob2MD2A6IQLoNAKiHAuG0WYAAJCVBCCETAHR3DMFWPgDwD29";
	var_s = var_s + "j4E8CoV4sw7imAIIcJASggAHBeBIJw5grikCmHoSYNxWjrH2BMAoNgqAZE8O0GYEg5DgAIG8DgxwjhXGaCYZIcgnxBGSDILgmwTjKHkJMNwqgjCREoGEC4RRMifHqJcY";
	var_s = var_s + "okQ6BgEYJEUIaQOhlHIIESAECAg=";
	exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.Background(199/*exOverviewSelResize*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Background(200/*exOverviewSelOut*/,WinApi::RGB2int(240,240,240));
	exg2antt1.Chart().OverviewSelBackColor(WinApi::RGB2int(255,255,255));
	exg2antt1.Background(201/*exOverviewSelUnit*/,0x1000000);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/21/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(31746/*0x7c02 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible*/);
		com_Chart.OverviewHeight(64);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(4096/*exDay*/);
		com_Chart.Label(65536/*exHour*/,"");
		com_Chart.Label(1048576/*exMinute*/,"");
		com_Chart.Label(16777216/*exSecond*/,"");
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("7/2/2001",213)),COMVariant::createFromDate(str2Date("7/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("11/2/2001",213)),COMVariant::createFromDate(str2Date("11/11/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2310
Resize the chart using the overview's selection left and right margins (blue)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.Background(199/*exOverviewSelResize*/,WinApi::RGB2int(0,0,255));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/21/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(31746/*0x7c02 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible*/);
		com_Chart.OverviewHeight(64);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("7/2/2001",213)),COMVariant::createFromDate(str2Date("7/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("11/2/2001",213)),COMVariant::createFromDate(str2Date("11/11/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2309
Resize the chart using the overview's selection left and right margins (black)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.Background(199/*exOverviewSelResize*/,WinApi::RGB2int(1,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/21/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(31746/*0x7c02 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible*/);
		com_Chart.OverviewHeight(64);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("7/2/2001",213)),COMVariant::createFromDate(str2Date("7/11/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("11/2/2001",213)),COMVariant::createFromDate(str2Date("11/11/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2308
Disable temporarily the column's sort, resize and drag and drop

public void init()
{
	COM com_Chart,com_Editor,com_Level;
	anytype var_Chart,var_Editor,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.OnResizeControl(1/*exResizeChart*/);
	exg2antt1.SortBarVisible(true);
	exg2antt1.SortBarCaption("<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)");
	exg2antt1.AllowGroupBy(true);
	exg2antt1.HeaderEnabled(false);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	COM::createFromVariant(exg2antt1.Columns().Add("Index")).FormatColumn("1 index ``");
	COM::createFromVariant(exg2antt1.Columns().Add("Pos")).FormatColumn("1 apos ``");
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Edit"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(1/*EditType*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(2/*exVLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,196);
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.DrawGridLines(true);
			com_Level.GridLineColor(exg2antt1.GridLineColor());
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,196);
}
*/
2307
Adds a Finish-Start(FS) link (method 3)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2306
Adds a Start-Start(SS) link (method 3)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",6/*exLinkStartPos*/,COMVariant::createFromInt(0));
		com_Items.Link("Link1",7/*exLinkEndPos*/,COMVariant::createFromInt(0));
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2305
Adds a Finish-Finish(FF) link (method 3)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("Link1",7/*exLinkEndPos*/,COMVariant::createFromInt(2));
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2304
Adds a Start-Finish(SF) link (method 3)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",6/*exLinkStartPos*/,COMVariant::createFromInt(0));
		com_Items.Link("Link1",7/*exLinkEndPos*/,COMVariant::createFromInt(2));
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2303
Adds a Finish-Start(FS) link (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(h2,"",270/*exBarPredecessor*/,"1FS");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2302
Adds a Start-Start(SS) link (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(h2,"",270/*exBarPredecessor*/,"1SS");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2301
Adds a Finish-Finish(FF) link (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(h2,"",270/*exBarPredecessor*/,"1FF");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2300
Adds a Start-Finish(SF) link (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(h2,"",270/*exBarPredecessor*/,"1SF");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2299
Adds a Start-Finish(SF) link (method 1)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",260/*exLinkType*/,"SF");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2298
Adds a Finish-Finish(FF) link (method 1)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",260/*exLinkType*/,"FF");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2297
Adds a Start-Start(SS) link (method 1)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",260/*exLinkType*/,"SS");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2296
Adds a Finish-Start(FS) link (method 1)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Item 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		h2 = com_Items.AddItem("Item 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddLink("Link1",h1,"",h2,"");
		com_Items.Link("Link1",260/*exLinkType*/,"FS");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2295
What is the difference between lags with "W" or without

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
			com_Bar.Shortcut("Task");
			com_Bar.Def(20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(com_Items.ItemByIndex(0),"",271/*exBarSuccessor*/,"2SF:-1,3SF:-1W");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2294
What is the difference between lags with "W" or without

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.ItemBar(com_Items.ItemByIndex(0),"",271/*exBarSuccessor*/,"2SF:-1,3SF:-1W");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2293
How can I remove all outgoing links

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)));
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),"");
		com_Items.AddLink("L2",com_Items.ItemByIndex(1),"",com_Items.ItemByIndex(2),"");
		com_Items.ItemBar(com_Items.ItemByIndex(1),"",271/*exBarSuccessor*/,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2292
How can I remove all incoming links

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)));
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),"");
		com_Items.AddLink("L2",com_Items.ItemByIndex(1),"",com_Items.ItemByIndex(2),"");
		com_Items.ItemBar(com_Items.ItemByIndex(1),"",270/*exBarPredecessor*/,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2291
How do I add a link between two bars (method 3)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)));
		com_Items.ItemBar(h,"",271/*exBarSuccessor*/,"2SF");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2290
How do I add a link between two bars (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Name");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)));
		com_Items.ItemBar(h,"",270/*exBarPredecessor*/,"2SF");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2289
Highlight the selected-link while editing the predecessor/successor column

// AddLink event - Occurs when the user links two bars using the mouse.
void onEvent_AddLink(str   _LinkKey)
{
	;
	exg2antt1.Items().Link(_LinkKey,15/*exLinkShowRound*/,COMVariant::createFromInt(3));
}

public void init()
{
	COM com_Bar,com_Chart,com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Columns,com_Editor,com_Editor1,com_Items;
	anytype var_Bar,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Columns,var_Editor,var_Editor1,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.OnResizeControl(1/*exResizeChart*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.ColumnAutoResize(false);
	exg2antt1.HeaderHeight(32);
	exg2antt1.DefaultItemHeight(28);
	exg2antt1.BackColorLevelHeader(WinApi::RGB2int(255,255,255));
	exg2antt1.Background(197/*exPSLinkColorEditSel*/,WinApi::RGB2int(160,160,160));
	exg2antt1.Background(198/*exPSBarColorEditSel*/,WinApi::RGB2int(128,128,128));
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(48);
		var_Column = COM::createFromVariant(com_Columns.Add("Start")); com_Column = var_Column;
			com_Column.Width(48);
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(7/*DateType*/);
			com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1));
		var_Column1 = COM::createFromVariant(com_Columns.Add("End")); com_Column1 = var_Column1;
			com_Column1.Width(48);
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(7/*DateType*/);
			com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(543));
		var_Column2 = COM::createFromVariant(com_Columns.Add("Predecessor")); com_Column2 = var_Column2;
			var_Editor = com_Column2.Editor(); com_Editor = var_Editor;
				com_Editor.EditType(1/*EditType*/);
				com_Editor.EditType(8/*MaskType*/);
				com_Editor.Mask(";;;rich");
			com_Column2.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(270));
		var_Column3 = COM::createFromVariant(com_Columns.Add("Successor")); com_Column3 = var_Column3;
			var_Editor1 = com_Column3.Editor(); com_Editor1 = var_Editor1;
				com_Editor1.EditType(1/*EditType*/);
				com_Editor1.EditType(8/*MaskType*/);
				com_Editor1.Mask(";;;rich");
			com_Column3.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(271));
		var_Column4 = COM::createFromVariant(com_Columns.Add("(I)")); com_Column4 = var_Column4;
			com_Column4.FormatColumn("1 index ``");
			com_Column4.Position(0);
			com_Column4.AllowSizing(false);
			com_Column4.Width(20);
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	exg2antt1.AntiAliasing(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.ShowLinks(1/*exShowExtendedLinks*/);
		com_Chart.LinksStyle(0/*exLinkSolid*/);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,362);
		com_Chart.NonworkingDays(0);
		com_Chart.AllowLinkBars(true);
		com_Chart.AllowCreateBar(2/*exCreateBarAutoEndInclusive*/);
		com_Chart.AllowZoomOnFly(-1/*0xffffffff | exZoomOnFlyIncludeSelectedItems | exZoomOnFlyBarsOnly | exZoomOnFly | exZoomOnFlyCtrl | exZoomOnFlyShift*/);
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Height(15);
			com_Bar.Def(3/*exBarCaption*/,"<%=%C5%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		com_Items.AddBar(com_Items.AddItem("Phase A"),"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase B"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase C"),"Task",COMVariant::createFromDate(str2Date("12/29/2000",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),"");
		com_Items.Link("L1",17/*exLinkPDMDelay*/,COMVariant::createFromInt(1));
		com_Items.AddLink("L2",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(2),"");
		com_Items.AddLink("L3",com_Items.ItemByIndex(2),"",com_Items.ItemByIndex(1),"");
		com_Items.SchedulePDM(0,"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,362);
}
*/
2288
Adding an editable successor column

public void init()
{
	COM com_Chart,com_Column,com_Column1,com_Columns,com_Editor,com_Items;
	anytype var_Chart,var_Column,var_Column1,var_Columns,var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(48);
		var_Column = COM::createFromVariant(com_Columns.Add("Successor")); com_Column = var_Column;
			var_Editor = com_Column.Editor(); com_Editor = var_Editor;
				com_Editor.EditType(1/*EditType*/);
				com_Editor.EditType(8/*MaskType*/);
				com_Editor.Mask(";;;rich");
			com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(271));
		var_Column1 = COM::createFromVariant(com_Columns.Add("(I)")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("1 index ``");
			com_Column1.Position(0);
			com_Column1.AllowSizing(false);
			com_Column1.Width(20);
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	exg2antt1.AntiAliasing(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,256);
		com_Chart.AllowLinkBars(true);
		com_Chart.AllowCreateBar(2/*exCreateBarAutoEndInclusive*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		com_Items.AddBar(com_Items.AddItem("Phase A"),"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase B"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase C"),"Task",COMVariant::createFromDate(str2Date("12/29/2000",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),"");
		com_Items.AddLink("L2",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(2),"");
		com_Items.AddLink("L3",com_Items.ItemByIndex(2),"",com_Items.ItemByIndex(1),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,256);
}
*/
2287
Adding an editable predecessor column

public void init()
{
	COM com_Chart,com_Column,com_Column1,com_Columns,com_Editor,com_Items;
	anytype var_Chart,var_Column,var_Column1,var_Columns,var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(48);
		var_Column = COM::createFromVariant(com_Columns.Add("Predecessor")); com_Column = var_Column;
			var_Editor = com_Column.Editor(); com_Editor = var_Editor;
				com_Editor.EditType(1/*EditType*/);
				com_Editor.EditType(8/*MaskType*/);
				com_Editor.Mask(";;;rich");
			com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(270));
		var_Column1 = COM::createFromVariant(com_Columns.Add("(I)")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("1 index ``");
			com_Column1.Position(0);
			com_Column1.AllowSizing(false);
			com_Column1.Width(20);
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	exg2antt1.AntiAliasing(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,256);
		com_Chart.AllowLinkBars(true);
		com_Chart.AllowCreateBar(2/*exCreateBarAutoEndInclusive*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		com_Items.AddBar(com_Items.AddItem("Phase A"),"Task",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase B"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Phase C"),"Task",COMVariant::createFromDate(str2Date("12/29/2000",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddLink("L1",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(1),"");
		com_Items.AddLink("L2",com_Items.ItemByIndex(0),"",com_Items.ItemByIndex(2),"");
		com_Items.AddLink("L3",com_Items.ItemByIndex(2),"",com_Items.ItemByIndex(1),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,256);
}
*/
2286
Adding an Index column

public void init()
{
	COM com_Column,com_Columns,com_Items;
	anytype var_Column,var_Columns,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		COM::createFromVariant(com_Columns.Add("Name")).Width(48);
		var_Column = COM::createFromVariant(com_Columns.Add("Index")); com_Column = var_Column;
			com_Column.FormatColumn("1 index ``");
			com_Column.Position(0);
			com_Column.AllowSizing(false);
			com_Column.Width(48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Phase A");
		com_Items.AddItem("Phase B");
		com_Items.AddItem("Phase C");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
2285
Create a new bar should start at 1 day (after moving some pixel to the right 1 days is showing) and new days should been showing as soon as you hit the next day. How can I do that (create bar manually)

// CreateBar event - Fired when the user creates a new bar.
void onEvent_CreateBar(int   _Item,date   _DateStart,date   _DateEnd)
{
	;
	exg2antt1.Items().AddBar(_Item,"Task",_DateStart,_DateEnd,"","new");
}

public void init()
{
	COM com_Chart,com_Items,com_Level;
	anytype var_Chart,var_Items,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.OnResizeControl(1/*exResizeChart*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	COM::createFromVariant(exg2antt1.Columns().Add("Index")).FormatColumn("1 index ``");
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(1/*exHLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.NonworkingDays(0);
		com_Chart.AllowLinkBars(true);
		com_Chart.AllowCreateBar(-2/*exCreateBarManualEndInclusive*/);
		com_Chart.AllowZoomOnFly(-1/*0xffffffff | exZoomOnFlyIncludeSelectedItems | exZoomOnFlyBarsOnly | exZoomOnFly | exZoomOnFlyCtrl | exZoomOnFlyShift*/);
		com_Chart.GridLineStyle(exg2antt1.GridLineStyle());
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.DrawGridLines(true);
			com_Level.GridLineColor(exg2antt1.GridLineColor());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("");
		com_Items.AddItem("");
		com_Items.AddItem("");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2284
Create a new bar should start at 1 day (after moving some pixel to the right 1 days is showing) and new days should been showing as soon as you hit the next day. How can I do that (create bar automatically)

public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.OnResizeControl(1/*exResizeChart*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	COM::createFromVariant(exg2antt1.Columns().Add("Index")).FormatColumn("1 index ``");
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DrawGridLines(1/*exHLines*/);
	exg2antt1.GridLineColor(WinApi::RGB2int(224,224,224));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.NonworkingDays(0);
		com_Chart.AllowLinkBars(true);
		com_Chart.AllowCreateBar(2/*exCreateBarAutoEndInclusive*/);
		com_Chart.AllowZoomOnFly(-1/*0xffffffff | exZoomOnFlyIncludeSelectedItems | exZoomOnFlyBarsOnly | exZoomOnFly | exZoomOnFlyCtrl | exZoomOnFlyShift*/);
		com_Chart.GridLineStyle(exg2antt1.GridLineStyle());
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.DrawGridLines(true);
			com_Level.GridLineColor(exg2antt1.GridLineColor());
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2283
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of working-days when using the DateTickerLabel property (method 4, locale)

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%=value format `ddd dd`%><fgcolor 808080><%=(value=end?` (` + (wcount) + `wd)`:``)%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2282
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 4, locale)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%=value format `ddd dd`%><fgcolor 808080><%=(value=end?` (` + (end-start) + `d)`:``)%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2281
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 3, english locale)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		var_s = "<%=(0 array (0:=(longdate(date(value)) split `,`)) left 3) + ` ` +  ((2 array ((1 array =:0) split ` `)) lpad `00`) + (value=end";
		var_s = var_s + "?` (` + (end-start) + `d)`:``)%>";
		com_Chart.DateTickerLabel(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2280
How can I display the "<%ddd%> <%d%> <%mmm%>" format for start and end margins, but end margin should display one day before followed by the number of days

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		var_s = "<%=(weekday(0:=(value-(value=end?1:0))) array 'Sun Mon Tue Wed Thu Fri Sat' split ' ') + ` ` + day(=:0) + ` ` + ((month(=:0) - 1";
		var_s = var_s + ") array 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec' split ' ') + (value=end?` (` + (end-start) + `d)`:``)%>";
		com_Chart.DateTickerLabel(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2279
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 2)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%ddd%> <%d%> <%mmm%><%=(value=end?` (` + (end-start) + `d)`:``)%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2278
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 1)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		var_s = "<%=(weekday(value) array 'Sun Mon Tue Wed Thu Fri Sat' split ' ') + ` ` + day(value) + ` ` + ((month(value) - 1) array 'Jan Feb ";
		var_s = var_s + "Mar Apr May Jun Jul Aug Sep Oct Nov Dec' split ' ') + (value=end?` (` + (end-start) + `d)`:``)%>";
		com_Chart.DateTickerLabel(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/1/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2277
How can I display just the end-margin when user resizes the bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%=value=start?``:value%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2276
Is it possible to include the number of days (duration in days, hours, minutes) within the date-label

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		var_s = "<%=date(value=end?value-1:value)%><fgcolor 666666><off -4><%=value=end?` ` + ((1:=int(0:= end - start)) != 0 ? (=:1 + ' day(s)')";
		var_s = var_s + " : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s) ' : '' ) + ((1:=round((=:0 - =";
		var_s = var_s + ":1)*60)) != 0 ? =:1 + ' min(s)' : ''):``%>";
		com_Chart.DateTickerLabel(var_s);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2275
Is it possible to include the number of days within the date-label

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%mmm%> <%d%><fgcolor 808080><%=value=end?` (`+(end - start) + ` days)`:``%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2274
Is it possible to show the date-label with the bar being created, moved or resized instead below the header-bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%mmm%> <%d%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2273
Date-label customization

public void init()
{
	COM com_Appearance,com_Chart,com_Items;
	anytype var_Appearance,var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABT0GACAADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCOIwAFBIZhrE4ZRwGCQRRgyI43RhHUBzVI";
		var_s = var_s + "UBxDEaTZLlGY4NjSIYHThPMzyDRlEyBBqVKKoWLZMjiIY2RhJM7SBR0OROGQaRJrewZHDUMJiQjZVoVNTkNyxH6uYzoKSqVACLowTJNFZXDDkeR5JqcKBqChIEpKO5wR";
		var_s = var_s + "riAABVZoAA3Rq+AAuPBJIwYAAyXTIdTwThkBz3R6tchgOw7LxeZJpWbZOo0TgGFwTLDQNCifI7Vi6NJ1DdcKLNNx3tDBdpGXZ4JznGa8a7jN57dr+JQ7U6degACytKxL";
		var_s = var_s + "BeOprHMcA+GafxaAiBIUA0JgziGVJkGUGJIFyUYiBEN5VBsGxCEUEIcn0cAxBgWBijmM4Ekec57n0RwJBgBgCgCEZCC4BoBmAdBwgSApgkgMQcB8YQIEYERHAceBWBaB";
		var_s = var_s + "YRkGQgagaYY0HAaYHmICIBBwGJiEiFglEcBYYiYKoKhGQRCC6C5inQcBNgyYxIlIMoNGMWI2DCDAigiLgrgiYhohoHoIGIGBmByBwhEgXgXgOYQoEoCoDGCWAWAiAggA";
		var_s = var_s + "gDgDEcH5pGUHAoCWSR2F0cxOjSHQJEAQCAg=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 -2 -2 4 4");
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(192/*exDateTickerLabelBack*/,0x2000000);
	exg2antt1.Background(193/*exDateTickerLabelFore*/,WinApi::RGB2int(255,255,255));
	exg2antt1.Background(194/*exDateTickerLabelHAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Background(195/*exDateTickerLabelVAlign*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Background(196/*exDateTickerLabelHMargin*/,WinApi::RGB2int(4,0,0));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%mmm%><br><%d%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2272
How can I change the visual appearance for the date-label (EBN)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBFLBCJwBAEHhEJAAEhABaICg6AADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA";
	var_s = var_s + "ceAAGaUZrjSgobjmOYhAJCL70WAFFr/DCgZThGgJHomMIhAhHAJwTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69J";
	var_s = var_s + "bwMLbSgMIKFABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoi";
	var_s = var_s + "C8X4QnAOQ8B4dp6BONQoBoTBnEOKZIkoMYQi2JZECIb4mDYNoEgoIQ8k2PIIDEGBAEuO4UmcF5xHufgqiACAGAKAJfmKdJogGWRAACbYCk0KA0mCA5OFgRgSgSYRIDyY";
	var_s = var_s + "AymGCAsm0QhNAgdJmgeX5DgiYYImISIWCaCBhCMUgqEITJIjSZ4Lk4OJGDKDJjEiVgvDmYpTDILILGAc4gmSD5kAkBhChCY5YmYOwzA6GQmBSEpkkgShJDoZBkA4OQ6i";
	var_s = var_s + "USB+FaFZlgkZJmhUDopEQAIOE6OYGDeGJmEmFg3hgTo5HoYIYGOWY2G6G9cCIaoLE6SZWE+HZngmZhPh1YJMkyBolkoBoCiCZbBn4O4ogmIoKiKaJJiKCA7ieY4+hKHw";
	var_s = var_s + "pEoVoW3MI4+H4PApkgaoeieagIGqHF3jocoPimaoKiaD4omeY5Gi6JhrAqRoyiYapjkYfg8iuCoOjqLprkqDo4DzcROkKLRsEsFpG4+I5OH4PQskqfpOjObQKn6TA9XE";
	var_s = var_s + "VpWjIbYLGaWoyG0Y5WlWNYtDuBpijibQ7HYfg9i6Cx2mqOpuksdpoD3cRenKO5vEuVp26wI5eH4PgvkuZp+j+cALmafA+XEZwGkCcIMCcCpAnAY5mH4PoxAwNwSkScRM";
	var_s = var_s + "DcEA+jCfBfBqRpxkwdwYgsZBzm8IpInITIXCaSdxHMKpKnKTI3C6S4lmgNJSkCT5slcNpNnODJnAMNZzkQJpvDYdAMDUTpQnQRQ7A2UANhuPRKFKZJ4iiVIOHUDRGDmU";
	var_s = var_s + "4higJJrGuQAEAQgI";
	exg2antt1.VisualAppearance().Add(1,COMVariant::createFromStr(var_s));
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(192/*exDateTickerLabelBack*/,0x1000000);
	exg2antt1.Background(193/*exDateTickerLabelFore*/,WinApi::RGB2int(10,10,10));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel(" <%mmm%> <%d%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2271
How can I change the visual appearance for the date-label (solid colors)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ScrollBars(2050/*exVScrollEmptySpace | exVertical*/);
	exg2antt1.Background(192/*exDateTickerLabelBack*/,WinApi::RGB2int(1,0,0));
	exg2antt1.Background(193/*exDateTickerLabelFore*/,WinApi::RGB2int(255,255,255));
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,96);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.LevelCount(2);
		com_Chart.DrawDateTicker(true);
		com_Chart.DateTickerLabel("<%mmm%> <%d%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/28/2005",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/23/2005",213)),COMVariant::createFromDate(str2Date("7/3/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,96);
}
*/
2270
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
void onEvent_AnchorClick(str   _AnchorID,str   _Options)
{
	;
	print( _AnchorID );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.TreeColumnIndex(-1);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	exg2antt1.ShowFocusRect(false);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("before item");
		var_s = "<solidline> <c><b>Bank Account 1</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4A";
		var_s = var_s + "jMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAE";
		var_s = var_s + "BA==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DA";
		var_s = var_s + "BvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>&#";
		var_s = var_s + "9650;</a><br>+ withdraw(amount: Currency)";
		h = com_Items.AddItem(COMVariant::createFromStr(var_s));
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),false);
		var_s1 = "<solidline> <c><b>Bank Account 2</b><br> <c><fgcolor 808080>properties</solidline><a 1;e64=gArAAgABvAB3ABuABlAByAA6gYAKYAOkNABph";
		var_s1 = var_s1 + "IAM8RHgAMMRGIAHcLAA2AA0AA9jQAIIAHEsABCAB6mEyO01ABznBwnBrlcvJU4Os4NkwlsClstjctIoAIYAJoAMYAKkXk8wqMIltRlEtNVQABHABoAFNsRPABVABWo1X";
		var_s1 = var_s1 + "pMHAE+l88otTONWslasoAosbGFwjFqoton1owN7jZRAE3jdTI1jnIAJeQnxJyFqxWHtUKqdTr9/jcKv9fNtgj8bwUFuFbABOAFonlNM1xsGun0+0tFpt3h1TitfxWlt9";
		var_s1 = var_s1 + "ft41toyyM6nRIqQAMUZnxkAF3kJMjMhxUVtkT4FtpsylsqlQ+AEdh3kEwAEYAHMlAHGv8jjovjwA8kd5/n8uRg1FjDpP8jKGPIgSCOej6io+ziSIgginqGhyHIZBY8oi";
		var_s1 = var_s1 + "lSCL++b+L4q0AKshUBgBESAgA==><r>▼</a></fgcolor><br><c><fgcolor 808080>methods</fgcolor><r><a 2;e64=gArAAgABkABlABwABvABzABp";
		var_s1 = var_s1 + "AB0AAoABhABthYAOoAN0RAA6gYAIcaAByksHjgAMYAPIAFIAHkVkIyAA7lA2AA0AA9ABnABBAA4n4AIQANVDoECoBFkQAJoAO9Dp9CIlDop2q0NABojNAJ4AKNDplAoB";
		var_s1 = var_s1 + "IpAAI4AphXo1qmVHp9pJ1dp10r8+oFzphSut4AFfldmsgArFLABKrcqt1cGFgxONKk9AGNkcYNYAON1p5GABsABVklcy54h91yMQhxYttzkdHy84plRwxZodmJNDtIxu";
		var_s1 = var_s1 + "tH2g3zufrUdy9RrlCF8p0Ejz2XGuS2ViolDnk8H0wk/VEwAEYAHIAnHNxs2mPHi3VmJi64AgUEqMQiVcg0mi1RikWjEMjcdiUggkjjaTJMhCOpWlqXgAACAg><fgcolo";
		var_s1 = var_s1 + "r 808080>▼</fgcolor></a>";
		h = com_Items.AddItem(COMVariant::createFromStr(var_s1));
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),false);
		com_Items.AddItem("after item");
	exg2antt1.EndUpdate();
}
2269
Expandable-caption

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.TreeColumnIndex(-1);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	exg2antt1.ShowFocusRect(false);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("before item");
		h = com_Items.AddItem("<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3");
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),false);
		com_Items.AddItem("after item");
	exg2antt1.EndUpdate();
}
2268
Can I change the pattern for a specific bar only
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.StartColor(WinApi::RGB2int(255,255,255));
			com_Bar.EndColor(com_Bar.Color());
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		h = com_Items.AddItem("W/h Pattern");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.ItemBar(h,"",42/*exBarPattern*/,COMVariant::createFromInt(6));
		com_Items.AddBar(com_Items.AddItem("Original"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2267
Force hover-all feature
public void init()
{
	;

	super();

	exg2antt1.Background(500/*exScrollHoverAll*/,-1);
}
2266
Disable hover-all feature (Windows 11 or greater)
public void init()
{
	;

	super();

	exg2antt1.Background(500/*exScrollHoverAll*/,WinApi::RGB2int(1,0,0));
}
2265
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

public void init()
{
	COM com_Appearance,com_Bar,com_Chart,com_Items;
	anytype var_Appearance,var_Bar,var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABJYCg6AADACAxRDgMQBQKAAzQFAYZhmGSGAAGIZhXgmFgAQhFcZQSKUOQTDKMIRfeQwAiNf4hQKBMIjKKAShaHCVIDlSThYAKCQxDZNUCQXD";
		var_s = var_s + "cdRRDaBR7hGgoaj6JolSRFUgSABEEigNIxToOU4jFgeCR2C7AZBEbTENBtBIUKDsKA4IBiFxAVjQFpSNZlWzdN64LhuK47UrWbYiXZeN5XXblaTxPrAMBwKzrLwPBqHX";
		var_s = var_s + "rfeIYXhlDzVC7GchxTCsSxXCaPY7lWZZPRGN49ODMNBibL9EwSA6laToWpRVpGSYpVrGdT2KgNQxbL61YLse5ZTrGF5vXrONz4LBeAwHP7FXLwfJaVxFeaPZq7eT6LRf";
		var_s = var_s + "EKa5PmgdJ7DuLotkeL5Am0eA4F2ToOHeK5hnOco8HIfQ/GOUZumWeY9h2fx/lOJ5Im8bY+j+LpWnecYxH6YAHgWMB/hgeAGAYe4aheSZ5gGYJICGG4BByaA2BIfRgjYR";
		var_s = var_s + "gTgWihaAobhhggdgBG+IY1nYHoImCRgaBAeQiEiJgHHGIgVnoKoLmEOBFmUchjAiVgYF4XZoloOoImKaJNGyDpkAiJZdggZAZBYLxphmWQaEqDRYmkLhOhEZJZD4UoMF";
		var_s = var_s + "SGJ6FOFZhheEhDhYJZHGYW4PGWWYFlSDQjmkbhi0WBZaCcepmgmBgygsJtLHCCYnBkBh0hkWAJlYMIICeBgKHqBxhimdh3h+ZYWEoa4MigR4hh6IZnhoJheGuIpYD6Dh";
		var_s = var_s + "umAOhFh+JJaCedoWgIaYGg2RYjCgahNnGIIbgmaZqigKI5jmaoVGqOIiEuKxjnobZjhGKwJCKNRoCSSpejaLorggeo8i8a51koVIwFaeoijOIRsEsApJhgIArC4ZIzia";
		var_s = var_s + "Kg+lCM5tDsRoUjUXRqkqWIrhuSxulmKQtmkIYsjgY4LGqZIum4e4UAAOpRBQJQBICA==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 1 1 11 -2");
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Milestone"); com_Bar = var_Bar;
			com_Bar.Height(24);
			com_Bar.Color(0x2000000);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Milestone",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2264
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

public void init()
{
	COM com_Appearance,com_Bar,com_Chart,com_Items;
	anytype var_Appearance,var_Bar,var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABXYCg6AADACAxRDgMQBQKAAzQFAYZhmGSGAAGIZhXgmFgAQhFcZQSKUOQTDKMIRfeQwAiNf4hQKBMIjKKAShaHCVIDlSThYAKCQxDZNUCDND";
		var_s = var_s + "YAR1FCeQACCCaDgOII/SZJMiRNIEQARBIoDRMM5DVLIZYHQjCcBkERtNQvHiBRQoSw6GAAGIaRDQMZSNZlWxMfx9XyeBoVeapFhbO4mZavEyCeTgfS3MBwLA3XZxTTxK";
		var_s = var_s + "IaD6KASbepEKh6VDNF52bYrA6XWy/T6PW7GDLmUY1H5UQpnfR4Uj/JyUT7KIS7bpMNTOWYfZ7XcxibKaZw2LDvIoxWL6UosH7UEpXfR/RLGcIVL7KKTLbpQNp8GwYXJW";
		var_s = var_s + "AMBJ+mubB3gaV5qhyNp/FIFhfmoLgPg+RZkmCeA7gWN46iSXJ4G2Mh6m+ax7nGdJ4G6MxegoXpaiSPJ/CmRZTnyJR3iAOAKASAZgGOfImBcD5iigXx7B6ZhVHAPhPHMW";
		var_s = var_s + "JDD0CohkSfQrEYE58ioGAPnKJBfggYg4goJIJmIaImCOA8gjQYg9kqMZAngNQMAOSIrByT5CmAcA/ksMYon8K4GEOfIsBjLQuESEYkFkHhKhIZJJCCLQYk+YpEGZNhBk";
		var_s = var_s + "SbgrkeM7viIT5zBCAA/kucZsn8LxHHOfI4BwT5ylQbU9kGLJ/CyBoJj4cYcCcKZUjYGwPkMDDlkqcZhgUMwPBKaIID8DQSReMoIVYRQgmiIgIn8MJlnMCB+VKaYUjpOx";
		var_s = var_s + "ylgboaEbQQ3BuD5TBgfg8kuAgMncbobgOYJjDWTwCmCB1oGIVJ/DQCQDnyTAjCsYgujkP5MjqaJKhcDIaCSRwg3eMIGDyCxyAieA3k0FxRG8dgOCMVJxC8CJTnCVwmg+";
		var_s = var_s + "cxchgP5NCIUpcjeLZbHyfw1gkexYhteZSDjkQNAeSYDGyT5LCyUQ8EvL58DeSkrFwJ+ZmSG4/G+cxsh0PxNkKDJ0C+CQGkWOBthadpQniNBtDIMJ8DiSlWGMKYPnOCIm";
		var_s = var_s + "D8TgiiidI6GyO41huQwdGcYorj1g5smIKZPkOBweC+SQjmCYA0i6bIRjYbgYFMNJvC0CBLCCCA9k2Iwik6SQOjWJQDEAQCAg";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		com_Appearance.Add(2,"CP:1 -6 0 20 0");
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Milestone"); com_Bar = var_Bar;
			com_Bar.Height(28);
			com_Bar.Color(0x2000000);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Milestone",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2263
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Milestone"); com_Bar = var_Bar;
		com_Bar.Height(28);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Milestone",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2262
Display the bar's tooltip at runtime

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"...");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2261
Includes the cell's state and user-data to bar's tooltip

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	COM::createFromVariant(exg2antt1.Columns().Add("Def")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<%=%C0%><br>Start: <%=%1%><br>End: <%=%2%><br>State: <b><%=%CS0%></b><br>UserData: <b><%=%CD0%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Machine 1");
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.CellData(h,COMVariant::createFromInt(0),"just some data");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		h = com_Items.AddItem("Machine 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"B","B");
		com_Items.CellData(h,COMVariant::createFromInt(0),"just nother data");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2260
Shows the tooltip of the object moved relative to its default position

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("<null>","<null>",,"+8","+8");
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2259
Adds, changes or replaces the title of the object's tooltip

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("<null>",exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2258
Adds, changes or replaces the object's tooltip

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2257
Shows a new tooltip and title at current position

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("new content","new title");
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2256
Shows a new tooltip and title moved relative to the current position

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("new content","new title",,"+8","+8");
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2255
Displays a different tooltip at a fixed position
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("new content","",,COMVariant::createFromInt(128),COMVariant::createFromInt(128));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2254
Hide the tooltip

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	exg2antt1.ShowToolTip("","");
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2253
I need 2 bars that are linked together and cannot be moved/splitted alone (moving one should move the two bars, like a « Group » of bars). How can I achieve that

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem();
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/5/2001 12:00:00",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"T1");
		com_Items.ItemBar(h1,"",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/4/2001 12:00:00",213)),"T2");
		com_Items.ItemBar(h1,"T2",33/*exBarColor*/,COMVariant::createFromInt(255));
		com_Items.GroupBars(h1,"T1",true,h1,"T2",true,COMVariant::createFromInt(27),COMVariant::createFromInt(0));
		com_Items.AddItem();
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2252
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 )
// ToolTip event - Fired when the control prepares the object's tooltip.
void onEvent_ToolTip(int   _Item,int   _ColIndex,COMVariant /*bool*/   _Visible,COMVariant /*long*/   _X,COMVariant /*long*/   _Y,int   _CX,int   _CY)
{
	;
	exg2antt1.ShowToolTip(exg2antt1.Chart().BarFromPoint(-1,-1));
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Def");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(6/*exBarToolTip*/,"...");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2010",213)),COMVariant::createFromDate(str2Date("1/5/2010",213)),"A","A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),"B","B");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/11/2010",213)),"C","C");
		com_Items.GroupBars(h,"A",false,h,"B",true,COMVariant::createFromInt(39));
		com_Items.GroupBars(h,"B",false,h,"C",true,COMVariant::createFromInt(39));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2251
I'd like to move itembars from one item to another, using .Chart.Bars("Task").Def(exBarCanMoveToAnother) = True this works for any new bar. The question is how can I specify this feature for bars already created

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.DrawGridLines(-2/*exRowLines*/);
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/);
			com_Bar.Def(3/*exBarCaption*/,"only horizontal");
			com_Bar.Def(59/*exBarCaptionVOffset*/,COMVariant::createFromInt(18));
			com_Bar.Def(28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A");
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"B");
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"C");
		com_Items.ItemBar(0,"<*>",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(false));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2250
I'd like to move itembars from one item to another, using .Chart.Bars("Task").Def(exBarCanMoveToAnother) = True this works for any new bar. The question is can I disable this for particular item-bars

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.DrawGridLines(-2/*exRowLines*/);
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/);
			com_Bar.Def(3/*exBarCaption*/,"anywhere");
			com_Bar.Def(59/*exBarCaptionVOffset*/,COMVariant::createFromInt(18));
			com_Bar.Def(28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A");
		h = com_Items.AddItem("Item 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"B","only horiontal");
		com_Items.ItemBar(h,"B",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(false));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"C");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2249
I need the top row to display months, while the second to show units in weeks, but can 10 by 10 days days. Is it possible

public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.DrawGridLines(2/*exVLines*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.UnitWidth(30);
		com_Chart.LevelCount(2);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.Unit(16/*exMonth*/);
		var_Level = com_Chart.Level(1); com_Level = var_Level;
			com_Level.Unit(4096/*exDay*/);
			com_Level.Count(10);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2248
Limit the chart's margins when using the CopyTo method

public void init()
{
	COM com_Chart,com_Chart1,com_Column,com_Column1,com_Columns,com_Editor,com_Items;
	COMVariant var_CopyTo;
	anytype var_Chart,var_Chart1,var_Column,var_Column1,var_Columns,var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Tasks");
		var_Column = COM::createFromVariant(com_Columns.Add("Start")); com_Column = var_Column;
			com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1));
			var_Editor = COM::createFromObject(com_Column.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
		var_Column1 = COM::createFromVariant(com_Columns.Add("End")); com_Column1 = var_Column1;
			com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(2));
			var_Editor = COM::createFromObject(com_Column1.Editor()); com_Editor = var_Editor;
			com_Editor.EditType(4/*SpinType*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,196);
		com_Chart.LevelCount(2);
		com_Chart.ShowEmptyBars(1);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2009",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2009",213)),COMVariant::createFromDate(str2Date("1/7/2009",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2009",213)),COMVariant::createFromDate(str2Date("1/9/2009",213)));
	var_Chart1 = exg2antt1.Chart(); com_Chart1 = var_Chart1;
		com_Chart1.StartPrintDate(COMVariant::createFromDate(str2Date("1/4/2009",213)));
		com_Chart1.EndPrintDate(COMVariant::createFromDate(str2Date("1/5/2009",213)));
	var_CopyTo = exg2antt1.CopyTo("c:/temp/xtest.pdf");
	print( "Look for C:\\Temp\\xtest.pdf file." );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,196);
}
*/
2247
I want to always keep the bottom item stationary. It can always display even when scrolling vertically. The bar placed at the bottom item is must be movable to other items

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	str color;
	;

	super();

	color = 15790320;
	exg2antt1.BeginUpdate();
	exg2antt1.Debug(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.ShowLockedItems(true);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2015",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Def(28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.LockedItemCount(0/*exTop*/,3);
		h = com_Items.LockedItem(0/*exTop*/,0);
		com_Items.ItemBackColor(h,color);
		exg2antt1.Chart().ItemBackColor(h,color);
		com_Items.CellValue(h,COMVariant::createFromInt(0),"locked-top 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2016",213)),COMVariant::createFromDate(str2Date("1/8/2016",213)),"T1");
		h = com_Items.LockedItem(0/*exTop*/,1);
		com_Items.ItemBackColor(h,color);
		exg2antt1.Chart().ItemBackColor(h,color);
		com_Items.CellValue(h,COMVariant::createFromInt(0),"locked-top 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2016",213)),COMVariant::createFromDate(str2Date("1/9/2016",213)),"T2");
		h = com_Items.LockedItem(0/*exTop*/,2);
		com_Items.SelectItem(h,false);
		com_Items.ItemDivider(h,0);
		com_Items.ItemHeight(h,2);
		com_Items.AddBar(com_Items.AddItem("un-locked item 1"),"Task",COMVariant::createFromDate(str2Date("1/4/2016",213)),COMVariant::createFromDate(str2Date("1/8/2016",213)),"T3");
		com_Items.AddBar(com_Items.AddItem("un-locked item 2"),"Task",COMVariant::createFromDate(str2Date("1/5/2016",213)),COMVariant::createFromDate(str2Date("1/9/2016",213)),"T4");
		com_Items.LockedItemCount(1/*exMiddle*/,3);
		h = com_Items.LockedItem(1/*exMiddle*/,0);
		com_Items.SelectItem(h,false);
		com_Items.ItemDivider(h,0);
		com_Items.ItemHeight(h,2);
		h = com_Items.LockedItem(1/*exMiddle*/,1);
		com_Items.ItemBackColor(h,color);
		exg2antt1.Chart().ItemBackColor(h,color);
		com_Items.CellValue(h,COMVariant::createFromInt(0),"locked-bottom 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2016",213)),COMVariant::createFromDate(str2Date("1/8/2016",213)),"T5");
		h = com_Items.LockedItem(1/*exMiddle*/,2);
		com_Items.ItemBackColor(h,color);
		exg2antt1.Chart().ItemBackColor(h,color);
		com_Items.CellValue(h,COMVariant::createFromInt(0),"locked-bottom 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2016",213)),COMVariant::createFromDate(str2Date("1/9/2016",213)),"T6");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2246
How can I get a cell that shows the sum of a column of minutes in hours + minutes format

public void init()
{
	COM com_Column,com_Editor,com_Items;
	anytype var_Column,var_Editor,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Minutes")); com_Column = var_Column;
		com_Column.SortType(1/*SortNumeric*/);
		var_Editor = com_Column.Editor(); com_Editor = var_Editor;
			com_Editor.EditType(1/*EditType*/);
			com_Editor.Numeric(-1/*exInteger*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(10));
		com_Items.AddItem(COMVariant::createFromInt(20));
		com_Items.AddItem(COMVariant::createFromInt(30));
		com_Items.AddItem(COMVariant::createFromInt(40));
		com_Items.AddItem(COMVariant::createFromInt(50));
		h = com_Items.AddItem("sum(all,dir,dbl(%0))");
		com_Items.SelectableItem(h,false);
		com_Items.SortableItem(h,false);
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),5/*exTotalField | exHTML*/);
		com_Items.CellHAlignment(h,COMVariant::createFromInt(0),2/*RightAlignment*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"'<b>HH:NN</b>: '+ (int(value/60) lpad '00') + ':' + ((value mod 60) lpad '00')");
	exg2antt1.EndUpdate();
}
2245
Ensure that a bar fits the chart's visible area (unique keys)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("3/26/2023",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	exg2antt1.Columns().Add("Tasks");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task A"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"T1");
		com_Items.AddBar(com_Items.AddItem("Task B"),"Task",COMVariant::createFromDate(str2Date("1/20/2001",213)),COMVariant::createFromDate(str2Date("1/31/2001",213)),"T2");
		com_Items.EnsureVisibleBar(0,"T1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2244
Ensure that a bar fits the chart's visible area

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("3/26/2023",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	exg2antt1.Columns().Add("Tasks");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task A");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"T1");
		h2 = com_Items.AddItem("Task B");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/20/2001",213)),COMVariant::createFromDate(str2Date("1/31/2001",213)),"T2");
		com_Items.EnsureVisibleBar(h1,"T1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2243
Is it possible to change the visual appearance for the frame to create newly bar by drag and drop

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Background(188/*exChartCreateBar*/,0x1000000);
	exg2antt1.Background(189/*exCreateBarHeight*/,WinApi::RGB2int(15,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Color(0x1000000);
			com_Bar.Height(15);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2242
Highlight the match once the filter is applied

// FilterChange event - Occurs when the filter was changed.
void onEvent_FilterChange()
{
	COM com_Column;
	COMVariant format;
	anytype var_Column;
	;
	format = exg2antt1.FormatABC("`lower(value) replace lower('` + value + `') with '<bgcolor 000000><fgcolor FFFFFF>` + value  + `</fgcolor></bgcolor>'`",COMVariant::createFromStr(exg2antt1.FilterBarPromptPattern()));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.FormatColumn(format);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(1)); com_Column = var_Column;
	com_Column.FormatColumn(format);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
	com_Column.FormatColumn(format);
}

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	COMVariant format;
	anytype var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	int h0;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SelBackColor(exg2antt1.BackColor());
	exg2antt1.SelForeColor(exg2antt1.ForeColor());
	exg2antt1.ColumnAutoResize(true);
	exg2antt1.ContinueColumnScroll(0);
	exg2antt1.MarkSearchColumn(false);
	exg2antt1.SearchColumnIndex(1);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(23);
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.FilterBarCaption("`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
	exg2antt1.FilterBarPromptVisible(2055/*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	exg2antt1.FilterBarBackColor(exg2antt1.BackColor());
	exg2antt1.FilterBarPromptPattern("and");
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Name")); com_Column = var_Column;
			com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
			com_Column.FormatColumn("lower(value)");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Title")); com_Column1 = var_Column1;
			com_Column1.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
			com_Column1.FormatColumn("lower(value)");
		var_Column2 = COM::createFromVariant(com_Columns.Add("City")); com_Column2 = var_Column2;
			com_Column2.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
			com_Column2.FormatColumn("lower(value)");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h0 = com_Items.AddItem("Nancy Davolio");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.AddItem("Andrew Fuller");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Vice President, Sales");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"Tacoma");
		com_Items.SelectItem(h0,1);
		h0 = com_Items.AddItem("Janet Leverling");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"Kirkland");
		h0 = com_Items.AddItem("Margaret Peacock");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"Redmond");
		h0 = com_Items.AddItem("Steven Buchanan");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Manager");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Michael Suyama");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Robert King");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"London");
		h0 = com_Items.AddItem("Laura Callahan");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Inside Sales Coordinator");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"Seattle");
		h0 = com_Items.AddItem("Anne Dodsworth");
		com_Items.CellValue(h0,COMVariant::createFromInt(1),"Sales Representative");
		com_Items.CellValue(h0,COMVariant::createFromInt(2),"London");
	exg2antt1.EndUpdate();
}
2241
The count of filtered items includes the group-parents. How can I exclude them from count

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DrawGridLines(2/*exVLines*/);
	exg2antt1.HeaderAppearance(1/*Flat*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.SortBarHeight(28);
	exg2antt1.SortBarVisible(true);
	exg2antt1.AllowGroupBy(true);
	exg2antt1.Columns().Add("Col 1");
	exg2antt1.Columns().Add("Col 2");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem("219 Smith"),COMVariant::createFromInt(1),"Ignacio 1234");
		com_Items.CellValue(com_Items.AddItem("1666 County Road 309A"),COMVariant::createFromInt(1),"897 Manassa");
		com_Items.CellValue(com_Items.AddItem("38 Lone Pine"),COMVariant::createFromInt(1),"Durango 11");
		com_Items.CellValue(com_Items.AddItem("612 Jachim Street"),COMVariant::createFromInt(1),"Lamar 222");
	exg2antt1.Layout("MultipleSort=\"C1:1\"");
	exg2antt1.FilterBarCaption("`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? leafitemcount + ` result(s)` : ``)");
	exg2antt1.FilterBarPromptVisible(2055/*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	exg2antt1.FilterBarPromptType(257/*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/);
	exg2antt1.FilterBarPromptPattern("12");
	exg2antt1.FilterBarBackColor(exg2antt1.BackColor());
	exg2antt1.EndUpdate();
}
2240
Is it possible to display the count of filtered items

public void init()
{
	COM com_Items;
	anytype var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DrawGridLines(2/*exVLines*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	exg2antt1.Columns().Add("Col 1");
	exg2antt1.Columns().Add("Col 2");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem("219 Smith"),COMVariant::createFromInt(1),"Ignacio 1234");
		com_Items.CellValue(com_Items.AddItem("1666 County Road 309A"),COMVariant::createFromInt(1),"897 Manassa");
		com_Items.CellValue(com_Items.AddItem("38 Lone Pine"),COMVariant::createFromInt(1),"Durango 11");
		com_Items.CellValue(com_Items.AddItem("612 Jachim Street"),COMVariant::createFromInt(1),"Lamar 222");
	exg2antt1.FilterBarCaption("`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)");
	exg2antt1.FilterBarPromptVisible(2055/*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/);
	exg2antt1.FilterBarPromptType(257/*exFilterPromptCaseSensitive | exFilterPromptContainsAll*/);
	exg2antt1.FilterBarPromptPattern("12");
	exg2antt1.FilterBarBackColor(exg2antt1.BackColor());
	exg2antt1.EndUpdate();
}
2239
ADOR, MDB (JET)
// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(_Item,"Task",com_Items.CellValue(_Item,COMVariant::createFromInt(2)),com_Items.CellValue(_Item,COMVariant::createFromInt(4)));
}

public void init()
{
	COM com_Chart,com_Column,com_Items,com_rs;
	anytype rs,var_Chart,var_Column,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.mdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	exg2antt1.DataSource(rs);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/4/1994",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,256);
	exg2antt1.Items().AllowCellValueToItemBar(true);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
	com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(4)); com_Column = var_Column;
	com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,256);
}
*/
2238
exOverlaidBarsOffset + exOverlaidBarTransparent + exBarCanMoveToAnother
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(22);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-2/*exRowLines*/);
		com_Chart.GridLineStyle(512/*exGridLinesGeometric*/);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(257/*exOverlaidBarsTransparent | exOverlaidBarsOffset*/);
			com_Bar.Overlaid(256/*exOverlaidBarsTransparent*/,COMVariant::createFromInt(70));
			com_Bar.Def(28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
	exg2antt1.ItemsAllowSizing(-1/*exResizeItem*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.SelectableItem(com_Items.AddItem(),false);
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		com_Items.ItemHeight(h,64);
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"A4");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"A5");
		com_Items.SelectableItem(com_Items.AddItem(),false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2237
Editors (ImageSize = 32)

public void init()
{
	COM com_Appearance,com_ComboBox,com_Editor,com_Editor1,com_Editor10,com_Editor11,com_Editor12,com_Editor13,com_Editor2,com_Editor3,com_Editor4,com_Editor5,com_Editor6,com_Editor7,com_Editor8,com_Editor9,com_Items,com_rs;
	anytype rs,var_Appearance,var_ComboBox,var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor13,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9,var_Items;
	int h;
	str var_s,var_s1,var_s2,var_s3,var_s4,var_s5;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ImageSize(32);
	exg2antt1.DefaultItemHeight(36);
	exg2antt1.HeaderHeight(exg2antt1.DefaultItemHeight());
	exg2antt1.SortBarHeight(exg2antt1.DefaultItemHeight());
	exg2antt1.Font().Size(16);
	exg2antt1.FilterBarFont().Size(exg2antt1.Font().Size());
	exg2antt1.ToolTipFont().Size(exg2antt1.Font().Size());
	exg2antt1.Indent(26);
	var_s = "gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqN";
	var_s = var_s + "UqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwy";
	var_s = var_s + "V21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CM";
	var_s = var_s + "Po9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9F";
	var_s = var_s + "EKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y";
	var_s = var_s + "7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkF";
	var_s = var_s + "gTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtN";
	var_s = var_s + "hCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xio";
	var_s = var_s + "W5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4";
	var_s = var_s + "VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6";
	var_s = var_s + "/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVD";
	var_s = var_s + "NKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJyT";
	var_s = var_s + "8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlff";
	var_s = var_s + "EkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6";
	var_s = var_s + "I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8Rg";
	var_s = var_s + "H5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWR";
	var_s = var_s + "JNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s1 = var_s1 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s1 = var_s1 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR";
		var_s1 = var_s1 + "DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF";
		var_s1 = var_s1 + "oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk";
		var_s1 = var_s1 + "mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo";
		var_s1 = var_s1 + "chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0";
		var_s1 = var_s1 + "ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8";
		var_s1 = var_s1 + "CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U";
		var_s1 = var_s1 + "gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s2 = var_s2 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s2 = var_s2 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s2 = var_s2 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnSc";
		var_s2 = var_s2 + "g1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpA";
		var_s2 = var_s2 + "oPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDR";
		var_s2 = var_s2 + "DFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lG";
		var_s2 = var_s2 + "NAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBg";
		var_s2 = var_s2 + "k0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuX";
		var_s2 = var_s2 + "pMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2Cy";
		var_s2 = var_s2 + "A4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8Rp";
		var_s2 = var_s2 + "BzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8T";
		var_s2 = var_s2 + "I7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeH";
		var_s2 = var_s2 + "GFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuh";
		var_s2 = var_s2 + "oiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMs";
		var_s2 = var_s2 + "CwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4ga";
		var_s2 = var_s2 + "BEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgs";
		var_s2 = var_s2 + "wOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtY";
		var_s2 = var_s2 + "QGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBh";
		var_s2 = var_s2 + "YDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0Mg";
		var_s2 = var_s2 + "RBCCQAgQEA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s2));
		var_s3 = "gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s3 = var_s3 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s3 = var_s3 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s3 = var_s3 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSe";
		var_s3 = var_s3 + "Q7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjn";
		var_s3 = var_s3 + "OIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ";
		var_s3 = var_s3 + "9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGS";
		var_s3 = var_s3 + "UwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4y";
		var_s3 = var_s3 + "mkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkX";
		var_s3 = var_s3 + "I/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6";
		var_s3 = var_s3 + "BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRA";
		var_s3 = var_s3 + "jDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBEB";
		var_s3 = var_s3 + "wpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQH";
		var_s3 = var_s3 + "oFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRh";
		var_s3 = var_s3 + "cDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQ";
		var_s3 = var_s3 + "AA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjV";
		var_s3 = var_s3 + "HiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4z";
		var_s3 = var_s3 + "xW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH";
		var_s3 = var_s3 + "0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s3));
		var_s4 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s4 = var_s4 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s4 = var_s4 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s4 = var_s4 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s4 = var_s4 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s4 = var_s4 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s4 = var_s4 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s4 = var_s4 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s4 = var_s4 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s4));
	exg2antt1.BackColorHeader(0x4c6c6c6);
	exg2antt1.SelBackColor(0x4000000);
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,1));
	exg2antt1.ShowFocusRect(false);
	exg2antt1.CheckImage(0/*Unchecked*/,16777216);
	exg2antt1.CheckImage(1/*Checked*/,33554432);
	exg2antt1.CheckImage(2/*PartialChecked*/,50331648);
	COM::createFromVariant(exg2antt1.Columns().Add("Editors")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		var_Editor = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(ReadOnly)"),COMVariant::createFromInt(0))); com_Editor = var_Editor;
		com_Editor.EditType(0/*ReadOnly*/);
		var_Editor = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(EditType)"),COMVariant::createFromInt(0))); com_Editor = var_Editor;
		com_Editor.EditType(1/*EditType*/);
		h = com_Items.AddItem("Value 1");
		var_Editor = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor = var_Editor;
			com_Editor.EditType(2/*DropDownType*/);
			com_Editor.AddItem(1,"Value 1",COMVariant::createFromInt(1));
			com_Editor.AddItem(2,"Value 2",COMVariant::createFromInt(2));
			com_Editor.AddItem(3,"Value 3",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor1 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor1 = var_Editor1;
			com_Editor1.EditType(3/*DropDownListType*/);
			com_Editor1.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor1.AddItem(1,"Nancy Davolio",COMVariant::createFromInt(1));
			com_Editor1.AddItem(2,"Andrew Fuller",COMVariant::createFromInt(2));
			com_Editor1.AddItem(3,"Janet Leverling",COMVariant::createFromInt(3));
			com_Editor1.AddItem(4,"Peacock Margaret",COMVariant::createFromInt(3));
			com_Editor1.AddItem(5,"Steven Buchanan",COMVariant::createFromInt(2));
			com_Editor1.AddItem(6,"Michael Suyama",COMVariant::createFromInt(1));
			com_Editor1.AddItem(7,"Robert King",COMVariant::createFromInt(2));
			com_Editor1.AddItem(8,"Laura Callahan",COMVariant::createFromInt(3));
			com_Editor1.AddItem(9,"Anne Dodsworth",COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - single column list)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor2 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor2 = var_Editor2;
			com_Editor2.EditType(3/*DropDownListType*/);
			com_Editor2.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor2.AddItem(1,"Nancy Davolio",COMVariant::createFromInt(1));
			com_Editor2.AddItem(2,"Andrew Fuller",COMVariant::createFromInt(2));
			com_Editor2.InsertItem(3,"Janet Leverling",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(4,"Peacock Margaret",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(5,"Steven Buchanan",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(6,"Michael Suyama",COMVariant::createFromInt(1),COMVariant::createFromInt(5));
			com_Editor2.InsertItem(7,"Robert King",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(8,"Laura Callahan",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(9,"Anne Dodsworth",COMVariant::createFromInt(2),COMVariant::createFromInt(5));
			com_Editor2.ExpandAll();
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - single column tree)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor3 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor3 = var_Editor3;
			com_Editor3.EditType(3/*DropDownListType*/);
			com_Editor3.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor3.Option(57/*exDropDownColumnCaption*/,"Name¦Title¦City¦Phone");
			com_Editor3.Option(58/*exDropDownColumnWidth*/,"312¦¦¦96");
			com_Editor3.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",COMVariant::createFromInt(1));
			com_Editor3.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",COMVariant::createFromInt(2));
			com_Editor3.AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",COMVariant::createFromInt(3));
			com_Editor3.AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",COMVariant::createFromInt(3));
			com_Editor3.AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",COMVariant::createFromInt(2));
			com_Editor3.AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",COMVariant::createFromInt(1));
			com_Editor3.AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",COMVariant::createFromInt(2));
			com_Editor3.AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",COMVariant::createFromInt(3));
			com_Editor3.AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - multiple columns list)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor4 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor4 = var_Editor4;
			com_Editor4.EditType(3/*DropDownListType*/);
			com_Editor4.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor4.Option(57/*exDropDownColumnCaption*/,"Name¦Title¦City¦Phone");
			com_Editor4.Option(58/*exDropDownColumnWidth*/,"312¦¦¦96");
			com_Editor4.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",COMVariant::createFromInt(1));
			com_Editor4.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",COMVariant::createFromInt(2));
			com_Editor4.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",COMVariant::createFromInt(1),COMVariant::createFromInt(5));
			com_Editor4.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",COMVariant::createFromInt(2),COMVariant::createFromInt(5));
			com_Editor4.ExpandAll();
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - multiple columns tree)'");
		h = com_Items.AddItem(COMVariant::createFromInt(100));
		var_Editor5 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor5 = var_Editor5;
		com_Editor5.EditType(4/*SpinType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (SpinType)'");
		var_Editor5 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(MemoType)"),COMVariant::createFromInt(0))); com_Editor5 = var_Editor5;
		com_Editor5.EditType(5/*MemoType*/);
		h = com_Items.AddItem(COMVariant::createFromInt(3));
		var_Editor5 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor5 = var_Editor5;
			com_Editor5.EditType(6/*CheckListType*/);
			com_Editor5.AddItem(1,"Border",COMVariant::createFromInt(1));
			com_Editor5.AddItem(2,"Single",COMVariant::createFromInt(2));
			com_Editor5.AddItem(4,"Frame",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (CheckListType)'");
		h = com_Items.AddItem("193.226.40.161");
		var_Editor6 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor6 = var_Editor6;
			com_Editor6.Mask("{0,255}.{0,255}.{0,255}.{0,255}");
			com_Editor6.EditType(8/*MaskType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (MaskType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(65280));
		var_Editor7 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor7 = var_Editor7;
			com_Editor7.EditType(9/*ColorType*/);
			com_Editor7.Mask("`RGB(`{0,255}\\,{0,255}\\,{0,255}`)`;;0");
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ColorType)'");
		h = com_Items.AddItem("Tahoma");
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(10/*FontType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (FontType)'");
		var_s5 = "gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
		var_s5 = var_s5 + "Vq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamY";
		var_s5 = var_s5 + "yIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAw";
		var_s5 = var_s5 + "BUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG";
		var_s5 = var_s5 + "4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABG";
		var_s5 = var_s5 + "QZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCA";
		var_s5 = var_s5 + "AjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFA";
		var_s5 = var_s5 + "SoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJ";
		var_s5 = var_s5 + "DQNg/p4AAdoC";
		h = com_Items.AddItem(COMVariant::createFromStr(var_s5));
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(11/*PictureType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (PictureType)'");
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(ButtonType)"),COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(12/*ButtonType*/);
		h = com_Items.AddItem(COMVariant::createFromInt(25));
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(13/*ProgressBarType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ProgressBarType)'");
		h = com_Items.AddItem("Value 1");
		var_Editor8 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor8 = var_Editor8;
			com_Editor8.EditType(14/*PickEditType*/);
			com_Editor8.AddItem(1,"Value 1",COMVariant::createFromInt(1));
			com_Editor8.AddItem(2,"Value 2",COMVariant::createFromInt(2));
			com_Editor8.AddItem(3,"Value 3",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (PickEditType)'");
		var_Editor9 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(LinkEditType)"),COMVariant::createFromInt(0))); com_Editor9 = var_Editor9;
		com_Editor9.EditType(15/*LinkEditType*/);
		var_Editor9 = com_Items.CellEditor(com_Items.AddItem("(UserEditorType)"),COMVariant::createFromInt(0)); com_Editor9 = var_Editor9;
			com_Editor9.EditType(16/*UserEditorType*/);
			com_Editor9.UserEditor("Exontrol.ComboBox","");
			// Add 'ExComboBox 1.0 Control Library(ExComboBox.dll)' reference to your project.
			var_ComboBox = com_Editor9.UserEditorObject(); com_ComboBox = var_ComboBox;
				com_ComboBox.BeginUpdate();
				com_ComboBox.LabelHeight(exg2antt1.DefaultItemHeight());
				com_ComboBox.Style(2/*DropDownList*/);
				com_ComboBox.ColumnAutoResize(false);
				// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
				rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
					rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
				com_ComboBox.DataSource(rs);
				com_ComboBox.MinHeightList(128);
				com_ComboBox.SearchColumnIndex(0);
				com_ComboBox.UseTabKey(false);
				com_ComboBox.EndUpdate();
		h = com_Items.AddItem(COMVariant::createFromInt(255));
		var_Editor10 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor10 = var_Editor10;
			com_Editor10.EditType(17/*ColorListType*/);
			com_Editor10.Option(4/*exColorListShowName*/,COMVariant::createFromBoolean(true));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ColorListType)'");
		var_Editor11 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem(COMVariant::createFromInt(65280)),COMVariant::createFromInt(0))); com_Editor11 = var_Editor11;
		com_Editor11.EditType(17/*ColorListType*/);
		var_Editor11 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(MemoDropDownType)"),COMVariant::createFromInt(0))); com_Editor11 = var_Editor11;
		com_Editor11.EditType(18/*MemoDropDownType*/);
		var_Editor11 = com_Items.CellEditor(com_Items.AddItem(COMVariant::createFromInt(-1)),COMVariant::createFromInt(0)); com_Editor11 = var_Editor11;
			com_Editor11.EditType(19/*CheckValueType*/);
			com_Editor11.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1));
		h = com_Items.AddItem(COMVariant::createFromInt(50));
		var_Editor12 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor12 = var_Editor12;
			com_Editor12.EditType(20/*SliderType*/);
			com_Editor12.Option(41/*exSliderWidth*/,COMVariant::createFromInt(-60));
			com_Editor12.Option(53/*exSliderTickFrequency*/,COMVariant::createFromInt(10));
			com_Editor12.Option(63/*exSliderTickStyle*/,COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (SliderType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(100));
		var_Editor13 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor13 = var_Editor13;
		com_Editor13.EditType(21/*CalculatorType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (CalculatorType)'");
		com_Items.EnsureVisibleItem(h);
	exg2antt1.EndUpdate();
}
2236
Editors (ImageSize = 16, default)

public void init()
{
	COM com_Appearance,com_ComboBox,com_Editor,com_Editor1,com_Editor10,com_Editor11,com_Editor12,com_Editor13,com_Editor2,com_Editor3,com_Editor4,com_Editor5,com_Editor6,com_Editor7,com_Editor8,com_Editor9,com_Items,com_rs;
	anytype rs,var_Appearance,var_ComboBox,var_Editor,var_Editor1,var_Editor10,var_Editor11,var_Editor12,var_Editor13,var_Editor2,var_Editor3,var_Editor4,var_Editor5,var_Editor6,var_Editor7,var_Editor8,var_Editor9,var_Items;
	int h;
	str var_s,var_s1,var_s2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ImageSize(16);
	var_s = "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd";
	var_s = var_s + "SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt";
	var_s = var_s + "mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac";
	var_s = var_s + "vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG";
	var_s = var_s + "sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn";
	var_s = var_s + "wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s1 = var_s1 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s1 = var_s1 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s1 = var_s1 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s1 = var_s1 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s1 = var_s1 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s1 = var_s1 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s1 = var_s1 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s1 = var_s1 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
	COM::createFromVariant(exg2antt1.Columns().Add("Editors")).Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		var_Editor = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(ReadOnly)"),COMVariant::createFromInt(0))); com_Editor = var_Editor;
		com_Editor.EditType(0/*ReadOnly*/);
		var_Editor = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(EditType)"),COMVariant::createFromInt(0))); com_Editor = var_Editor;
		com_Editor.EditType(1/*EditType*/);
		h = com_Items.AddItem("Value 1");
		var_Editor = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor = var_Editor;
			com_Editor.EditType(2/*DropDownType*/);
			com_Editor.AddItem(1,"Value 1",COMVariant::createFromInt(1));
			com_Editor.AddItem(2,"Value 2",COMVariant::createFromInt(2));
			com_Editor.AddItem(3,"Value 3",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor1 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor1 = var_Editor1;
			com_Editor1.EditType(3/*DropDownListType*/);
			com_Editor1.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor1.AddItem(1,"Nancy Davolio",COMVariant::createFromInt(1));
			com_Editor1.AddItem(2,"Andrew Fuller",COMVariant::createFromInt(2));
			com_Editor1.AddItem(3,"Janet Leverling",COMVariant::createFromInt(3));
			com_Editor1.AddItem(4,"Peacock Margaret",COMVariant::createFromInt(3));
			com_Editor1.AddItem(5,"Steven Buchanan",COMVariant::createFromInt(2));
			com_Editor1.AddItem(6,"Michael Suyama",COMVariant::createFromInt(1));
			com_Editor1.AddItem(7,"Robert King",COMVariant::createFromInt(2));
			com_Editor1.AddItem(8,"Laura Callahan",COMVariant::createFromInt(3));
			com_Editor1.AddItem(9,"Anne Dodsworth",COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - single column list)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor2 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor2 = var_Editor2;
			com_Editor2.EditType(3/*DropDownListType*/);
			com_Editor2.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor2.AddItem(1,"Nancy Davolio",COMVariant::createFromInt(1));
			com_Editor2.AddItem(2,"Andrew Fuller",COMVariant::createFromInt(2));
			com_Editor2.InsertItem(3,"Janet Leverling",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(4,"Peacock Margaret",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(5,"Steven Buchanan",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(6,"Michael Suyama",COMVariant::createFromInt(1),COMVariant::createFromInt(5));
			com_Editor2.InsertItem(7,"Robert King",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(8,"Laura Callahan",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor2.InsertItem(9,"Anne Dodsworth",COMVariant::createFromInt(2),COMVariant::createFromInt(5));
			com_Editor2.ExpandAll();
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - single column tree)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor3 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor3 = var_Editor3;
			com_Editor3.EditType(3/*DropDownListType*/);
			com_Editor3.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor3.Option(57/*exDropDownColumnCaption*/,"Name¦Title¦City¦Phone");
			com_Editor3.Option(58/*exDropDownColumnWidth*/,"312¦¦¦96");
			com_Editor3.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",COMVariant::createFromInt(1));
			com_Editor3.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",COMVariant::createFromInt(2));
			com_Editor3.AddItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",COMVariant::createFromInt(3));
			com_Editor3.AddItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",COMVariant::createFromInt(3));
			com_Editor3.AddItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",COMVariant::createFromInt(2));
			com_Editor3.AddItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",COMVariant::createFromInt(1));
			com_Editor3.AddItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",COMVariant::createFromInt(2));
			com_Editor3.AddItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",COMVariant::createFromInt(3));
			com_Editor3.AddItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - multiple columns list)'");
		h = com_Items.AddItem(COMVariant::createFromInt(1));
		var_Editor4 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor4 = var_Editor4;
			com_Editor4.EditType(3/*DropDownListType*/);
			com_Editor4.DropDownAutoWidth(0/*exDropDownEditorWidth*/);
			com_Editor4.Option(57/*exDropDownColumnCaption*/,"Name¦Title¦City¦Phone");
			com_Editor4.Option(58/*exDropDownColumnWidth*/,"312¦¦¦96");
			com_Editor4.AddItem(1,"Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857",COMVariant::createFromInt(1));
			com_Editor4.AddItem(2,"Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482",COMVariant::createFromInt(2));
			com_Editor4.InsertItem(3,"Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(4,"Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(5,"Steven Buchanan¦Sales Manager¦London¦(71) 555-4848",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(6,"Michael Suyama¦Sales Representative¦London¦(71) 555-7773",COMVariant::createFromInt(1),COMVariant::createFromInt(5));
			com_Editor4.InsertItem(7,"Robert King¦Sales Representative¦Kirkland¦(71) 555-5598",COMVariant::createFromInt(2),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(8,"Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189",COMVariant::createFromInt(3),COMVariant::createFromInt(2));
			com_Editor4.InsertItem(9,"Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444",COMVariant::createFromInt(2),COMVariant::createFromInt(5));
			com_Editor4.ExpandAll();
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (DropDownList - multiple columns tree)'");
		h = com_Items.AddItem(COMVariant::createFromInt(100));
		var_Editor5 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor5 = var_Editor5;
		com_Editor5.EditType(4/*SpinType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (SpinType)'");
		var_Editor5 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(MemoType)"),COMVariant::createFromInt(0))); com_Editor5 = var_Editor5;
		com_Editor5.EditType(5/*MemoType*/);
		h = com_Items.AddItem(COMVariant::createFromInt(3));
		var_Editor5 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor5 = var_Editor5;
			com_Editor5.EditType(6/*CheckListType*/);
			com_Editor5.AddItem(1,"Border",COMVariant::createFromInt(1));
			com_Editor5.AddItem(2,"Single",COMVariant::createFromInt(2));
			com_Editor5.AddItem(4,"Frame",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (CheckListType)'");
		h = com_Items.AddItem("193.226.40.161");
		var_Editor6 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor6 = var_Editor6;
			com_Editor6.Mask("{0,255}.{0,255}.{0,255}.{0,255}");
			com_Editor6.EditType(8/*MaskType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (MaskType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(65280));
		var_Editor7 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor7 = var_Editor7;
			com_Editor7.EditType(9/*ColorType*/);
			com_Editor7.Mask("`RGB(`{0,255}\\,{0,255}\\,{0,255}`)`;;0");
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ColorType)'");
		h = com_Items.AddItem("Tahoma");
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(10/*FontType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (FontType)'");
		var_s2 = "gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
		var_s2 = var_s2 + "Vq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamY";
		var_s2 = var_s2 + "yIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAw";
		var_s2 = var_s2 + "BUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG";
		var_s2 = var_s2 + "4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABG";
		var_s2 = var_s2 + "QZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCA";
		var_s2 = var_s2 + "AjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFA";
		var_s2 = var_s2 + "SoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJ";
		var_s2 = var_s2 + "DQNg/p4AAdoC";
		h = com_Items.AddItem(COMVariant::createFromStr(var_s2));
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(11/*PictureType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (PictureType)'");
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(ButtonType)"),COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(12/*ButtonType*/);
		h = com_Items.AddItem(COMVariant::createFromInt(25));
		var_Editor8 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor8 = var_Editor8;
		com_Editor8.EditType(13/*ProgressBarType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ProgressBarType)'");
		h = com_Items.AddItem("Value 1");
		var_Editor8 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor8 = var_Editor8;
			com_Editor8.EditType(14/*PickEditType*/);
			com_Editor8.AddItem(1,"Value 1",COMVariant::createFromInt(1));
			com_Editor8.AddItem(2,"Value 2",COMVariant::createFromInt(2));
			com_Editor8.AddItem(3,"Value 3",COMVariant::createFromInt(3));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (PickEditType)'");
		var_Editor9 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(LinkEditType)"),COMVariant::createFromInt(0))); com_Editor9 = var_Editor9;
		com_Editor9.EditType(15/*LinkEditType*/);
		var_Editor9 = com_Items.CellEditor(com_Items.AddItem("(UserEditorType)"),COMVariant::createFromInt(0)); com_Editor9 = var_Editor9;
			com_Editor9.EditType(16/*UserEditorType*/);
			com_Editor9.UserEditor("Exontrol.ComboBox","");
			// Add 'ExComboBox 1.0 Control Library(ExComboBox.dll)' reference to your project.
			var_ComboBox = com_Editor9.UserEditorObject(); com_ComboBox = var_ComboBox;
				com_ComboBox.BeginUpdate();
				com_ComboBox.LabelHeight(exg2antt1.DefaultItemHeight());
				com_ComboBox.Style(2/*DropDownList*/);
				com_ComboBox.ColumnAutoResize(false);
				// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
				rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
					rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
				com_ComboBox.DataSource(rs);
				com_ComboBox.MinHeightList(128);
				com_ComboBox.SearchColumnIndex(0);
				com_ComboBox.UseTabKey(false);
				com_ComboBox.EndUpdate();
		h = com_Items.AddItem(COMVariant::createFromInt(255));
		var_Editor10 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor10 = var_Editor10;
			com_Editor10.EditType(17/*ColorListType*/);
			com_Editor10.Option(4/*exColorListShowName*/,COMVariant::createFromBoolean(true));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (ColorListType)'");
		var_Editor11 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem(COMVariant::createFromInt(65280)),COMVariant::createFromInt(0))); com_Editor11 = var_Editor11;
		com_Editor11.EditType(17/*ColorListType*/);
		var_Editor11 = COM::createFromObject(com_Items.CellEditor(com_Items.AddItem("(MemoDropDownType)"),COMVariant::createFromInt(0))); com_Editor11 = var_Editor11;
		com_Editor11.EditType(18/*MemoDropDownType*/);
		var_Editor11 = com_Items.CellEditor(com_Items.AddItem(COMVariant::createFromInt(-1)),COMVariant::createFromInt(0)); com_Editor11 = var_Editor11;
			com_Editor11.EditType(19/*CheckValueType*/);
			com_Editor11.Option(17/*exCheckValue2*/,COMVariant::createFromInt(1));
		h = com_Items.AddItem(COMVariant::createFromInt(50));
		var_Editor12 = com_Items.CellEditor(h,COMVariant::createFromInt(0)); com_Editor12 = var_Editor12;
			com_Editor12.EditType(20/*SliderType*/);
			com_Editor12.Option(41/*exSliderWidth*/,COMVariant::createFromInt(-60));
			com_Editor12.Option(53/*exSliderTickFrequency*/,COMVariant::createFromInt(10));
			com_Editor12.Option(63/*exSliderTickStyle*/,COMVariant::createFromInt(2));
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (SliderType)'");
		h = com_Items.AddItem(COMVariant::createFromInt(100));
		var_Editor13 = COM::createFromObject(com_Items.CellEditor(h,COMVariant::createFromInt(0))); com_Editor13 = var_Editor13;
		com_Editor13.EditType(21/*CalculatorType*/);
		com_Items.FormatCell(h,COMVariant::createFromInt(0),"value + ' (CalculatorType)'");
		com_Items.EnsureVisibleItem(h);
	exg2antt1.EndUpdate();
}
2235
Is it possible to limit the overlaid to two rows only

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.NonworkingDays(0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/17/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("10/6/2006",213)),"K1","K1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("10/5/2006",213)),COMVariant::createFromDate(str2Date("10/10/2006",213)),"K3","K2");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/27/2006",213)),"T1","T");
		com_Items.ItemBar(0,"<T*>",33/*exBarColor*/,COMVariant::createFromInt(65280));
		com_Items.ItemBar(0,"<K*>",52/*exBarOverlaidKey*/,"Level0");
		com_Items.ItemBar(0,"<T*>",52/*exBarOverlaidKey*/,"Level1");
		com_Items.ItemMaxHeight(h1,26);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
2234
Is it possible to sort the bars

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Column,com_Column1,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Column,var_Column1,var_Items;
	int h1,h2,h3,h4,h5;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.AntiAliasing(true);
	COM::createFromVariant(exg2antt1.Columns().Add("Task")).AllowSort(false);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Name")); com_Column = var_Column;
		com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(0));
		com_Column.SortType(0/*SortString*/);
		com_Column.Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","Red"); com_Bar = var_Bar;
		com_Bar.Color(WinApi::RGB2int(255,0,0));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(224,224,224));
		com_Chart.LinksStyle(0/*exLinkSolid*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Red",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)));
		h3 = com_Items.AddItem("Task 3");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)));
		h4 = com_Items.AddItem("Task 4");
		com_Items.AddBar(h4,"Red",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)));
		h5 = com_Items.AddItem("Task 5");
		com_Items.AddBar(h5,"Red",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)));
		com_Items.AddLink("L1",h1,"",h3,"");
		com_Items.AddLink("L2",h2,"",h4,"");
		com_Items.AddLink("L3",h3,"",h4,"");
		com_Items.AddLink("L4",h4,"",h5,"");
		com_Items.SchedulePDM(0,"");
	exg2antt1.Chart().ShowLinks(1/*exShowExtendedLinks*/);
	var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item("Name"); com_Column1 = var_Column1;
	com_Column1.SortOrder(1/*SortAscending*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2233
Re-order the cell's caption, icons and images/pictures

public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	int h;
	str var_s,var_s1,var_s2;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc";
	var_s = var_s + "D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("ToLeft")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("ToRight")); com_Column1 = var_Column1;
		com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column1.Def(34/*exCellDrawPartsOrder*/,"caption,picture,icons,icon,check");
	exg2antt1.DefaultItemHeight(32);
	exg2antt1.DrawGridLines(2/*exVLines*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Caption");
		com_Items.CellImage(h,COMVariant::createFromInt(0),2);
		com_Items.CellImages(h,COMVariant::createFromInt(0),"1,2");
		var_s1 = "loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsG";
		var_s1 = var_s1 + "L2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7F";
		var_s1 = var_s1 + "XI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FC";
		var_s1 = var_s1 + "jVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4w";
		var_s1 = var_s1 + "G8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQ";
		var_s1 = var_s1 + "JAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZen";
		var_s1 = var_s1 + "EVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFp";
		var_s1 = var_s1 + "TheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siq";
		var_s1 = var_s1 + "bZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxX";
		var_s1 = var_s1 + "hIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DP";
		var_s1 = var_s1 + "H8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAm";
		var_s1 = var_s1 + "Bgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCME";
		var_s1 = var_s1 + "gSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByj";
		var_s1 = var_s1 + "JGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0Wg";
		var_s1 = var_s1 + "LhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHC";
		var_s1 = var_s1 + "BwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1";
		var_s1 = var_s1 + "iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL";
		var_s1 = var_s1 + "4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0F";
		var_s1 = var_s1 + "qGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdg";
		var_s1 = var_s1 + "uhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGU";
		var_s1 = var_s1 + "SNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhA";
		var_s1 = var_s1 + "FaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6";
		var_s1 = var_s1 + "BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZ";
		var_s1 = var_s1 + "QS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gmi";
		var_s1 = var_s1 + "XE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAY";
		var_s1 = var_s1 + "Aah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5";
		var_s1 = var_s1 + "AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARAS";
		var_s1 = var_s1 + "A/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AI";
		var_s1 = var_s1 + "BdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAd";
		var_s1 = var_s1 + "AcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBP";
		var_s1 = var_s1 + "hSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAh";
		var_s1 = var_s1 + "hLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBv";
		var_s1 = var_s1 + "gjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAG";
		var_s1 = var_s1 + "hvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/";
		var_s1 = var_s1 + "gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sU";
		var_s1 = var_s1 + "hMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4Af";
		var_s1 = var_s1 + "gZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xM";
		var_s1 = var_s1 + "hgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2";
		var_s1 = var_s1 + "BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBW";
		var_s1 = var_s1 + "hFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagx";
		var_s1 = var_s1 + "AkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9Bt";
		var_s1 = var_s1 + "nWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBU";
		var_s1 = var_s1 + "gphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAj";
		var_s1 = var_s1 + "AjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihF";
		var_s1 = var_s1 + "h7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAu";
		var_s1 = var_s1 + "AXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAF";
		var_s1 = var_s1 + "BNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3";
		var_s1 = var_s1 + "ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhchu";
		var_s1 = var_s1 + "g3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQ";
		var_s1 = var_s1 + "AcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhT";
		var_s1 = var_s1 + "g9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5W";
		var_s1 = var_s1 + "gZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAk";
		var_s1 = var_s1 + "gqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgq";
		var_s1 = var_s1 + "gqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhV";
		var_s1 = var_s1 + "gmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBW";
		var_s1 = var_s1 + "h3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAG";
		var_s1 = var_s1 + "Ashzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOr";
		var_s1 = var_s1 + "C0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTW";
		var_s1 = var_s1 + "P1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi";
		var_s1 = var_s1 + "4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8P";
		var_s1 = var_s1 + "iPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLC";
		var_s1 = var_s1 + "s8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyD";
		var_s1 = var_s1 + "QCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOA";
		var_s1 = var_s1 + "pDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5";
		var_s1 = var_s1 + "Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)";
		com_Items.CellPicture(h,COMVariant::createFromInt(0),COM::createFromVariant(exg2antt1.ExecuteTemplate(var_s1)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(0)));
		com_Items.CellHAlignment(h,COMVariant::createFromInt(1),2/*RightAlignment*/);
		com_Items.CellImage(h,COMVariant::createFromInt(1),com_Items.CellImage(h,COMVariant::createFromInt(0)));
		com_Items.CellImages(h,COMVariant::createFromInt(1),"2,1");
		com_Items.CellPicture(h,COMVariant::createFromInt(1),COM::createFromVariant(com_Items.CellPicture(h,COMVariant::createFromInt(0))));
		h = com_Items.AddItem("<b>HTML</b> <off 4>Caption");
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellImage(h,COMVariant::createFromInt(0),2);
		com_Items.CellImages(h,COMVariant::createFromInt(0),"1,2");
		var_s2 = "loadpicture(`gCJKBOI4NBQaBQAhQNJJIIhShQAEEREAIA0ROZ6PT0hQKYZpIZDKBJkIgKByN5mNJsMsKPABVqXBI4KjrD7HL6GWKPJKiCIhMiySidKxbOzZZJWMLsG";
		var_s2 = var_s2 + "L2FqyLjZMonNa2CyiZDOUqsQqUEq0ZCNISFXDIFxzZ4hUrbdrefZ/fz3ZgzZ75Tz3XjvHZnZznPieb55AKgAqmRyOOzEhR7XirWaWQQMTa+QIhDbZOZAAoYUCPDAQG7F";
		var_s2 = var_s2 + "XI4JRrNCoIRdPyyFr0AYifDUKZ+PCufK4RReALLUbtdBHSrGTCCNKqT4MbRqUxxQx+CAAEQ2VCBbxqGaLYDZNgzFbCbLDarRCrqMYMM6cWqpHKUDqhZjnVijEoLcp0FC";
		var_s2 = var_s2 + "jVg2OYhTjN/QWk4bo4iseBsAcABIDoPA5g2HgADIkQfDCNxwkEQYnFmAIAB4OJHGcKAPioGRKFKdh2g6UB8iiZ5QkYQp3gKWhDlsWYmAARBcgCIAUniVpmiSA5AF3A4w";
		var_s2 = var_s2 + "G8P41nGWwDDAW4MAAIpSG+bRzBoGx3AeCJhh6C4ljCUJGnSRBUFKAIQA6EgIHMWBoHqYgAngHJDCALBmhCCAfHOARAScUBvAmc5zHYXxoguXQ8DEMIAH8dI8HmP4/AyQ";
		var_s2 = var_s2 + "JAEAYAoHqRByEQGJiECBAzAkKIpBYNIcikAp8kcZhDn4EBChmUoMgqHIqhiWoIgaDImgyVQImaRw/F0EZGCcSw3DaM4Kn6GBBhwYYZDGZo3C+RgOAmNQnhYeYqgsTZen";
		var_s2 = var_s2 + "EVgSFYLo2CydhGg4OROF2HJjlydR7i+cJjDGFo8BgHgVl4Po+DufJRgcbQOlkCxyKuCJNAsdwIhSC4mgieYKkeHJWD0Ih8BQaYYkkMYppwTg0EsFhJC0SxEkgeodDSFp";
		var_s2 = var_s2 + "TheV5SDgLBIieRIigyVo5CeOpymoWhtEQfRACMR4zE2KxRnsV5dF2ehFCeC50G+GBkBiZgaCUGYnBySY+BsdIuEkJJJDSSRsjGeYqEWOhliYVYOHWDYbFuNhFmcS5siq";
		var_s2 = var_s2 + "bZrnGLYOh0DpPhyXo7D8d4ZHGXR1CcdRAnsMh7GELwIHiSx7CiXY0HYNZ1nOcoPg0SB+CWLwwGqUpbFAQJwEeEImlCVQwk4cJxAiFRIhMS4ulGYRRlmMQVDEHZxG8YxX";
		var_s2 = var_s2 + "hIaQSniLhIiaGwnDiJZGicZYnjeZw8D6OoSkWEIthwI4emudwtGwepNhuLQ3F8Zojm4bQrhALo0D0HZwCcJwoimeI0ASWR6CAJkJQORfAiFcLIXgahaiGCgMsKIpw8DP";
		var_s2 = var_s2 + "H8H4Pj2BhjrBMGQGYfxFjuEGIsB4rxbg+DSFsPAxBtChHoAQaYmRojVG0D0e6JALjVD2K0F4qxfjjGyPIRY/QXi1AOAILwFQGgOF8KYDwOgdBsHmCYcobRtjIHoGgZAm";
		var_s2 = var_s2 + "Bgi7HgPcWoHxTAmCQCcVwTgDB+FYJgfQMAOj0F2PoZgkRMjeKQLkWATwdDzEkPMF4FxzAXDGJYfAlgPAuB+FkeIWxuizC0LkUwvQbD9ByHIDouxvBCBgCMCAvh4CXCME";
		var_s2 = var_s2 + "gSA0BJDEH+AsfwMgfjhDeL0Ro/xkgvH4JMXA7RYjyAONgPAWhfjyCuBEcAFRSAWE4BIOwEAUgTCaIYfA4wSBUAcAsDowQOBFA4J0Hg9h2B4EmCQTYVBdB0FwIwU4rByj";
		var_s2 = var_s2 + "JGmHIRQ8gJAKB4IoZgShaDKAQOUIolQkjVBuGoSw6hugaFaJoeoWgajaDKDoO4dB5j0FcJ0Zw1Ang3CQDEdgNQnA6EmHgGw4QuCiCSAKFIXBgilEwGcLAZAtDmC0N0Wg";
		var_s2 = var_s2 + "LhaApFiK0HgfxniuGKP4GIvhrhhGgHEZgaRtB5GSBUcIhg5BnHkOAeQFB5A6DiEEao2xoDHH0KIQ4bxYBfFEP8RogB5BfA8AQHwvwqAZBIBURgCgwgPAqAkKYCgfgTHC";
		var_s2 = var_s2 + "BwDIegcgjFUDQXQPQzA4DsCkDwnRABNAwE8OgTw5C6AkJEPgPRSg+DqCANoMRBjuHUKEJglQWDrHYOATg3BuDGDWEMa4CQbj3HMB0Z4Pw5jLFuCAWYsB/D2DgBEUQmB1";
		var_s2 = var_s2 + "iuDEMkfI0hUCyEkPIfwihKgqGsGobIGhNhfFGGoZY6gDDuGWDceANA1A2DyDUM4txaA/EwG0bo0wTDXEcH8Sg/BcD2GSHQC4pgtiuGOOkNIRg3hbG+MIGYjhzgaBeHwL";
		var_s2 = var_s2 + "4FgHAMAYFIfgJh4nJBQGkfAwRNiFAiO4KIlhoiKFiOoO4EwPiYGONUE4RATg6BOMcUwEApgZGmP4X4lxnjYGaLIZg7RNirH6FQG47xZCAC6OQLK5B1BYF8LgOQZAqh0F";
		var_s2 = var_s2 + "qGcBo/xMhpE6HsXomQwBKCwIcfA6w/DxA+IURAIxwgmBSCMKoJgOhFD0JMeIkQdhREwFAEQKRFioAYKkJIqQlhpBYFEPYUQui0GCGgFI9BlCOAUDoS4nRhA7HOOkFYdg";
		var_s2 = var_s2 + "uhgEgGYUgZB2DeE6IIYIMQEgyAiPYHgYgnBlFiNsPYghKiODqISfddhPgVEOCQE4hg5iWHWPEfwfB3BgFYPkAIWQPAOC8BIb1MwrD+QsNEQ43ACAMAKGUQgsBhBoHCGU";
		var_s2 = var_s2 + "SNrxBBoEqNgGo8QMAJF+MMOwRxGCOFUBwHYdhODvDwMEBILgk21AKKkOI6RrgyD6LIDoJxNjkDUOQF4yAXgoC4FMXgqhKCiE4KACQow9D5CoJgLQiA9CwEMLUYwOxmhA";
		var_s2 = var_s2 + "FaEAdoSwdBBF0CEPQEWWDrGOBoEgGhTAaDyBsPoNgXA4CmHIWw+guCDCSJsNIjxsgADcNQPg2hxC2FKLACo2hNDFEMMcKw/BeCcE6LYXoGRvDJGCN8GIxgUjYAyOUbg6";
		var_s2 = var_s2 + "BpDrB0OYWw5AgjtGSOoEofAgjRG2NgY4+RRCfBeKUN4qQvi7H+HAYAchwCOCWAcQQZBBFiG4EIUYww3CFFuEQSgRAlBdDMIwCQiRrCMGCMcIwxhuiKDeE0PAlxCC8GFZ";
		var_s2 = var_s2 + "QS4YhIgaEkJYS43hLAxE8EkTodQUBbBWMcHoNxy0lHqOETYyAeDeD4I0AQlRhD0G2E0O4PgKCjHeEoSgmBKCGEsBUS4vxUA8C6M0K4ox7irD+O0VouhfD7FUA33I+gmi";
		var_s2 = var_s2 + "XE0IsLY1gtipG0CQbQLQPjFDuDQHw2RtjFGsK0bw4x9j0CcO8N4/RtBnhSgvAcBehmAOh0ANgiAhAnhih8gwh1gbhugRhSBRhDhjh2Bvgyhfh3gPhThOBIBOA6B9gsAY";
		var_s2 = var_s2 + "Aah+BdhlBWBtAuBoBThtB8gnhFheAlhcByh6BKhvAahNBnh5B1gJB1g+hCAsgAAbB1gOguAJhIAoAmhFBvqzACABh0BlgFggA6CaBvBQA7BDEHAaA0AABoAcgGBEACg5";
		var_s2 = var_s2 + "AAgYgZgLAIBKgFBBhWh9AggCAIBoBNgAANA9AJhwABBxBwAKAYAAALCJu9ADAYAFBLExBEAiBEgmBEgxBEANBENbhmgJh5gJBNgJgzgJBfgRAvAhpKhnAQg5AIpkARAS";
		var_s2 = var_s2 + "A/ASKGAPBJhZBIAdBJAbARh7n4BIhshkAnAZDVgkBZAUg5AWh5AVB5AEgFAbBFA4BFACglA5hlAfAVAChVAtBVAig1AQh1ABBNB+gaAcgUA7AqAbAWgTg2gfB2gSB9AI";
		var_s2 = var_s2 + "BdA1BDh2BHAnBdAZg6Apgdh+h0g7lCBoAXh3BJBugahkBwBihkBkAsBYgtg/h7gNATBNgkhIgUhBg0gzI6BZgJRJglhvAvARgrAtBrALBbBFh2BxB2BZh9hFAcgOAcAd";
		var_s2 = var_s2 + "AcgCgcBzhcAVB7h9g5BlgxhohsArgDh5A8heA8BKh8hMB8gzB8APgPBmAdByAShQAVgUAWMMAaAThuATgpAWhNASgLARB3ASAwg+AsEwhiAoimBTBxhUAJhEAJhVhJBP";
		var_s2 = var_s2 + "hSBTBSBjgyhvBPlWAbgUgfhRhYBUAkAoBTAoBQgrgygfyhgTBShXBSgwhUh0hWgKhTguhQBphRAdhWAjhoBvg1gQA0g0A1AKACAehLgegzgrgmhcAmBahmB+A4AihzAh";
		var_s2 = var_s2 + "hLA6ArAFBrAfAbAyhbAPh2hYB7BzB8AOBDgwhTg+hnALAXB8hXBph3AxAPA/BPA2gLg7A8hxg+AlAXANB9ARB+A6B+h5gBgEBAg9BLhFBBAUghAWAhANhhhsgRgBARBv";
		var_s2 = var_s2 + "gjAUgiALhjBpBig8hjhHgSA1ASBqgvA4gkhzAmgkglhRgnB7hlh8BKA0hNgxhMBtg7guh5gjAzhPAtB/BJgBBmhhBvAdhDAighg7g2glAzBlg+AVhUAVAphVAHhqURAG";
		var_s2 = var_s2 + "hvh7g0AgAahvA2FigMg2BhhaBrg6AMAegTA6AVi5B6BlgehNgMgoA9gigMAZA/hBgMgGg+hfgbAvAegSgbApgegXhZhqBagzBYgogfgwB/Cwg7hgh/hDA/gTg5B+gNh/";
		var_s2 = var_s2 + "gXh6B8hbh8B/hEhfASg2h/BHh6BfhZBbhuAjB/g9h7BbBth0h/gbh2Ayh/hAh+h/gnh/Ajh3AwgnA/gigPBzBPBVBegigfA1h8BPhshr1HgNhvAxB/hoBdgGgBhZh3sU";
		var_s2 = var_s2 + "hMh0gmh1hLg9hIgchQB7BthugQh5hbgugth6BTgLi/ALBkocoPgCA/BQBfhmh+hXhzA/hzh+g7B1hbgch/heh4gvhEg3hsBfBOgbA2B9ArhrANhPTSKXAMg7A+Bhh4Af";
		var_s2 = var_s2 + "gZh/AVhdg/hzB7BTBsgfh5B+gdhZh/g7oQBogSh/BMrPhUhYBshvheBfA9AThph7ANhvhNgog/hZBNg/hdhvgIAxhjB2hHBhhOBtg1gPBCg3hZBDAmhDg0gfhNhAg8xM";
		var_s2 = var_s2 + "hgBiBvkig7BGgKBHBDBfBJhDBWhPg6BPxKAvBOBUhPB5hMhLhAh0mXBXAFhhB/A3hXBIhwB9AAgUBKg4AHA8AMgdgDhuB8hGghhcACgUAAgOA4AAA8AQABh2BQAegHA2";
		var_s2 = var_s2 + "BOB9BYhxhrBAA/hfg7hah4BCBrAxgABkAdAcK4BtgsAshdhZCSAVglgFgbASgeB3AQAPhNhIFJ2TBnhahchDBBh9gQBogABSAlhhBUgbBLANBvA+hbh+gAgWBzB5BXBW";
		var_s2 = var_s2 + "hFh/knAAADgLAkgiAggqAsAEhigrA1g2AKAqgKBfAZgdh9g2BbhugjhUgCgtgBALAtAYy+AWhEgmgAhFgSAaT4gAASgaATAahIgxACB9ghhGgfgmBoAEB4gIg/ANBagx";
		var_s2 = var_s2 + "AkhGBRA0gs3yBaBjTNAFBCBFBghCACAJAlhFh+AAAEgCAQgQg+h2g7Bbhdgdgdhdhxh7gGvUhbBHhah/B5ATAzh3BOtAWchuh3hOA9h3XvAfgbh0hfh8Brg6hegDB9Bt";
		var_s2 = var_s2 + "nWDQByA4gkAGJIAZAEgcgFh8gvBJBSAdh0BLhqBLACAABHBtgwB2x8yngsg+gAByA2gAB8hxhvh6Byg+AFBp4nBShMgmBzANgAB8ACBZADARBLPVhQh7uKBOg/B7hqBU";
		var_s2 = var_s2 + "gphbA+AfALAygQYohXBZi2AThYhcAeBPhAuwhdgIBEgiB7B9YzhDA0AvAthIBAg8AeBfApAohKA/B2BRA+BYm/gGBCguAG5JhAhjZLAgAvgvhPg1gYgehmAbgLZQhDAj";
		var_s2 = var_s2 + "AjgjgOh5heAxzgABhx5Wgig0AfgQA/B13iBgBchVgrhXgVXFhbh9gKBdgugUAbXDgygsg+A/B+B8AqA6g6hahbBsANBmA/hCgmhegeSVgeADBwB+BKg+BnA0hwBxBihF";
		var_s2 = var_s2 + "h7BxBxAxAIgGACAiAYAMAKA/BPgnguAMgPBbBngak8B+hsgqAVBag2hnBOAoBWAJhYgsA2AchvAHhIEMAmgmAmAkAjhHgPB6hUBkhSAqApgpjehsBcgZhAhuAYBOBdAu";
		var_s2 = var_s2 + "AXAwgpgPBMBwAOB5AjB+AeAYBwANACghgnBTgph3h0B0BMB4h91BgMAJhxAmgSByhshbajBaWPgTgCAYA4ACWGg3g/AyBfgzhnhPBxA1hrhXBshehChChRBQBQAgAeAF";
		var_s2 = var_s2 + "BNAtg7h3hHB7h7B7A9BOgHBDgggfhrBEBHA+h9gRB+68hPAfg3huAoAzbAAiAGBZA7B2htAqB7hYgxgwhVgehOVIFFBRgchLhhgAA7BfBthdB9hkhkgkg0hyBlAKhBg3";
		var_s2 = var_s2 + "ABAgAZBEg4AcBWAGYIhzgXAEgDA6gmhphwAtgRBYBmBwBwBQAThBA3gvBXn3hrBDBuBcA/BugnANgEBLhKhCgzhwYzhAAiARAohGgHgggJgMg9gMBrA4g+A6BoAUhchu";
		var_s2 = var_s2 + "g3BBgAhZAIBPBNApAFAFAFh6hZBZAZAWhMgkAkBEgyApb1BOAqBGBIBmATAShAhsgOgHBuhxh4gsBOhph2ArAfBmBLCWgigxgOhZhshtAMBrghhDgHgjgfrIB5ABBCBQ";
		var_s2 = var_s2 + "AcAgV4gPhcgIBWhVhXgnhBApA4hVBXhngFhTLMgcgOhRgtAMh+hFh2h2gohnAsgshCg+rTAGgNhcgjgvwhAsA0BOA8gV4dBN8qBJh68rgUgoB2BdA6h5hTABhMgWAxhT";
		var_s2 = var_s2 + "g9A2guguhJBDB0g4B5hzBmsvhwgwgzgog4g4gDAmAygPBUhWAqANgbg3AmBAI2AOBzhDA8hmBKgxBIAFgAAJhbCuhGgKl7BwhwAmgcAKAigDh2gZAJArABANgDBegx5W";
		var_s2 = var_s2 + "gZADgwBGBEAkBegAg2AYg9gwKABtBmhPABBoBZAPgFhHBMAPhmB/B6bdhZhdhdhth1hh8lBGgIBEAUgOhEgKgVgrA0AngaAaBiBIgyB5A3gLgXBcAEhlJjAJgEAsAJAk";
		var_s2 = var_s2 + "gqqlhththThrhrhrBVBTAWhZhDhPhThIBWARg+Bn7Sg7A3gDhZAvAphEgegGgehuhpAJAyAJBZQ9gBggAAgAgwBDg3BCAAhkgTh0hkAAhLhthWhTgqAqhJBIAhhmAEgq";
		var_s2 = var_s2 + "gqgCgbBiB6h9BD8zhxhmABrOhfAqhMg7ghwiA4BSJNhMgqg4BEhkY8AjBphNATBaA6AtAwBYgEACBBiEBABIAggbg7gmh1AlglAlgahXBmhmB1BgBPBEAmAnwZgogyhV";
		var_s2 = var_s2 + "gmgABcgxsNBUAWAAB2B4AHBvA5h3B3ggAQBIAwg+hPhSgqBQCEA/gQBQA2htKUgfAJhFgkhkAYBtAIAMHpgbAasHg0gVAsBhhIgbBVAxAi/MgFBnAZBDBpB2ABgwADBW";
		var_s2 = var_s2 + "h3gchuBwBxhrhkB1BbhWAFAP5mBCghgTgnA8AgBV+OgqhSg2g1g3AnBOAcg+hNAYgbhHBRg8g6BjhjhjA2ADgdAdhTg/Aeg/hvA6h1h7A2gChLhKfjAdAxhahigYgMAG";
		var_s2 = var_s2 + "Ashzg5AAaYh/AGAjh2AChABwBOgwXnBFh/ApAzgT2GBZBGvTBHAjBGhAF0wAgsDi1w4Nza2UkyBUYiA+maxm6g1K32ad3s2Qg8AKlRaBlKD1wKE+rCCjSObAK8iGsFOr";
		var_s2 = var_s2 + "C0vR0lTeDV8IUatHu6GO2jkAHgAwgfgC5TYrVsKk2Y3MBRcpBQkgmOUuznY2FqKy0WSymXeX0ASwel0olHI5AwJ1mx0gL1mTXU6XS8Vpdj4hyg8BemDYZHqMFOUyYZTW";
		var_s2 = var_s2 + "P1WJ1CN1MTR6gH4cmysjKr2mlCqn3GuR+jDoJHGWlKkU+ajXpgg1yq2FQDFigSEBROwkCKnQwGwjliIU45x2HGyIB4dnM0UmUC+PhaLxefwOdia5zMT3+8wwYCQmEwdi";
		var_s2 = var_s2 + "4vQKqHKvigKHoKnc9Rs7GMDUOhhGOnAYjWkzKKRGyxsDUA01QCw0QCOF0uh0OkfRUMMbyRNwTBiCYZwKMIYyZAUkSlBYkxsCYAAHG4qwCBwMQfBYlxsNgsDhLEgwHA8P";
		var_s2 = var_s2 + "iPNg1ygP4uywIgMSwK4zSQG46BnFAATDJcL3IHM6DQBsPR3O83j/AsJyGH8w4ZJY5TsN8EAdFojTwJ0AAoA4MgATIMDqAcrQPMEwTDBgVy0LYtiuK8qyrFs6QtCocnLC";
		var_s2 = var_s2 + "s8wAGAChOGM+CZJ0HAaoQHQYocBiaHtJT3LEfgCLYIgQNYgw4IQiSaBcAABBEAB/DAXS4HgPAgLUSCzGkPjkIATyXPQoCeNYfR6Do7QGI8Zj+CAHiyCY2SkIQTSSCIyD";
		var_s2 = var_s2 + "QCkpDBJQJinMMuAUPgOxGOcpA/AkoTzJwyiYFMiDwJEsShFAURFCwJRVFceQXKQIS8P8STlBgLggAcrAQCQATjIgZA0JgVSxL0OAmKI6CpEc4SuOkeBeOwMRnLQuQhOA";
		var_s2 = var_s2 + "pDJAImYmD44BPIgAzFMYiR3LcQw4JwqhQAknAMFAxwEEwJwUO4ljCHgmxzNwNQ3EU3ScLYEAACocDePwZgCLI+yFN8jg7FEQTtKMcwrAAOhgHw6SQI4OCmJgjDmNAjj5";
		var_s2 = var_s2 + "Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)";
		com_Items.CellPicture(h,COMVariant::createFromInt(0),COM::createFromVariant(exg2antt1.ExecuteTemplate(var_s2)));
		com_Items.CellValue(h,COMVariant::createFromInt(1),com_Items.CellValue(h,COMVariant::createFromInt(0)));
		com_Items.CellValueFormat(h,COMVariant::createFromInt(1),1/*exHTML*/);
		com_Items.CellHAlignment(h,COMVariant::createFromInt(1),2/*RightAlignment*/);
		com_Items.CellImage(h,COMVariant::createFromInt(1),com_Items.CellImage(h,COMVariant::createFromInt(0)));
		com_Items.CellImages(h,COMVariant::createFromInt(1),"2,1");
		com_Items.CellPicture(h,COMVariant::createFromInt(1),COM::createFromVariant(com_Items.CellPicture(h,COMVariant::createFromInt(0))));
	exg2antt1.EndUpdate();
}
2232
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
	;
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	;
	exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("1/2/2022",213)),COMVariant::createFromDate(str2Date("1/8/2022",213)),,"<img>1</img>");
}

public void init()
{
	COM com_Appearance,com_Bar,com_Chart,com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Appearance,var_Bar,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	int h,hR;
	str var_s,var_s1,var_s2,var_s3,var_s4;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ImageSize(32);
	exg2antt1.DefaultItemHeight(36);
	exg2antt1.HeaderHeight(exg2antt1.DefaultItemHeight());
	exg2antt1.SortBarHeight(exg2antt1.DefaultItemHeight());
	exg2antt1.Font().Size(16);
	exg2antt1.FilterBarFont().Size(exg2antt1.Font().Size());
	exg2antt1.ToolTipFont().Size(exg2antt1.Font().Size());
	exg2antt1.Indent(26);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2022",213)));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Height(22);
	var_s = "gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqN";
	var_s = var_s + "UqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwy";
	var_s = var_s + "V21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CM";
	var_s = var_s + "Po9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9F";
	var_s = var_s + "EKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y";
	var_s = var_s + "7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIkF";
	var_s = var_s + "gTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtN";
	var_s = var_s + "hCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/Xio";
	var_s = var_s + "W5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4";
	var_s = var_s + "VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6";
	var_s = var_s + "/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVD";
	var_s = var_s + "NKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJyT";
	var_s = var_s + "8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5Wzlff";
	var_s = var_s + "EkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6";
	var_s = var_s + "I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8Rg";
	var_s = var_s + "H5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWR";
	var_s = var_s + "JNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s1 = var_s1 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s1 = var_s1 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR";
		var_s1 = var_s1 + "DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF";
		var_s1 = var_s1 + "oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk";
		var_s1 = var_s1 + "mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo";
		var_s1 = var_s1 + "chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0";
		var_s1 = var_s1 + "ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8";
		var_s1 = var_s1 + "CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U";
		var_s1 = var_s1 + "gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s2 = var_s2 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s2 = var_s2 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s2 = var_s2 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnSc";
		var_s2 = var_s2 + "g1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpA";
		var_s2 = var_s2 + "oPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaDR";
		var_s2 = var_s2 + "DFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lG";
		var_s2 = var_s2 + "NAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBg";
		var_s2 = var_s2 + "k0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuX";
		var_s2 = var_s2 + "pMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2Cy";
		var_s2 = var_s2 + "A4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8Rp";
		var_s2 = var_s2 + "BzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8T";
		var_s2 = var_s2 + "I7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeH";
		var_s2 = var_s2 + "GFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuh";
		var_s2 = var_s2 + "oiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMs";
		var_s2 = var_s2 + "CwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4ga";
		var_s2 = var_s2 + "BEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgs";
		var_s2 = var_s2 + "wOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBtY";
		var_s2 = var_s2 + "QGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBh";
		var_s2 = var_s2 + "YDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0Mg";
		var_s2 = var_s2 + "RBCCQAgQEA==";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s2));
		var_s3 = "gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6";
		var_s3 = var_s3 + "CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM";
		var_s3 = var_s3 + "RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4n";
		var_s3 = var_s3 + "GKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSe";
		var_s3 = var_s3 + "Q7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjn";
		var_s3 = var_s3 + "OIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMaJ";
		var_s3 = var_s3 + "9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGS";
		var_s3 = var_s3 + "UwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4y";
		var_s3 = var_s3 + "mkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkX";
		var_s3 = var_s3 + "I/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6";
		var_s3 = var_s3 + "BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRA";
		var_s3 = var_s3 + "jDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBEB";
		var_s3 = var_s3 + "wpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQH";
		var_s3 = var_s3 + "oFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRh";
		var_s3 = var_s3 + "cDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQ";
		var_s3 = var_s3 + "AA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjV";
		var_s3 = var_s3 + "HiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4z";
		var_s3 = var_s3 + "xW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBsH";
		var_s3 = var_s3 + "0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s3));
		var_s4 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s4 = var_s4 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s4 = var_s4 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s4 = var_s4 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s4 = var_s4 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s4 = var_s4 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s4 = var_s4 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s4 = var_s4 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s4 = var_s4 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s4));
	exg2antt1.BackColorHeader(0x4c6c6c6);
	exg2antt1.SelBackColor(0x4000000);
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,1));
	exg2antt1.CheckImage(0/*Unchecked*/,16777216);
	exg2antt1.CheckImage(1/*Checked*/,33554432);
	exg2antt1.CheckImage(2/*PartialChecked*/,50331648);
	exg2antt1.Background(20/*exSelBackColorFilter*/,exg2antt1.SelBackColor());
	exg2antt1.Background(21/*exSelForeColorFilter*/,exg2antt1.SelForeColor());
	exg2antt1.Background(26/*exBackColorFilter*/,exg2antt1.BackColor());
	exg2antt1.Background(27/*exForeColorFilter*/,exg2antt1.ForeColor());
	exg2antt1.Background(32/*exCursorHoverColumn*/,-1);
	exg2antt1.Background(0/*exHeaderFilterBarButton*/,0x4000000);
	exg2antt1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	exg2antt1.Background(1/*exFooterFilterBarButton*/,0x40000ff);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.ShowFocusRect(false);
	exg2antt1.SortBarVisible(true);
	exg2antt1.AllowGroupBy(true);
	exg2antt1.BackColorSortBar(exg2antt1.BackColor());
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.FilterBarDropDownHeight(1);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Width(128);
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(256/*exShowCheckBox*/);
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 pos ``");
		com_Column1.AllowSort(false);
		com_Column1.Width(48);
		com_Column1.AllowSizing(false);
		com_Column1.Alignment(1/*CenterAlignment*/);
		com_Column1.HeaderAlignment(1/*CenterAlignment*/);
	var_Column2 = COM::createFromVariant(exg2antt1.Columns().Add("Image")); com_Column2 = var_Column2;
		com_Column2.DisplayFilterButton(true);
		com_Column2.FilterList(8480/*exShowExclude | exShowCheckBox | exSortItemsAsc*/);
		com_Column2.FilterType(10/*exImage*/);
		com_Column2.DisplayExpandButton(true);
		com_Column2.ExpandColumns("1,2,3");
		com_Column2.Width(128);
		com_Column2.HeaderImage(1);
	var_Column3 = COM::createFromVariant(exg2antt1.Columns().Add("Images")); com_Column3 = var_Column3;
		com_Column3.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column3.Width(196);
		com_Column3.HTMLCaption("<img>1</img><img>2</img><img>3</img> Images");
	var_Column4 = COM::createFromObject(exg2antt1.Columns()).Item("Pos"); com_Column4 = var_Column4;
	com_Column4.Position(3);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.ItemDivider(hR,0);
		com_Items.ItemDividerLine(hR,0/*EmptyLine*/);
		h = com_Items.InsertItem(hR,,"Child A");
		com_Items.CellImage(h,COMVariant::createFromInt(2),1);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"1,2,3");
		com_Items.CellValue(h,COMVariant::createFromInt(3),"123");
		h = com_Items.InsertItem(hR,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.CellImage(h,COMVariant::createFromInt(2),3);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"2,3,1");
		com_Items.CellValue(h,COMVariant::createFromInt(3),"231");
		com_Items.SelectItem(h,true);
		h = com_Items.InsertItem(hR,,"Child C");
		com_Items.CellImage(h,COMVariant::createFromInt(2),2);
		com_Items.CellState(h,COMVariant::createFromInt(3),1);
		com_Items.CellValue(h,COMVariant::createFromInt(3),"312");
		com_Items.CellImages(h,COMVariant::createFromInt(3),"3,1,2");
		com_Items.ExpandItem(hR,true);
	exg2antt1.EndUpdate();
}
2231
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	// Column.Def(48) = 2
	// Column.Def(49) = 2
	;
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	;
	exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("1/2/2022",213)),COMVariant::createFromDate(str2Date("1/8/2022",213)),,"<img>1</img>");
}

public void init()
{
	COM com_Appearance,com_Column,com_Column1,com_Column2,com_Column3,com_Column4,com_Items;
	anytype var_Appearance,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items;
	int h,hR;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2022",213)));
	exg2antt1.ImageSize(16);
	var_s = "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd";
	var_s = var_s + "SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt";
	var_s = var_s + "mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac";
	var_s = var_s + "vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG";
	var_s = var_s + "sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn";
	var_s = var_s + "wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s1 = "gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL";
		var_s1 = var_s1 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU";
		var_s1 = var_s1 + "rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3";
		var_s1 = var_s1 + "NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY";
		var_s1 = var_s1 + "YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm";
		var_s1 = var_s1 + "WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo";
		var_s1 = var_s1 + "WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS";
		var_s1 = var_s1 + "e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF";
		var_s1 = var_s1 + "CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s1));
	exg2antt1.BackColorHeader(0x4c6c6c6);
	exg2antt1.SelBackColor(0x4000000);
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,1));
	exg2antt1.Background(20/*exSelBackColorFilter*/,exg2antt1.SelBackColor());
	exg2antt1.Background(21/*exSelForeColorFilter*/,exg2antt1.SelForeColor());
	exg2antt1.Background(26/*exBackColorFilter*/,exg2antt1.BackColor());
	exg2antt1.Background(27/*exForeColorFilter*/,exg2antt1.ForeColor());
	exg2antt1.Background(32/*exCursorHoverColumn*/,-1);
	exg2antt1.Background(0/*exHeaderFilterBarButton*/,0x4000000);
	exg2antt1.Background(41/*exHeaderFilterBarActive*/,0x4010101);
	exg2antt1.Background(1/*exFooterFilterBarButton*/,0x40000ff);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.ShowFocusRect(false);
	exg2antt1.SortBarVisible(true);
	exg2antt1.AllowGroupBy(true);
	exg2antt1.BackColorSortBar(exg2antt1.BackColor());
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.FilterBarDropDownHeight(1);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Check")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
		com_Column.Width(128);
		com_Column.DisplayFilterButton(true);
		com_Column.FilterList(256/*exShowCheckBox*/);
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("1 pos ``");
		com_Column1.AllowSort(false);
		com_Column1.Width(48);
		com_Column1.AllowSizing(false);
		com_Column1.Alignment(1/*CenterAlignment*/);
		com_Column1.HeaderAlignment(1/*CenterAlignment*/);
	var_Column2 = COM::createFromVariant(exg2antt1.Columns().Add("Image")); com_Column2 = var_Column2;
		com_Column2.DisplayFilterButton(true);
		com_Column2.FilterList(8480/*exShowExclude | exShowCheckBox | exSortItemsAsc*/);
		com_Column2.FilterType(10/*exImage*/);
		com_Column2.DisplayExpandButton(true);
		com_Column2.ExpandColumns("1,2,3");
		com_Column2.Width(128);
		com_Column2.HeaderImage(1);
	var_Column3 = COM::createFromVariant(exg2antt1.Columns().Add("Images")); com_Column3 = var_Column3;
		com_Column3.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column3.Width(196);
		com_Column3.HTMLCaption("<img>1</img><img>2</img><img>3</img> Images");
	var_Column4 = COM::createFromObject(exg2antt1.Columns()).Item("Pos"); com_Column4 = var_Column4;
	com_Column4.Position(3);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hR = com_Items.AddItem("Root");
		com_Items.ItemDivider(hR,0);
		com_Items.ItemDividerLine(hR,0/*EmptyLine*/);
		h = com_Items.InsertItem(hR,,"Child A");
		com_Items.CellImage(h,COMVariant::createFromInt(2),1);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"1,2,3");
		com_Items.CellValue(h,COMVariant::createFromInt(3),"123");
		h = com_Items.InsertItem(hR,,"Child B");
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.CellImage(h,COMVariant::createFromInt(2),3);
		com_Items.CellImages(h,COMVariant::createFromInt(3),"2,3,1");
		com_Items.CellValue(h,COMVariant::createFromInt(3),"231");
		com_Items.SelectItem(h,true);
		h = com_Items.InsertItem(hR,,"Child C");
		com_Items.CellImage(h,COMVariant::createFromInt(2),2);
		com_Items.CellState(h,COMVariant::createFromInt(3),1);
		com_Items.CellValue(h,COMVariant::createFromInt(3),"312");
		com_Items.CellImages(h,COMVariant::createFromInt(3),"3,1,2");
		com_Items.ExpandItem(hR,true);
	exg2antt1.EndUpdate();
}
2230
How do I clip/hide/align the bar's caption/text based on the bar's size/width/length

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Clip");
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowResizeChart(6/*exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		com_Chart.DrawGridLines(-2/*exRowLines*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/23/2000",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,216);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(32/*exPatternBox*/);
			com_Bar.Color(WinApi::RGB2int(164,164,164));
			com_Bar.StartColor(WinApi::RGB2int(240,240,240));
			com_Bar.EndColor(com_Bar.StartColor());
			com_Bar.OverlaidType(4611/*exOverlaidBarsIncludeCaption | exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.Height(15);
		com_Chart.MinUnitWidth(com_Chart.UnitWidth());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("no clip, (0-2)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"no clip, right(<b>2</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(2));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"no clip, center(<b>1</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(1));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"no clip, left(<b>0</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(0));
		h = com_Items.AddItem("clip, inside (3-5)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"clip, inside, right(<b>5</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(5));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"clip, inside, center(<b>4</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(4));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"clip, inside, left(<b>3</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(3));
		h = com_Items.AddItem("hide on min width, clip if not fit, inside (6-8)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/26/2000",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"hide on min width, clip if not fit, inside, right(<b>8</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(8));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/26/2000",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"hide on min width, clip if not fit, inside, center(<b>7</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(7));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/26/2000",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"hide on min width, clip if not fit, inside, left(<b>6</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(6));
		h = com_Items.AddItem("hide if not fit, no clip, inside (9-11)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"hide if not fit, no clip, inside, right(<b>11</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(11));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"hide if not fit, no clip, center(<b>10</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(10));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"hide if not fit, no clip, inside, left(<b>9</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(9));
		h = com_Items.AddItem("no clip, inside, outside (12-14)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"no clip, inside, outside, right(<b>14</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(14));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"no clip, inside, outside, center(<b>13</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(13));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/28/2000",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"no clip, inside, outside, left(<b>12</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(12));
		h = com_Items.AddItem("no clip, outside (16-18)");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/30/2000",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",44/*exBarExtraCaption*/,"no clip, outside, right(<b>18</b>)");
		com_Items.ItemBar(h,"K1",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(18));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/30/2000",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K2");
		com_Items.ItemBar(h,"K2",44/*exBarExtraCaption*/,"no clip, outside, center(<b>17</b>)");
		com_Items.ItemBar(h,"K2",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(17));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("12/30/2000",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K3");
		com_Items.ItemBar(h,"K3",44/*exBarExtraCaption*/,"no clip, outside, left(<b>16</b>)");
		com_Items.ItemBar(h,"K3",45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(16));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

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

// AddColumn event - Fired after a new column has been added.
void onEvent_AddColumn(COM   _Column)
{
	;
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(_Item,"Task",com_Items.CellValue(_Item,COMVariant::createFromInt(2)),com_Items.CellValue(_Item,COMVariant::createFromInt(4)));
}

public void init()
{
	COM com_Chart,com_Column,com_Items,com_rs;
	anytype rs,var_Chart,var_Column,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	exg2antt1.DataSource(rs);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/4/1994",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,290);
	exg2antt1.Items().AllowCellValueToItemBar(true);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(2)); com_Column = var_Column;
	com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(1));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(4)); com_Column = var_Column;
	com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(2));
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item("ShipVia"); com_Column = var_Column;
	com_Column.Position(2);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,290);
}
*/
2228
Does the control display images from database (DAO)

public void init()
{
	COM com_Column,com_PrivDBEngine,com_rs;
	anytype rs,var_Column,var_PrivDBEngine;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DefaultItemHeight(48);
	// Add 'Microsoft DAO 3.6 Object Library(dao360.dll)' reference to your project.
	var_PrivDBEngine = COM::createFromObject(new DAO.PrivDBEngine()); com_PrivDBEngine = var_PrivDBEngine;
		rs = com_PrivDBEngine.OpenDatabase("C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.mdb").OpenRecordset("Employees"); com_rs = rs;
	exg2antt1.DataSource(rs);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item("Photo"); com_Column = var_Column;
		com_Column.Position(1);
		com_Column.Width(128);
	exg2antt1.EndUpdate();
}
2227
Does the control display images from database (ADO)

public void init()
{
	COM com_Column,com_rs;
	anytype rs,var_Column;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	exg2antt1.GridLineStyle(512/*exGridLinesGeometric*/);
	exg2antt1.DefaultItemHeight(48);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/);
	exg2antt1.DataSource(rs);
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item("Photo"); com_Column = var_Column;
		com_Column.Position(1);
		com_Column.Width(128);
	exg2antt1.EndUpdate();
}
2226
Is it possible to set from code, a column sort without being inserted in the sortbar

public void init()
{
	COM com_rs;
	anytype rs;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(false);
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	rs = COM::createFromObject(new ADODB.Recordset()); com_rs = rs;
		rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\Access\\misc.accdb",1/*adOpenKeyset*/,3/*adLockOptimistic*/);
	exg2antt1.DataSource(rs);
	exg2antt1.SortBarVisible(true);
	exg2antt1.Layout("singlesort=\"C1:1\"");
	exg2antt1.EndUpdate();
}
2225
Is it possible to view all events the control fires
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void onEvent_BeforeExpandItem(int   _Item,COMVariant /*variant*/   _Cancel)
{
	;
	exg2antt1.Refresh();
}

// Event event - Notifies the application once the control fires an event.
void onEvent_Event(int   _EventID)
{
	;
	print( exg2antt1.EventParam(-2) );
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h,h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Indent(16);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.HasLines(1/*exSolidLine*/);
	exg2antt1.DrawGridLines(1/*exHLines*/);
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
		com_Chart.ShowCollapsedBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,128);
		com_Chart.DrawGridLines(1/*exHLines*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(3/*exOverlaidBarsStack*/);
			com_Bar.Color(WinApi::RGB2int(0,0,0));
			com_Bar.StartColor(WinApi::RGB2int(196,196,196));
			com_Bar.EndColor(WinApi::RGB2int(196,196,196));
			com_Bar.Pattern(32/*exPatternBox*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project 1");
		h1 = com_Items.InsertItem(h,,"Resources");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C");
		h = com_Items.AddItem("Project 2");
		h1 = com_Items.InsertItem(h,,"Resources");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"A");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/24/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)),"B");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/27/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"C");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,128);
}
*/
2224
How can I find all occurences of the giving value, within a column
public void init()
{
	COM com_Column,com_Column1,com_Items;
	anytype var_Column,var_Column1,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Default");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.FormatColumn("1 pos 'A-Z'");
		com_Column.Position(0);
		com_Column.AllowSizing(false);
		com_Column.Width(32);
		com_Column.Enabled(false);
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Index")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("0 index ''");
		com_Column1.AllowSizing(false);
		com_Column1.Width(32);
		com_Column1.Enabled(false);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("A");
		com_Items.AddItem("A");
		com_Items.AddItem("A");
		print( com_Items.CellCaption(com_Items.FindItem("A",COMVariant::createFromInt(0),COMVariant::createFromInt(0)),COMVariant::createFromInt(1)) );
		print( com_Items.CellCaption(com_Items.FindItem("A",COMVariant::createFromInt(0),COMVariant::createFromInt(1)),COMVariant::createFromInt(1)) );
		print( com_Items.CellCaption(com_Items.FindItem("A",COMVariant::createFromInt(0),COMVariant::createFromInt(2)),COMVariant::createFromInt(1)) );
	exg2antt1.EndUpdate();
}
2223
How can I specify the bar's legend within the control's histogram (sample 2, expression)

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Machines");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(1/*exPatternSolid*/);
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/);
			com_Bar.HistogramPattern(com_Bar.Pattern());
			com_Bar.HistogramType(256/*exHistCumulative*/);
			com_Bar.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/);
			com_Bar.HistogramItems(-4);
			com_Bar.HistogramRulerLinesColor(WinApi::RGB2int(102,102,102));
			com_Bar.Def(6/*exBarToolTip*/,"<%=%3%> <fgcolor 666666><font ;6><off 4><%=%C0%>");
			com_Bar.Def(60/*exBarHistLegend*/,"<fgcolor=666666><%=lower(%3)%>");
		com_Chart.HistogramHeight(64);
		com_Chart.HistogramVisible(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Machine 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromInt(1),"Bill");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromInt(2),"Laura");
		com_Items.ItemBar(h,COMVariant::createFromInt(2),33/*exBarColor*/,COMVariant::createFromInt(16776960));
		h = com_Items.AddItem("Machine 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/12/2001",213)),COMVariant::createFromDate(str2Date("1/19/2001",213)),COMVariant::createFromInt(3),"Bill");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213)),COMVariant::createFromInt(4),"Laura");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),COMVariant::createFromInt(5),"Bill");
		com_Items.ItemBar(h,COMVariant::createFromInt(4),33/*exBarColor*/,COMVariant::createFromInt(16776960));
		com_Items.AddBar(com_Items.AddItem("Machine 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromInt(6),"Bill");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2222
How can I specify the bar's legend within the control's histogram (sample 1)

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Machines");
	exg2antt1.DrawGridLines(1/*exHLines*/);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(1/*exHLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(1/*exPatternSolid*/);
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar.OverlaidType(4/*exOverlaidBarsCascade*/);
			com_Bar.HistogramPattern(com_Bar.Pattern());
			com_Bar.HistogramType(256/*exHistCumulative*/);
			com_Bar.HistogramCumulativeOriginalColorBars(1/*exKeepOriginalColor*/);
			com_Bar.HistogramItems(-4);
			com_Bar.Def(3/*exBarCaption*/,"Bill");
			com_Bar.Def(60/*exBarHistLegend*/,"B(ill)");
		com_Chart.HistogramHeight(64);
		com_Chart.HistogramVisible(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Machine 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromInt(1));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromInt(2),"Laura");
		com_Items.ItemBar(h,COMVariant::createFromInt(2),33/*exBarColor*/,COMVariant::createFromInt(16776960));
		com_Items.ItemBar(h,COMVariant::createFromInt(2),60/*exBarHistLegend*/,"L(aura)");
		h = com_Items.AddItem("Machine 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/12/2001",213)),COMVariant::createFromDate(str2Date("1/19/2001",213)),COMVariant::createFromInt(3));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213)),COMVariant::createFromInt(4),"Laura");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromDate(str2Date("1/14/2001",213)),COMVariant::createFromInt(5));
		com_Items.ItemBar(h,COMVariant::createFromInt(4),33/*exBarColor*/,COMVariant::createFromInt(16776960));
		com_Items.ItemBar(h,COMVariant::createFromInt(4),60/*exBarHistLegend*/,"L(aura)");
		com_Items.AddBar(com_Items.AddItem("Machine 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),COMVariant::createFromInt(6));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2221
When I drag a bar and I drag it over other items, but just release it on one of the items (last item), the BarParentChange event is triggered for every item. I need it just when I drop it (release left mouse). How can I do this
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void onEvent_BarParentChange(int   _Item,COMVariant   _Key,int   _NewItem,COMVariant /*bool*/   _Cancel)
{
	;
	print( "Hover Over Item: " );
	print( exg2antt1.Items().CellCaption(_NewItem,COMVariant::createFromInt(0)) );
	_Cancel = exg2antt1.Items().ItemData(_NewItem);
}

// ChartEndChanging event - Occurs after the chart has been changed.
void onEvent_ChartEndChanging(int   _Operation)
{
	;
	print( "ChartEndChanging " );
	print( _Operation );
}

// ChartStartChanging event - Occurs when the chart is about to be changed.
void onEvent_ChartStartChanging(int   _Operation)
{
	;
	print( "ChartStartChanging " );
	print( _Operation );
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(257/*exOverlaidBarsTransparent | exOverlaidBarsOffset*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.EnableItem(h,false);
		com_Items.ItemData(h,COMVariant::createFromInt(-1));
		h = com_Items.AddItem("Item 2");
		com_Items.ItemData(h,COMVariant::createFromInt(0));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"B");
		com_Items.ItemBar(h,"B",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
		com_Items.ItemData(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0));
		com_Items.ItemData(com_Items.AddItem("Item 4"),COMVariant::createFromInt(0));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2220
Hide non-working days, Hide non-working hours

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(false);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.ShowNonworkingHours(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2219
Show non-working days pattern, Hide non-working hours

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(false);
		com_Chart.ShowNonworkingDates(true);
		com_Chart.ShowNonworkingHours(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2218
Hide non-working days, Show non-working hours pattern

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(false);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.ShowNonworkingHours(true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2217
Hide non-working days pattern, Show non-working hours pattern

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(true);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.ShowNonworkingHours(true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2216
Hide non-working days pattern, Hide non-working hours pattern

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(true);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.ShowNonworkingHours(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2215
Show non-working days pattern, Hide non-working hours pattern

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(true);
		com_Chart.ShowNonworkingDates(true);
		com_Chart.ShowNonworkingHours(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2214
Show non-working days pattern, Show non-working hours pattern

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/29/2022",213)));
		var_s = "<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <";
		var_s = var_s + "%yyyy%> <%h%> <%AM/PM%><||><||>65536";
		com_Chart.Label(65536/*exHour*/,var_s);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(12);
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(51,51,51));
		com_Chart.NonworkingDaysPattern(6/*exPatternBDiagonal*/);
		com_Chart.NonworkingHoursColor(WinApi::RGB2int(187,187,187));
		com_Chart.NonworkingHoursPattern(6/*exPatternBDiagonal*/);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%dddd%>");
			com_Level.Alignment(1/*CenterAlignment*/);
		var_Level1 = COM::createFromObject(com_Chart.Level(1)); com_Level1 = var_Level1;
		com_Level1.Label(COMVariant::createFromInt(65536));
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16773375);
		com_Chart.ShowNonworkingUnits(true);
		com_Chart.ShowNonworkingDates(true);
		com_Chart.ShowNonworkingHours(true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
2213
The chart display no labels (empty header) when the unit's width is too small. What can I do to change this behavior

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	str var_s;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		var_s = "<font ;6><%d1%><|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%>, <%m3%> <%d%>, '<%yy%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%><||><|";
		var_s = var_s + "|>4096";
		com_Chart.Label(4096/*exDay*/,var_s);
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.MarkTodayColor(com_Chart.BackColor());
		com_Chart.UnitScale(4096/*exDay*/);
		com_Chart.UnitWidth(12);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2212
How do I get the height of the bar from the cursor

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	COMVariant b,n;
	int i;
	;
	b = exg2antt1.Chart().BarFromPoint(-1,-1);
	i = exg2antt1.ItemFromPoint(-1,-1,c,hit);
	n = exg2antt1.Items().ItemBar(i,b,0/*exBarName*/);
	print( "Height" );
	print( exg2antt1.Chart().Bars().Item(n).Height() );
}

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	COMVariant b,n;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,i;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.DefaultItemHeight(52);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("10/10/2017",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.NonworkingDays(0);
		com_Chart.MarkTodayColor(com_Chart.BackColor());
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","T1"); com_Bar = var_Bar;
		com_Bar.Color(WinApi::RGB2int(255,0,0));
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","T2"); com_Bar = var_Bar;
		com_Bar.Height(25);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task");
		com_Items.AddBar(h1,"T1",COMVariant::createFromDate(str2Date("10/15/2017",213)),COMVariant::createFromDate(str2Date("10/25/2017",213)),"2");
		com_Items.AddBar(h1,"T2",COMVariant::createFromDate(str2Date("10/18/2017",213)),COMVariant::createFromDate(str2Date("10/22/2017",213)),"1");
		h1 = com_Items.AddItem("Task");
		com_Items.AddBar(h1,"T1",COMVariant::createFromDate(str2Date("10/15/2017",213)),COMVariant::createFromDate(str2Date("10/25/2017",213)),"1");
		com_Items.AddBar(h1,"T2",COMVariant::createFromDate(str2Date("10/18/2017",213)),COMVariant::createFromDate(str2Date("10/22/2017",213)),"2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2211
The zone shows truncated if I use BackColorAlternate. Is there anything I can do so it shows as solid instead

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromInt(16744544),"1:3;;solid-zone");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(16744544),"0:3;;truncated-zone");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2210
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
void onEvent_BeforeExpandItem(int   _Item,COMVariant /*variant*/   _Cancel)
{
	;
	_Cancel = exg2antt1.Items().ItemParent(_Item);
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.Columns().Add("Default");
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(com_Items.InsertItem(h,,"Child 1.1"),,"Child");
		com_Items.InsertItem(h,,"Child 1.2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("Root 2");
		com_Items.InsertItem(com_Items.InsertItem(h,,"Child 2.1"),,"Child");
		com_Items.InsertItem(h,,"Child 2.2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}
2209
How can I display the EBN bigger or smaller (thumb)

public void init()
{
	COM com_Appearance,com_Items;
	anytype var_Appearance,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
		com_Appearance.Add(10,"CP:1 0 3 0 -3");
		com_Appearance.Add(17,"CP:1 3 0 -3 0");
	exg2antt1.Background(388/*exHSThumb*/,0xa000000);
	exg2antt1.Background(260/*exVSThumb*/,0x11000000);
	exg2antt1.ScrollBars(3855/*exVScrollEmptySpace | exHScrollEmptySpace | exVScrollOnThumbRelease | exHScrollOnThumbRelease | exDisableBoth*/);
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.Columns().Add("Def");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(1));
		com_Items.AddItem(COMVariant::createFromInt(2));
		com_Items.AddItem(COMVariant::createFromInt(3));
	exg2antt1.EndUpdate();
}
2208
I am using GroupBy feature to create a tree, but the top rows are aligned with the children, not indented. What could be wrong

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void onEvent_AddGroupItem(int   _Item)
{
	COM com_Items;
	anytype var_Items;
	str color;
	;
	color = 14474460;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.ItemDivider(_Item,-1);
		com_Items.CellValue(_Item,COMVariant::createFromInt(1),COMVariant::createFromStr(com_Items.CellCaption(_Item,com_Items.GroupItem(_Item))));
		com_Items.AddBar(_Item,"Progress",COMVariant::createFromDate(str2Date("12/2/2017",213)),COMVariant::createFromDate(str2Date("12/2/2017",213)));
		com_Items.DefineSummaryBars(_Item,"",-3,"");
		com_Items.ItemBold(_Item,true);
		com_Items.ItemBackColor(_Item,color);
	exg2antt1.Chart().ItemBackColor(_Item,color);
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("12/4/2017",213)),COMVariant::createFromDate(str2Date("12/10/2017",213)));
		com_Items.ItemBar(_Item,"",514/*exBarMove*/,com_Items.ItemToIndex(_Item));
}

public void init()
{
	COM com_Chart,com_Column,com_Columns,com_Items;
	anytype var_Chart,var_Column,var_Columns,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/2/2017",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("C1");
		com_Columns.Add("C2");
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.SortBarVisible(true);
	exg2antt1.SortBarCaption("Drag a <b>column</b> header here to group by that column.");
	exg2antt1.AllowGroupBy(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		h = com_Items.AddItem("Item B");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem B.1");
		h = com_Items.AddItem("Item B");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem B.1");
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column = var_Column;
	com_Column.SortOrder(1/*SortAscending*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2207
How can I change the names from English to my locale (localization)
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	str var_s,var_s1,var_s2,var_s3;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowResizeChart(262/*exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader*/);
		com_Chart.MonthNames(com_Chart.LocMonthNames());
		com_Chart.WeekDays(com_Chart.LocWeekDays());
		com_Chart.AMPM(com_Chart.LocAMPM());
		com_Chart.FirstWeekDay(com_Chart.LocFirstWeekDay());
		com_Chart.Label(16/*exMonth*/,"<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> '<%yy%><|><%loc_mmmm%> <%yyyy%>");
		com_Chart.Label(256/*exWeek*/,"<|>KW<%ww%><|><%d%>. <%loc_m3%>, '<%yy%><r>KW<%ww%><|><%d%>. <%loc_mmmm%>, <%yyyy%><r>KW<%ww%><||><||>256");
		var_s = "<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%d%>. <%loc_m3%>, '<%yy%><|><%loc_dddd%>, <%d%>. <%loc_mmm";
		var_s = var_s + "m%>, <%yyyy%><||><||>4096";
		com_Chart.Label(4096/*exDay*/,var_s);
		var_s1 = "<|><%hh%><|><%hh%><|><%loc_d3%>, <%d%>. <%loc_m3%>, '<%yy%> <%hh%><|><%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%><||><||>6";
		var_s1 = var_s1 + "5536";
		com_Chart.Label(65536/*exHour*/,var_s1);
		var_s2 = "<|><%nn%><|><%hh%>:<%nn%><|><%loc_d3%>, <%d%>. <%loc_m3%>, '<%yy%> <%hh%>:<%nn%><|><%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <";
		var_s2 = var_s2 + "%hh%>:<%nn%>";
		com_Chart.Label(1048576/*exMinute*/,var_s2);
		var_s3 = "<|><%ss%><|><%nn%>:<%ss%><|><%hh%>:<%nn%>:<%ss%><|><%loc_d3%>, <%d%>. <%loc_m3%>, '<%yy%> <%hh%>:<%nn%>:<%ss%><|><%loc_dddd%>, <";
		var_s3 = var_s3 + "%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>:<%nn%>:<%ss%>";
		com_Chart.Label(16777216/*exSecond*/,var_s3);
		com_Chart.LabelToolTip(16/*exMonth*/,"<%loc_mmmm%>/<%yyyy%>");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%d%>. <%loc_mmmm%>, <%yyyy%> KW<%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%loc_dddd%>, <%d%>. <%loc_mmmm%> , <%yyyy%>");
		com_Chart.LabelToolTip(65536/*exHour*/,"<%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>");
		com_Chart.LabelToolTip(1048576/*exMinute*/,"<%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>:<%nn%>");
		com_Chart.LabelToolTip(16777216/*exSecond*/,"<%loc_dddd%>, <%d%>. <%loc_mmmm%>  <%yyyy%> <%hh%>:<%nn%>:<%ss%>");
		com_Chart.ToolTip("<%ddd%> <%d%>. <%loc_mmmm%> <%yyyy%>");
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
		com_Chart.UnitScale(4096/*exDay*/);
		com_Chart.UnitWidth(24);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
2206
Is it possible to change the pattern for selection within the control's overview part (I would prefer a semi-transparent or solid color instead)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBFLBCJwBAEHhEJAAEhABMsGACAADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ5DBJUBjTBcEwKGCQBwASQpUhqHYDTbIMByBI";
	var_s = var_s + "UIxUACUJAgeCRYiAMo8RrSEZARBNGR3GqaJ7oGTpRoaP4iSBTUThBRsPyhHqOBpEWIRSqKEQ1DBYcI2RZUaxBJQAAbrWr5VpKKYnSzBA4TBQkSTpGicZxteoJeiefIEV";
	var_s = var_s + "THFwRNaFNS1Linb7ia5qCwmOJXUjcYAYfBOIR1SSBbIsawbNACbJnWjENYVdAdNTlAbPNAyPBqSDaMYRDCOND1BhuNATWSNLq2XZ5OzrGIaVjmWbbfwELZFUqydJ0exe";
	var_s = var_s + "iYNw/kGZBuDCHR/DeEYaCgGhMGcQ4pkiSxDgGXhIESW5MFgbQJBQZx+DScJEGsVZdnufggG+f5fnPFB/ooBZ/EaIAoBYBoBmASAeAqApfjgJgMgOYAoDoEIEl+WBKBSB";
	var_s = var_s + "QhGgXgQgYYYoDIHIHGCKB+CCAYiCiDgREWYhoG4KIKGGaIuCyCBfhiRQJDqXxgAEASAg";
	exg2antt1.VisualAppearance().Add(2,COMVariant::createFromStr(var_s));
	exg2antt1.SelBackMode(1/*exTransparent*/);
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.OverviewVisible(-1/*exOverviewShowAll*/);
		com_Chart.OverviewHeight(64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("7/30/2018",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
		com_Chart.OverviewSelBackColor(0x200ff00);
		com_Chart.OverviewSelTransparent(true,50);
	exg2antt1.SelBackColor(exg2antt1.BackColor());
	exg2antt1.SelForeColor(exg2antt1.ForeColor());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2018",213)),COMVariant::createFromDate(str2Date("8/10/2018",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2019",213)),COMVariant::createFromDate(str2Date("8/12/2019",213)));
		com_Items.SelectItem(com_Items.ItemByIndex(1),true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
2205
How can I display an item of picture type

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h,h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.ScrollBySingleLine(false);
	exg2antt1.HeaderAppearance(4/*Etched*/);
	exg2antt1.HeaderHeight(24);
	COM::createFromVariant(exg2antt1.Columns().Add("Artikel")).HTMLCaption("<u>Artikel");
	COM::createFromVariant(exg2antt1.Columns().Add("Waarde")).HTMLCaption("<u>Waarde");
	exg2antt1.HTMLPicture("T22128","c:\\exontrol\\images\\zipdisk.gif");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("T22128-28)2D");
		h1 = com_Items.InsertItem(h,,"<img>T22128:128</img>");
		com_Items.CellValueFormat(h1,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.ItemHeight(h1,128);
		h1 = com_Items.InsertItem(h,,"werkvoorbereiding");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),"5.80");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.CellValue(com_Items.InsertItem(h1,,"Type"),COMVariant::createFromInt(1),"Eenvoudig");
		com_Items.CellValue(com_Items.InsertItem(h1,,"Prijs p/uur"),COMVariant::createFromInt(1),"60,00");
		com_Items.CellValue(com_Items.InsertItem(h1,,"Marhe"),COMVariant::createFromInt(1),"15,00%");
		com_Items.CellValue(com_Items.InsertItem(h1,,"Insteltijd min."),COMVariant::createFromInt(1),"5,00");
		com_Items.CellValue(com_Items.InsertItem(h1,,"Aantal"),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(com_Items.InsertItem(h1,,"Kostprije"),COMVariant::createFromInt(1),"5,00");
		com_Items.ExpandItem(h1,true);
		h1 = com_Items.InsertItem(h,,"materiall");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),"14.82");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.ItemHasChildren(h1,true);
		h1 = com_Items.InsertItem(h,,"snijden");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),"3.13");
		com_Items.CellBold(h1,COMVariant::createFromInt(1),true);
		com_Items.ItemHasChildren(h1,true);
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}
2204
How can I bold the root group-items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
void onEvent_AddGroupItem(int   _Item)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(_Item,"Progress",COMVariant::createFromDate(str2Date("12/2/2017",213)),COMVariant::createFromDate(str2Date("12/2/2017",213)));
		com_Items.DefineSummaryBars(_Item,"",-3,"");
		com_Items.ItemBold(_Item,true);
}

// AddItem event - Occurs after a new Item has been inserted to Items collection.
void onEvent_AddItem(int   _Item)
{
	;
	exg2antt1.Items().AddBar(_Item,"Task",COMVariant::createFromDate(str2Date("12/4/2017",213)),COMVariant::createFromDate(str2Date("12/10/2017",213)));
}

public void init()
{
	COM com_Chart,com_Column,com_Column1,com_Column2,com_Columns,com_Items;
	anytype var_Chart,var_Column,var_Column1,var_Column2,var_Columns,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/2/2017",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,342);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("C1")); com_Column = var_Column;
			com_Column.GroupByFormatCell("'<caption> (' + value + ')'");
		com_Columns.Add("C2");
		com_Columns.Add("C3");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Pos")); com_Column1 = var_Column1;
			com_Column1.FormatColumn("1 pos ``");
			com_Column1.AllowGroupBy(false);
			com_Column1.Position(0);
			com_Column1.Width(48);
			com_Column1.AllowSizing(false);
	exg2antt1.SortBarVisible(true);
	exg2antt1.SortBarCaption("Drag a <b>column</b> header here to group by that column.");
	exg2antt1.AllowGroupBy(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem A.2");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem A.2");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem A.2");
		h = com_Items.AddItem("Item A");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem A.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem A.2");
		h = com_Items.AddItem("Item B");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem B.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem B.2");
		h = com_Items.AddItem("Item B");
		com_Items.CellValue(h,COMVariant::createFromInt(1),"SubItem B.1");
		com_Items.CellValue(h,COMVariant::createFromInt(2),"SubItem B.2");
	var_Column2 = COM::createFromObject(exg2antt1.Columns()).Item(COMVariant::createFromInt(0)); com_Column2 = var_Column2;
	com_Column2.SortOrder(1/*SortAscending*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,342);
}
*/
2203
The exBarTransparent does not work for overlaid-bars

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.BackColorAlternate(WinApi::RGB2int(240,240,240));
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
		com_Chart.AllowLinkBars(false);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
			com_Bar.Pattern(1/*exPatternSolid*/);
			com_Bar.Overlaid(256/*exOverlaidBarsTransparent*/,COMVariant::createFromInt(0));
			com_Bar.Def(3/*exBarCaption*/,"<%=%9%>");
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/11/2001",213)),"B1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"B2");
		com_Items.ItemBar(0,"<*>",19/*exBarTransparent*/,COMVariant::createFromInt(75));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
2202
We’re adding tasks on the chart which have a caption that is not clipped (and left aligned). When we add another task right after the first one, then the caption from that first bar is “stuck” behind the second bar. The bar's z-order is determined by the bar's key.

public void init()
{
	COM com_Bar,com_Bar1,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bars,var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.DefaultItemHeight(24);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.NonworkingDays(0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/17/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Green"); com_Bar = var_Bar;
			com_Bar.Color(WinApi::RGB2int(0,255,0));
			com_Bar.Def(18/*exBarOffset*/,COMVariant::createFromInt(-2));
			com_Bar.Def(3/*exBarCaption*/,"<%=%9%>");
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar1 = COM::createFromObject(com_Bars).Add("Red"); com_Bar1 = var_Bar1;
			com_Bar1.Color(WinApi::RGB2int(255,0,0));
			com_Bar1.Def(18/*exBarOffset*/,COMVariant::createFromInt(2));
			com_Bar1.Def(3/*exBarCaption*/,"<%=%9%>");
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Red / Green");
		com_Items.AddBar(h1,"Green",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/27/2006",213)),"K1");
		com_Items.AddBar(h1,"Red",COMVariant::createFromDate(str2Date("9/23/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"K2");
		h1 = com_Items.AddItem("Green / Red");
		com_Items.AddBar(h1,"Green",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/27/2006",213)),"K2");
		com_Items.AddBar(h1,"Red",COMVariant::createFromDate(str2Date("9/23/2006",213)),COMVariant::createFromDate(str2Date("9/25/2006",213)),"K1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
2201
The caption/text of the link is overwritten by its line. What can be done

public void init()
{
	COM com_Chart,com_Items,com_Level;
	anytype var_Chart,var_Items,var_Level;
	int h,h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/21/2005",213)));
		com_Chart.ResizeUnitScale(65536/*exHour*/);
		com_Chart.UnitWidth(48);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.Label("<b><%mmm%></b> <%dd%>");
		com_Chart.LinksWidth(3);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("6/22/2005",213)),COMVariant::createFromDate(str2Date("6/23/2005",213)));
		h1 = com_Items.InsertItem(h,,"Child");
		com_Items.AddBar(h1,"Task",COMVariant::createFromUtcDateTime(str2Datetime("6/24/2005 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("6/24/2005 16:00:00",213)));
		com_Items.AddLink("Link1",h,"",h1,"");
		com_Items.Link("Link1",12/*exLinkText*/,"<bgcolor=FFFFFF> link </bgcolor>");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/