1968:
How do I get the duration/working count of the bar (sample 6,excrd)

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Column,com_Column1,com_Column2,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Column,var_Column1,var_Column2,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(48);
	exg2antt1.ShowFocusRect(false);
	exg2antt1.SelBackMode(1/*exTransparent*/);
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	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,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/26/2001",213)));
		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(6/*exBarToolTip*/,"<%=%263%>");
			com_Bar.Def(18/*exBarOffset*/,COMVariant::createFromInt(-12));
		com_Chart.ColumnsFormatLevel("1,2/3");
	exg2antt1.Columns().Add("Tasks");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Duration")); com_Column = var_Column;
		com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(513));
		com_Column.Visible(false);
		com_Column.Alignment(0/*LeftAlignment*/);
		com_Column.FormatColumn("value + `d`");
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Working")); com_Column1 = var_Column1;
		com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258));
		com_Column1.Visible(false);
		com_Column1.Alignment(2/*RightAlignment*/);
		com_Column1.FormatColumn("value + `w`");
	var_Column2 = COM::createFromVariant(exg2antt1.Columns().Add("Working-Period")); com_Column2 = var_Column2;
		com_Column2.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(263));
		com_Column2.Visible(false);
		com_Column2.Alignment(1/*CenterAlignment*/);
		com_Column2.FormatColumn("((value replace `\\r\\n` with `,`) replace `#` with ``) replace ` ` with ``");
	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/2002",213)),COMVariant::createFromDate(str2Date("1/11/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("12/31/2001",213)),COMVariant::createFromDate(str2Date("1/13/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1967:
How do I get the duration/working count of the bar (sample 5)

// 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.ItemMaxHeight(_Item,64);
}

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Column,com_Column1,com_Column2,com_Column3,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Items;
	;

	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,256);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2002",213)));
		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(6/*exBarToolTip*/,"<%=%263%>");
		com_Chart.ColumnsFormatLevel("1,2");
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Task")); com_Column = var_Column;
		com_Column.AllowSizing(false);
		com_Column.Width(48);
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Duration")); com_Column1 = var_Column1;
		com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(513));
		com_Column1.Visible(false);
		com_Column1.Alignment(0/*LeftAlignment*/);
	var_Column2 = COM::createFromVariant(exg2antt1.Columns().Add("Working")); com_Column2 = var_Column2;
		com_Column2.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258));
		com_Column2.Visible(false);
		com_Column2.Alignment(2/*RightAlignment*/);
	var_Column3 = COM::createFromVariant(exg2antt1.Columns().Add("Working-Period")); com_Column3 = var_Column3;
		com_Column3.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(263));
		com_Column3.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
	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/2002",213)),COMVariant::createFromDate(str2Date("1/12/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/4/2002",213)),COMVariant::createFromDate(str2Date("1/16/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,256);
}
*/
1966:
How do I get the duration/working count of the bar (sample 4)

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;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/26/2001",213)));
		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_Chart.ColumnsFormatLevel("1,2");
	COM::createFromVariant(exg2antt1.Columns().Add("Task")).Width(48);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Duration")); com_Column = var_Column;
		com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(513));
		com_Column.Visible(false);
		com_Column.Alignment(0/*LeftAlignment*/);
		com_Column.FormatColumn("value + `d`");
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Working")); com_Column1 = var_Column1;
		com_Column1.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258));
		com_Column1.Visible(false);
		com_Column1.Alignment(2/*RightAlignment*/);
		com_Column1.FormatColumn("value + `w`");
	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/2002",213)),COMVariant::createFromDate(str2Date("1/12/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1965:
How do I get the duration/working count of the bar (sample 3)

// BarResizing event - Occurs when a bar is moving or resizing.
void onEvent_BarResizing(int   _Item,COMVariant   _Key)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		print( com_Items.CellCaption(_Item,COMVariant::createFromInt(0)) );
		print( "Working" );
		print( com_Items.ItemBar(_Item,_Key,258/*exBarWorkingCount*/) );
		print( com_Items.CellCaption(_Item,COMVariant::createFromInt(0)) );
		print( "Duration" );
		print( com_Items.ItemBar(_Item,_Key,513/*exBarDuration*/) );
}

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

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/26/2001",213)));
		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::createFromVariant(exg2antt1.Columns().Add("Task")).Width(48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2002",213)),COMVariant::createFromDate(str2Date("1/12/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1964:
How do I get the duration/working count of the bar (sample 2)

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

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/26/2001",213)));
		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(3/*exBarCaption*/,"<%=%258%>w");
			com_Bar.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar.Def(44/*exBarExtraCaption*/,"<%=%513%>d");
			com_Bar.Def(45/*exBarExtraCaptionHAlign*/,COMVariant::createFromInt(16));
	COM::createFromVariant(exg2antt1.Columns().Add("Task")).Width(48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2002",213)),COMVariant::createFromDate(str2Date("1/12/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1963:
How do I get the duration/working count of the bar (sample 1)

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

	super();

	exg2antt1.BeginUpdate();
	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.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2002",213)));
		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::createFromVariant(exg2antt1.Columns().Add("Task")).Width(48);
	COM::createFromVariant(exg2antt1.Columns().Add("Duration")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(513));
	COM::createFromVariant(exg2antt1.Columns().Add("Working")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258));
	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/2002",213)),COMVariant::createFromDate(str2Date("1/12/2002",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2002",213)),COMVariant::createFromDate(str2Date("1/15/2002",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,196);
}
*/
1962:
How can I draw a solid frame around the the focusing item

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.DefaultItemHeight(20);
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.RenderType(-1);
		var_s = "gBFLBCJwBAEHhEJAAEhABOkGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeDYMiSNoYDJCM4wHI";
		var_s = var_s + "URRJFCUJSGWQpTgSIgyT5HFIxXKoASbJabZLhWS6EpWOotTbIQQRYCkEyfKKfZyGURZQqOKA1DBZErWTJESRFJqLazgO4LAhyQYrVgAErzVKVCRNOqbJzADApdpGQJTU";
		var_s = var_s + "LDNTQHRFIyhOSnIRrWbMAhid6JUZiVT4dBOIYhSYANAqCwLFqrDJmWrpV5WZjlZ47V6BdAyXJsIrmFJEXaOGhyDDlGybSDZYryfZhUziUw4XjbWwZDqPF6DKTTdSGLRE";
		var_s = var_s + "E8WZVlURZvDaep3C+AY8kAYRgGCCBJECUhjDoHROEYWgoAGTQ1CEEx9lGMY0CQUYSnuZQDBGBYFlOH5+H+igGAKAJgEgFgGgGVgDn4CoCmCSA2A6A5hAgDgQgSYRIE4E";
		var_s = var_s + "oFGGCBiBeBhhkgPgbgcYgICoH4IGGWIOCSBhiGiHgVgoYooFoAoLGIWI+DCCgjCiTgrgII4ImYOoOmOSJ2AYOpWlQDQBICA=";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
	exg2antt1.ShowFocusRect(true);
	exg2antt1.Background(19/*exShowFocusRect*/,0x1000000);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,1);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("P1")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,1);
}
*/
1961:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 2)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.DefaultItemHeight(20);
	exg2antt1.ShowFocusRect(true);
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.RenderType(-1);
		var_s = "gBFLBCJwBAEHhEJAAEhABPEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBKUQSDqEYyjGLIXAWCYSAAMIwDKAUEwpFAZBhgeCRUgyJI3RgMUIzVA";
		var_s = var_s + "cRRFEiUJQlIZZCjOAw0SIMU7xZRcNxsACnaZnCR4NiuRYiUhOcqzRIQIQ4CiEahqOgJbDUJYwWZKAyjBY8XTZFCSJCpeJ6egOc5jRxQUp1WAEXx3GSsJKvCZ5cADBY+V";
		var_s = var_s + "LQNS0JBtMSTKSLaiuWoIJqCPaDRheWKQJh1NSnLqEcjyYANDxDCZlWzAYxWTZ2Uz7N7PbB0HY4DyPGKZYrfESVRbQcZNS6nNigPI9XhfGq6VjRe63ZaOaYpWrnOJqTRW";
		var_s = var_s + "jOKYujWdZ2BGO5lkuBAAkmcQkDmDBEAwEQJCgGhMGcQ4pkiSxGAAOYmkQIhvkYNg2gSCgyj+LI4GIMIwF2XQoAYAoAmASAWAaAZgggJgKFiT54DYDoDmECBGBKBJgGgT";
		var_s = var_s + "gWgWYRoFYGIGmGOBqByB5hCgegggiYJYgoJIICIaIeByChiigYgsgsYYYBYMIKCMKJOCuDRjGiOgLg6Y5InYPoPmQCAkmsXAQDQBCAg=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s));
		com_Appearance.Add(3,"CP:2 -3 0 3 0");
	exg2antt1.Background(19/*exShowFocusRect*/,0x3010101);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,1);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("P1")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,1);
}
*/
1960:
The frame around the focusing item is not very clear. Can I show it larger or more cleared (sample 1)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.ShowFocusRect(true);
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAEhABHoDg6AADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA";
		var_s = var_s + "ceAAGaUZrjSgobjmOYhAJCLqhYIgASXJqLaBlOCaAieSc+QhjQJIJoeCZXU5TFg1BTsOhqEqcRiseaRVDCaIJWzbdYWLDdNQHHKYLjnWorbpSJZ5XjNEySDQkMS9PrEJ";
		var_s = var_s + "7vST8FBCdAABLJUB2BR9RwxRafKpnWwJDpmCaOQLXEB5DK1PyVMTKYrtGy7GrIAJxWxbV4UHh+QABOzIMAvHKJMwvHYcUZne5XVLeF41HbONogPaJZyIAK2cLROq6Xo7";
		var_s = var_s + "GEcJZEcLASB4DwvgWUZlE6AQQhKAYkkYdA6hyDIwHgSoqFwQgmnsYxjGgSIiBOTpSEiAwRgOJI7j4JAHA6U5wm0MpPlOBIjD8TZiGYCICiCGAuA6AxhAgMgSgOYQ4DYB";
		var_s = var_s + "g/g6cw1n+ABOmMMJ9DmCwjnScw4RsVJngkYh4hoKIKmKKI2CmC5ikiQgqgiT5jhyMw8g4QwIn0OIKEiCJhD8DwTGyfA7k0WQOEWEQkGkJhIhKZB5DYSoTiSCQEn4PQOC";
		var_s = var_s + "OXJcCeIJjliaIQk0aRyF4O5llmAhfhgZhJg4ZoYiaAxYn4PZOhOZJaCUZYTiYQw1mcOZUm+HQnHmWh4h6Z4pnYeYfk0eYsmqG4nAgNJ2DqD5DkCWoiGiOgqgyI5omoRo";
		var_s = var_s + "NiSaQKFKEojCaM4ugSFhOjkAJcieKgDkaH4oioGoOiaKRqgqEoqDddwyhuAxPgOMJ8DyDZqk6NYtCsapmjiLprHqdo6i+K5K1oPhOlqPgKD4DpjnII4yiOewuk6MxtAs";
		var_s = var_s + "MpSjObQ7EaT4wk6ewYn0PgPAiCJkjeLgDk6X44i4G4OmaORuguEpqDkLAzkaWg+E8GIUmaPIvEOVpzj2Lxbl6eo+G+S5in4OYPmOaJyjuTwjnYWpBg6DAjAqQZwkwJwN";
		var_s = var_s + "kKcJsEcEJCDBEpaD6Dw8BiapGjGSgfB2RpxmyBwgkicZ8haBw/g+M5TBcPQPlOXJskscp8jsMJMnMLJXDGTZzEyYw2kwMoDlcFw9i2M4/EGUJPg0CxFlENBtCcSJSnQf";
		var_s = var_s + "Q0m+SgPHsaJ7lALZLG6XZVHWDRfFqVY1k0ZxdladYTnifJUGaeAWAeMnSGcGWgBObJ3lWbwdjKW5cHcTZPHaLkN4GxXDlFqFsA4uRbBOGAFAEIzAsDEFOBkfYqR4D6AO";
		var_s = var_s + "BEYo8QuBvAmMceInBDgcD0JwOIqQyJ1DMAwG4IANDnHSMoK4QhOgMBGNEIQvQWAdGenETIswGiddsAAQAgCAgA==";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzAJBIYhkGYYYCgMZRUDGCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADDFIBQSLAYROGSDJBGODJDjWGIeQLOEhQHI";
		var_s1 = var_s1 + "MRxPE6UYLhWYpBDKPYcUbGc7yBBMVwGf59XzACoKSheQIVSDQkw6Fo6NYhAxHALyNRkBy8f60KjtGpodDUJYvW5JYyjBZ8EznOqbJBkeJ7BgOe5NQjaD72VgdWQJFSWJ";
		var_s1 = var_s1 + "ajWYYJDOJY2ZAAE5TVINEwxJbDaylChIdxaF6WAzZEBhBYoATPNLBMrhWqKDw2XaQWBCOgwHYeR5LU7BdRwbIrRq2eAAXbcVyXfDddZlBK+QA0SK9lRVTKvJZmKgBWw1";
		var_s1 = var_s1 + "COSxmAAGw4kcNx1iKFBiCAfQsG8lJemucg7nsXpUHOOxrm+DI3jOH4XAOBx2nscw0j2HhPG4L5uGEVIECQCBCEUAYkGMHQHFGSBlGaAxkEgQgTGCVBsDYQhCgQJZrHKU";
		var_s1 = var_s1 + "ggGEShkFGNgIlsNpPnMHJHD+TADAIJIJiIWIeCqChikiIgmgiD5zHyXxgiACJKCuC4jHiZgtg6I4IlkCQwkwOIonMPJjEkFhGhGZBpA4KoMBCGJuEiE5lAkGg7hMY4JE";
		var_s1 = var_s1 + "YVoUCUNAOE6FZl0KWQACWOR2GKF5mBmChchkJRZhoXYaCKKYqGuDglEmNhuhWZpIiYc4dCcCRqGmHZlgm2YxAwSQKESHwkFkKgpiAIAIH4PIimOOg2DiChoiQJRRD+TZ";
		var_s1 = var_s1 + "DHCfwyAyCgyg+JpiioYJ/DgDgIlECQ6lwRAEICA=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
		com_Appearance.Add(3,"CP:2 -2 0 2 0");
	exg2antt1.SelBackColor(0x1000000);
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,1);
	exg2antt1.Background(19/*exShowFocusRect*/,0x3ff0000);
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("P1")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,1);
}
*/
1959:
How can I display the start/end margins of bars, when cursor hovers it like a tooltip

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("exBarToolTip");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		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(6/*exBarToolTip*/,"<b><%=%9 + '/' + %C0%></b><br><upline><dotline>Start: <%=%1%><br>End: <%=%2%><br>Duration: <%=(%2-%1)%><br>Working: <%=%258%>");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Bar.Def"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),"K1");
		com_Items.AddBar(com_Items.AddItem("Bar.Def"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K1");
		h = com_Items.AddItem("Items.ItemBar");
		com_Items.AddBar(h,"Unknown",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/11/2001",213)),"K");
		com_Items.ItemBar(h,"K",6/*exBarToolTip*/,"Start:<%=%1%><br>End:<%=%2%>");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1958:
Is it possible to define different kinds of summary bars with using the EBN files

public void init()
{
	COM com_Appearance,com_Bar,com_Bar1,com_Chart,com_Items;
	anytype var_Appearance,var_Bar,var_Bar1,var_Chart,var_Items;
	int hSummaryJ,hSummaryK,hSummaryZ,hTaskJ,hTaskK,hTaskZ;
	str var_s,var_s1;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.RenderType(-16777216);
		var_s = "gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwHI";
		var_s = var_s + "ERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6S";
		var_s = var_s + "TCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKpF";
		var_s = var_s + "HIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQhaX";
		var_s = var_s + "QIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQGh";
		var_s1 = var_s1 + "+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKfa";
		var_s1 = var_s1 + "ZACj4arKejrRDCMAggI=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
	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,128);
		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.Color(WinApi::RGB2int(1,0,0));
		var_Bar1 = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar1 = var_Bar1;
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
			com_Bar1.Color(0x2000000);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		hSummaryJ = com_Items.AddItem("Summary A");
		com_Items.AddBar(hSummaryJ,"Summary",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)),"J");
		hTaskJ = com_Items.InsertItem(hSummaryJ,,"Task A.1");
		com_Items.AddBar(hTaskJ,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"J1");
		hTaskJ = com_Items.InsertItem(hSummaryJ,,"Task A.2");
		com_Items.AddBar(hTaskJ,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"J2");
		com_Items.DefineSummaryBars(hSummaryJ,"J",-1,"<*>");
		hSummaryK = com_Items.AddItem("Summary B");
		com_Items.AddBar(hSummaryK,"Summary",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)),"K");
		hTaskK = com_Items.InsertItem(hSummaryK,,"Task B.1");
		com_Items.AddBar(hTaskK,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"K1");
		hTaskK = com_Items.InsertItem(hSummaryK,,"Task B.2");
		com_Items.AddBar(hTaskK,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.DefineSummaryBars(hSummaryK,"K",-1,"<*>");
		com_Items.ItemBar(0,"<K*>",33/*exBarColor*/,COMVariant::createFromInt(255));
		hSummaryZ = com_Items.AddItem("Summary B");
		com_Items.AddBar(hSummaryZ,"Summary",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)),"Z");
		hTaskZ = com_Items.InsertItem(hSummaryZ,,"Task B.1");
		com_Items.AddBar(hTaskZ,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"Z1");
		hTaskZ = com_Items.InsertItem(hSummaryZ,,"Task B.2");
		com_Items.AddBar(hTaskZ,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"Z2");
		com_Items.DefineSummaryBars(hSummaryZ,"Z",-1,"<*>");
		com_Items.ItemBar(hSummaryZ,"Z",33/*exBarColor*/,COMVariant::createFromInt(16842496));
		com_Items.ItemBar(0,"<Z1>",33/*exBarColor*/,COMVariant::createFromInt(50266112));
		com_Items.ItemBar(0,"<Z2>",33/*exBarColor*/,COMVariant::createFromInt(33554176));
		com_Items.ExpandItem(0,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1957:
How can I display the week-number in ISO8601 format

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.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/12/2007",213)));
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		com_Chart.UnitScale(256/*exWeek*/);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.FormatLabel("value + `<r><off -4><fgcolor=808080><font ;6>` + year(dvalue)");
		var_Level = COM::createFromObject(com_Chart.Level(1)); com_Level = var_Level;
		com_Level.FormatLabel("(value = 1 ? `<bgcolor=000000><fgcolor=FFFFFF>` : ``) + value");
		com_Chart.WeekNumberAs(0/*exISO8601WeekNumber*/);
		com_Chart.FirstWeekDay(1/*exMonday*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1956:
I have a column right-aligned. How can I display its check box aligned to the right, as it appears to the left of the cell's caption

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.ColumnAutoResize(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.DrawGridLines(2/*exVLines*/);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		var_Column = COM::createFromVariant(com_Columns.Add("Left")); com_Column = var_Column;
			com_Column.AllowSizing(false);
			com_Column.Width(96);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.FormatColumn("0 pos `A-Z`");
		var_Column1 = COM::createFromVariant(com_Columns.Add("Center")); com_Column1 = var_Column1;
			com_Column1.HeaderAlignment(1/*CenterAlignment*/);
			com_Column1.Alignment(com_Column1.HeaderAlignment());
			com_Column1.AllowSizing(false);
			com_Column1.Width(96);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.FormatColumn("0 pos `A-Z`");
		var_Column2 = COM::createFromVariant(com_Columns.Add("Right")); com_Column2 = var_Column2;
			com_Column2.HeaderAlignment(2/*RightAlignment*/);
			com_Column2.Alignment(com_Column2.HeaderAlignment());
			com_Column2.AllowSizing(false);
			com_Column2.Width(96);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.FormatColumn("0 pos `A-Z`");
			com_Column2.Def(34/*exCellDrawPartsOrder*/,"caption,check,icon,icons,picture");
		com_Columns.Add("");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1955:
Can I display the column's multiple-lines caption vertically oriented (method 2)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderHeight(48);
	exg2antt1.ColumnAutoResize(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("")); com_Column = var_Column;
			com_Column.HTMLCaption("First Column");
			com_Column.HeaderVertical(true);
			com_Column.Width(36);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("")); com_Column1 = var_Column1;
			com_Column1.HTMLCaption("<c><b>Second Column");
			com_Column1.HeaderVertical(true);
			com_Column1.Width(36);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("")); com_Column2 = var_Column2;
			com_Column2.HTMLCaption("<r>Third Column");
			com_Column2.HeaderVertical(true);
			com_Column2.Width(36);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column2.Position(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1954:
Can I display the column's multiple-lines caption vertically oriented (method 1)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderHeight(48);
	exg2antt1.HeaderSingleLine(false);
	exg2antt1.ColumnAutoResize(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("First Column")); com_Column = var_Column;
			com_Column.HeaderVertical(true);
			com_Column.Width(36);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Second Column")); com_Column1 = var_Column1;
			com_Column1.HeaderBold(true);
			com_Column1.HeaderVertical(true);
			com_Column1.Width(36);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Third Column")); com_Column2 = var_Column2;
			com_Column2.HeaderVertical(true);
			com_Column2.Width(36);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Def(48/*exCellPaddingLeft*/,COMVariant::createFromInt(8));
			com_Column2.Position(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1953:
Can I display the column's caption vertically oriented (method 2)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderHeight(48);
	exg2antt1.ColumnAutoResize(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("")); com_Column = var_Column;
			com_Column.HTMLCaption("First");
			com_Column.HeaderVertical(true);
			com_Column.Width(20);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("")); com_Column1 = var_Column1;
			com_Column1.HTMLCaption("<c><b>Second");
			com_Column1.HeaderVertical(true);
			com_Column1.Width(20);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("")); com_Column2 = var_Column2;
			com_Column2.HTMLCaption("<r>Third");
			com_Column2.HeaderVertical(true);
			com_Column2.Width(20);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Position(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1952:
Can I display the column's caption vertically oriented (method 1)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HeaderHeight(48);
	exg2antt1.ColumnAutoResize(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("And others ...");
		var_Column = COM::createFromVariant(com_Columns.Add("First")); com_Column = var_Column;
			com_Column.HeaderVertical(true);
			com_Column.Width(20);
			com_Column.AllowSizing(false);
			com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column.Position(0);
		var_Column1 = COM::createFromVariant(com_Columns.Add("Second")); com_Column1 = var_Column1;
			com_Column1.HeaderBold(true);
			com_Column1.HeaderVertical(true);
			com_Column1.Width(20);
			com_Column1.AllowSizing(false);
			com_Column1.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column1.Position(1);
		var_Column2 = COM::createFromVariant(com_Columns.Add("Third")); com_Column2 = var_Column2;
			com_Column2.HeaderVertical(true);
			com_Column2.Width(20);
			com_Column2.AllowSizing(false);
			com_Column2.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
			com_Column2.Position(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellState(com_Items.AddItem("Item 1"),COMVariant::createFromInt(3),1);
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(2),1);
		com_Items.CellState(com_Items.AddItem("Item 3"),COMVariant::createFromInt(1),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1951:
How can I resize all task-bars 0-length

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/3/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/5/2017",213)));
		com_Items.ItemBarEx("itembar(513) = 0 and itembar(0) = `Task`",33/*exBarColor*/,COMVariant::createFromInt(255));
		com_Items.ItemBarEx("itembar(513) = 0 and itembar(0) = `Task`",513/*exBarDuration*/,"value + 1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1950:
Is it possible to mark items that holds items with 0-length (zero,empty, sample 3)
public void init()
{
	COM com_Chart,com_Column,com_ConditionalFormat,com_Items;
	anytype var_Chart,var_Column,var_ConditionalFormat,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Duration")); com_Column = var_Column;
		com_Column.Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(513));
		com_Column.Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%1 = 0"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.Bold(true);
		com_ConditionalFormat.BackColor(WinApi::RGB2int(190,190,190));
		com_ConditionalFormat.ChartBackColor(com_ConditionalFormat.BackColor());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AllowCellValueToItemBar(true);
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/3/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/5/2017",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1949:
Is it possible to mark items that holds items with 0-length (zero,empty, sample 2)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/3/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/5/2017",213)));
		com_Items.ItemBarEx("itembar(513) = 0",3/*exBarCaption*/,"`zero-length`");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1948:
Is it possible to mark items that holds items with 0-length (zero,empty, sample 1)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/3/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/5/2017",213)));
		com_Items.ItemBarEx("itembar(513) = 0",53/*exBarBackgroundExt*/,"`[frame=RGB(255,0,0),framethick,pattern=6,patterncolor=RGB(255,0,0)]`");
		com_Items.ItemBarEx("itembar(513) = 0",55/*exBarBackgroundExtInflate*/,"`-4,-4,4,4`");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1947:
How can I find how many tasks/bars of 0-length (zero,empty) do I have

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/3/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/5/2017",213)));
		print( com_Items.ItemBarEx("itembar(513) = 0",256/*exBarsCount*/) );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1946:
How can I remove all bars from selected items

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 h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.SelBackColor(WinApi::RGB2int(240,240,240));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(3/*exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Task,Task-Diff");
			com_Bar.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			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).Copy("Task","Task-Diff"); com_Bar1 = var_Bar1;
			com_Bar1.Height(4);
			com_Bar1.Color(WinApi::RGB2int(255,0,0));
			com_Bar1.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(16));
	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/6/2017",213)));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.SelectItem(h,true);
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)),"");
		com_Items.AddBar(h,"Task-Diff",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213)),"P");
		com_Items.SelectItem(h,true);
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		print( "Bars before remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
		com_Items.ItemBarEx("itemisselected",9/*exBarKey*/,"`toberemove` + value ");
		com_Items.RemoveBar(0,"<toberemove*>");
		print( "Bars after remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1945:
How can I remove task bars from selected items

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 h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.SelBackColor(WinApi::RGB2int(240,240,240));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(3/*exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Task,Task-Diff");
			com_Bar.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			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).Copy("Task","Task-Diff"); com_Bar1 = var_Bar1;
			com_Bar1.Height(4);
			com_Bar1.Color(WinApi::RGB2int(255,0,0));
			com_Bar1.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(16));
	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/6/2017",213)));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.SelectItem(h,true);
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)),"");
		com_Items.AddBar(h,"Task-Diff",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213)),"P");
		com_Items.SelectItem(h,true);
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		print( "Bars before remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
		com_Items.ItemBarEx("itemisselected and itembar(0) = `Task`",9/*exBarKey*/,"`toberemove` + value ");
		com_Items.RemoveBar(0,"<toberemove*>");
		print( "Bars after remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1944:
How can I change the pattern for some bars only

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

	super();

	exg2antt1.BeginUpdate();
	COM::createFromVariant(exg2antt1.Columns().Add("Tasks")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx("cellstate(0)",42/*exBarPattern*/,COMVariant::createFromInt(6));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1943:
How do I apply the same effort to all bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.HistogramView(112/*exHistogramAllItems*/);
		com_Chart.HistogramVisible(true);
		com_Chart.HistogramHeight(64);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.HistogramPattern(6/*exPatternBDiagonal*/);
			com_Bar.HistogramType(1/*exHistOverAllocation*/);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),21/*exBarEffort*/,COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1942:
How do I apply the same percent to all bars

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("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task%Progress"); com_Bar = var_Bar;
			com_Bar.Shortcut("Task");
			com_Bar.Def(14/*exBarShowPercentCaption*/,COMVariant::createFromBoolean(true));
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),12/*exBarPercent*/,COMVariant::createFromReal(0.5));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1941:
How can I set the same duration for all bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),513/*exBarDuration*/,COMVariant::createFromInt(4));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1940:
How do I move all bars to end at the same date-time

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),545/*exBarMoveEnd*/,"#8/15/2017#");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1939:
How do I move all bars to start at the same date-time

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),544/*exBarMoveStart*/,"#8/2/2017#");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1938:
How do I apply a new color for some bars, while others should be shown with a different color

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 h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.SelBackColor(WinApi::RGB2int(240,240,240));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(3/*exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Task,Task-Diff");
			com_Bar.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			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).Copy("Task","Task-Diff"); com_Bar1 = var_Bar1;
			com_Bar1.Height(4);
			com_Bar1.Color(WinApi::RGB2int(255,0,0));
			com_Bar1.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(16));
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)),"");
		com_Items.AddBar(h,"Task-Diff",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213)),"P");
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),33/*exBarColor*/,"cellcaption(0) like `*2` ? 0x0000FF : 0x00FF00");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1937:
How do I hide some bars, and show others

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 h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SingleSel(false);
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		com_Chart.SelBackColor(WinApi::RGB2int(240,240,240));
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.OverlaidType(3/*exOverlaidBarsStack*/);
			com_Bar.OverlaidGroup("Task,Task-Diff");
			com_Bar.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			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).Copy("Task","Task-Diff"); com_Bar1 = var_Bar1;
			com_Bar1.Height(4);
			com_Bar1.Color(WinApi::RGB2int(255,0,0));
			com_Bar1.Def(3/*exBarCaption*/,"<font ;6><%=%0%>");
			com_Bar1.Def(4/*exBarHAlignCaption*/,COMVariant::createFromInt(16));
	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/6/2017",213)));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.SelectItem(h,true);
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)),"");
		com_Items.AddBar(h,"Task-Diff",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/14/2017",213)),"P");
		com_Items.SelectItem(h,true);
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		com_Items.ItemBarEx("-1",19/*exBarTransparent*/,"itembar(0) = `Task` ? 0 : 100");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1936:
I like how ItemBarEx works, the question is how can I remove the bars based on the same criteria

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
	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/6/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/9/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/13/2017",213)));
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("8/5/2017",213)),COMVariant::createFromDate(str2Date("8/16/2017",213)));
		print( "Bars before remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
		com_Items.ItemBarEx("cellcaption(0) like `*2 *3`",9/*exBarKey*/,"`toberemove` + value ");
		com_Items.RemoveBar(0,"<toberemove*>");
		print( "Bars after remove: " );
		print( com_Items.ItemBar(0,"<*>",256/*exBarsCount*/) );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1935:
Is it possible to automatically color the bar being checked

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
}

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SelBackMode(1/*exTransparent*/);
	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,256);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2017",213)));
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CS0","check"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.Bold(true);
		com_ConditionalFormat.ApplyToBars("Task");
		com_ConditionalFormat.BarColor(WinApi::RGB2int(0,0,1));
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.Width(256);
	COM::createFromVariant(exg2antt1.Columns().Add(exg2antt1.ConditionalFormats().Item("check").Expression())).FormatColumn(exg2antt1.ConditionalFormats().Item("check").Expression());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2017",213)),COMVariant::createFromDate(str2Date("1/12/2017",213)));
		h = com_Items.AddItem("Item 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/3/2017",213)),COMVariant::createFromDate(str2Date("1/13/2017",213)));
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
		h = com_Items.AddItem("Item 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/4/2017",213)),COMVariant::createFromDate(str2Date("1/14/2017",213)));
		com_Items.CellState(h,COMVariant::createFromInt(0),1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,256);
}
*/
1934:
How do I automatically bold items being checked

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
}

public void init()
{
	COM com_ConditionalFormat,com_Items;
	anytype var_ConditionalFormat,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.SelBackMode(1/*exTransparent*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("%CS0","check"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.Bold(true);
	COM::createFromVariant(exg2antt1.Columns().Add("Items")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	COM::createFromVariant(exg2antt1.Columns().Add(exg2antt1.ConditionalFormats().Item("check").Expression())).FormatColumn(exg2antt1.ConditionalFormats().Item("check").Expression());
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item 1");
		com_Items.CellState(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Item 3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1933:
Can I display the radio-button with a solid color

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

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.RadioImage(0,32699122);
	exg2antt1.RadioImage(1,16777216);
	COM::createFromVariant(exg2antt1.Columns().Add("Check")).Def(1/*exCellHasRadioButton*/,COMVariant::createFromBoolean(true));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Radio 1");
		com_Items.CellState(com_Items.AddItem("Radio 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Radio 1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1932:
Can I display the check-box with a solid color

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

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.CheckImage(0/*Unchecked*/,32699122);
	exg2antt1.CheckImage(1/*Checked*/,16777216);
	COM::createFromVariant(exg2antt1.Columns().Add("Check")).Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Check 1");
		com_Items.CellState(com_Items.AddItem("Check 2"),COMVariant::createFromInt(0),1);
		com_Items.AddItem("Check 3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1931:
How can I use the CellState with ConditionalFormat/ComputedField/FormatColumn

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	;
}

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(4/*exGroupLinesInsideLeaf*/);
	exg2antt1.SelBackMode(1/*exTransparent*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Format")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("%CS0");
		com_Column1.Caption(com_Column1.FormatColumn());
		com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Item 1");
		com_Items.CellState(com_Items.InsertItem(h,,"Item 2"),COMVariant::createFromInt(0),1);
		com_Items.CellState(com_Items.InsertItem(h,,"Item 3"),COMVariant::createFromInt(0),1);
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1930:
How can I use the CellData with ConditionalFormat/ComputedField/FormatColumn

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

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.Columns().Add("Items");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Format")); com_Column = var_Column;
		com_Column.FormatColumn("%CD0");
		com_Column.Caption(com_Column.FormatColumn());
		com_Column.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column.Def(8/*exHeaderForeColor*/,com_Column.Def(5/*exCellForeColor*/));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellData(com_Items.AddItem("Item 1"),COMVariant::createFromInt(0),COMVariant::createFromInt(1234));
		com_Items.CellData(com_Items.AddItem("Item 2"),COMVariant::createFromInt(0),"this is just an user data");
		com_Items.CellData(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0),COMVariant::createFromDate(str2Date("1/1/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1929:
How can I use the CellValue/CellCaption with ConditionalFormat/ComputedField/FormatColumn

public void init()
{
	COM com_Column,com_Column1,com_Column2,com_Editor,com_Items;
	anytype var_Column,var_Column1,var_Column2,var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Items")); com_Column = var_Column;
		var_Editor = com_Column.Editor(); com_Editor = var_Editor;
			com_Editor.EditType(3/*DropDownListType*/);
			com_Editor.AddItem(1,"Item 1");
			com_Editor.AddItem(2,"Item 2");
			com_Editor.AddItem(3,"Item 3");
	var_Column1 = COM::createFromVariant(exg2antt1.Columns().Add("Format")); com_Column1 = var_Column1;
		com_Column1.FormatColumn("%0");
		com_Column1.Caption(com_Column1.FormatColumn());
		com_Column1.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column1.Def(8/*exHeaderForeColor*/,com_Column1.Def(5/*exCellForeColor*/));
		com_Column1.AllowSizing(false);
	var_Column2 = COM::createFromVariant(exg2antt1.Columns().Add("Format")); com_Column2 = var_Column2;
		com_Column2.FormatColumn("%C0");
		com_Column2.Caption(com_Column2.FormatColumn());
		com_Column2.Def(5/*exCellForeColor*/,COMVariant::createFromInt(8421504));
		com_Column2.Def(8/*exHeaderForeColor*/,com_Column2.Def(5/*exCellForeColor*/));
		com_Column2.AllowSizing(false);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(0)),COMVariant::createFromInt(0),COMVariant::createFromInt(2));
		com_Items.AddItem(COMVariant::createFromInt(2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1928:
How can I use the ShowNonworkingHours property (hide the non-working hours)

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

	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.LevelCount(2);
		com_Chart.UnitScale(65536/*exHour*/);
		com_Chart.NonworkingHours(16253183);
		com_Chart.ShowNonworkingHours(false);
		com_Chart.ShowNonworkingUnits(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1927:
How can I use the ShowNonworkingDates property (hide the non-working days)

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

	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.LevelCount(2);
		com_Chart.UnitScale(4096/*exDay*/);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.ShowNonworkingUnits(false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1926:
How can I show/hide bars once the user checks or un-checks a column

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),19/*exBarTransparent*/,"cellstate(0) = 1 ? 0 : 100");
}

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),19/*exBarTransparent*/,"cellstate(0) = 1 ? 0 : 100");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1925:
How can I change the color for all Task bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("itembar(0) = `Task`",33/*exBarColor*/,COMVariant::createFromInt(65280));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1924:
Is it possible to automatically select bars only when user selects a new item

// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),257/*exBarSelected*/,"itemisselected");
}

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowSelectObjects(0/*exNoSelectObjects*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1923:
Is it possible to automatically select bars only when the user clicks the column's checkbox

// CellStateChanged event - Fired after cell's state has been changed.
void onEvent_CellStateChanged(int   _Item,int   _ColIndex)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),257/*exBarSelected*/,"cellstate(0) = 1");
}

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.AllowSelectObjects(0/*exNoSelectObjects*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1922:
How do I select all bars on leaf items

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("itemlevel = 1",257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1921:
How can I change the caption for all checked Task bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("(cellstate(0) = 1) and (itembar(0) = `Task`)",3/*exBarCaption*/,"`new caption`");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1920:
How can I change the caption for all Task bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("(itembar(0) = `Task`)",3/*exBarCaption*/,"`new caption`");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1919:
How can I change the caption for all bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),3/*exBarCaption*/,"`new caption`");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1918:
How can I move all Task bars to end at the same date time

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("(itembar(0) = `Task`)",514/*exBarMove*/,"#8/14/2017# - itembar(2)");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1917:
How can I move all Task bars to start at the same date time

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("(itembar(0) = `Task`)",514/*exBarMove*/,"#8/3/2017# - itembar(1)");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1916:
How can I change the color for checked Task bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("cellstate(0) = 1 and itembar(0) = `Task`",33/*exBarColor*/,COMVariant::createFromInt(255));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1915:
How do I resize all Task bars programatically

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("itembar(0) = `Task`",2/*exBarEnd*/,"value + 2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1914:
How do I move just the checked Task bars in the chart

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("cellstate(0) = 1 and itembar(0) = `Task`",514/*exBarMove*/,COMVariant::createFromInt(-2));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1913:
How do I move all Task bars in the chart

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("itembar(0) = `Task`",514/*exBarMove*/,COMVariant::createFromInt(1));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1912:
How do I count all Task bars in the chart
public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h,hChild;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Tasks");
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		print( com_Items.ItemBarEx("itembar(0) = `Task`",256/*exBarsCount*/) );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1911:
How do I select bars whose items are checked

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Tasks")); com_Column = var_Column;
		com_Column.Def(0/*exCellHasCheckBox*/,COMVariant::createFromBoolean(true));
		com_Column.PartialCheck(true);
	exg2antt1.HeaderVisible(1/*exHeaderVisibleExtendLevels*/);
	exg2antt1.SelBackColor(WinApi::RGB2int(240,240,240));
	exg2antt1.SelForeColor(WinApi::RGB2int(0,0,0));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("8/1/2017",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,128);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Summary"); com_Bar = var_Bar;
			com_Bar.StartShape(0/*exShapeIconEmpty*/);
			com_Bar.EndShape(0/*exShapeIconEmpty*/);
			com_Bar.Shape(20/*exShapeThinDown*/);
		com_Chart.SelBackColor(exg2antt1.SelBackColor());
		com_Chart.SelBarColor(WinApi::RGB2int(128,128,128));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Project");
		hChild = com_Items.InsertItem(h,,"Task 1");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/2/2017",213)),COMVariant::createFromDate(str2Date("8/8/2017",213)));
		com_Items.SelectItem(hChild,true);
		hChild = com_Items.InsertItem(h,,"Task 2");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/3/2017",213)),COMVariant::createFromDate(str2Date("8/10/2017",213)));
		com_Items.CellState(hChild,1);
		hChild = com_Items.InsertItem(h,,"Task 3");
		com_Items.AddBar(hChild,"Task",COMVariant::createFromDate(str2Date("8/4/2017",213)),COMVariant::createFromDate(str2Date("8/12/2017",213)));
		com_Items.CellState(hChild,1);
		com_Items.AddBar(h,"Summary",COMVariant::createFromDate(str2Date("8/1/2017",213)),COMVariant::createFromDate(str2Date("8/1/2017",213)),"sum");
		com_Items.DefineSummaryBars(h,"sum",-3,"");
		com_Items.ExpandItem(h,true);
		com_Items.ItemBarEx("cellstate(0) = 1",257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1910:
How can I select all bars, where a specified column matches a specified criteria

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	exg2antt1.Chart().SelBarColor(WinApi::RGB2int(255,0,0));
	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)),"K1","K1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2","K2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"P","P");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"Q","Q");
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"M","M");
		com_Items.ItemBarEx("cellcaption(0) = `Task 1`",257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1909:
How can I select/unselect all bars

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	exg2antt1.Chart().SelBarColor(WinApi::RGB2int(255,0,0));
	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)),"K1","K1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2","K2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"P","P");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"Q","Q");
		com_Items.AddBar(com_Items.AddItem("Task 4"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"M","M");
		com_Items.ItemBarEx(COMVariant::createFromBoolean(true),257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1908:
Is it possible to set the background color of the chart for one item and one day
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Items");
	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,96);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Item");
		h = com_Items.AddItem("Item");
		com_Items.AddBar(h,"",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),"Back"," ");
		com_Items.ItemBar(h,"Back",7/*exBarBackColor*/,COMVariant::createFromInt(255));
		com_Items.ItemBar(h,"Back",29/*exBarSelectable*/,COMVariant::createFromBoolean(false));
		com_Items.AddItem("Item");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1907:
It is possible to search for an item ( inside the Editor ), case insensitive

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("DropDownList")).Editor(); com_Editor = var_Editor;
		com_Editor.EditType(3/*DropDownListType*/);
		com_Editor.AddItem(1,"One");
		com_Editor.AddItem(2,"Two");
		com_Editor.AddItem(3,"Three");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(exg2antt1.Columns().Item(COMVariant::createFromInt(0)).Editor().FindItem(">ONE"));
		com_Items.AddItem(exg2antt1.Columns().Item(COMVariant::createFromInt(0)).Editor().FindItem(">ThRee"));
		com_Items.AddItem(exg2antt1.Columns().Item(COMVariant::createFromInt(0)).Editor().FindItem("ONE"));
		com_Items.AddItem(exg2antt1.Columns().Item(COMVariant::createFromInt(0)).Editor().FindItem(">tWo"));
	exg2antt1.EndUpdate();
}
1906:
The text after the BR-tag is in same line as the text before the BR-tag (entire column)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DrawGridLines(1/*exHLines*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Default")); com_Column = var_Column;
		com_Column.Def(17/*exCellValueFormat*/,COMVariant::createFromInt(1));
		com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("This is the first line.<br>This is the second line.");
		com_Items.AddItem("This is the first line.<br>This is the second line.");
		com_Items.AddItem("This is the first line.<br>This is the second line.");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1905:
The text after the BR-tag is in same line as the text before the BR-tag (individual)

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DrawGridLines(1/*exHLines*/);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValueFormat(com_Items.AddItem("This is the first line.<br>This is the second line."),COMVariant::createFromInt(0),1/*exHTML*/);
		h = com_Items.AddItem("<b>This is the first line.<br>This is the second line.</b>");
		com_Items.CellValueFormat(h,COMVariant::createFromInt(0),1/*exHTML*/);
		com_Items.CellSingleLine(h,COMVariant::createFromInt(0),false);
		com_Items.CellValueFormat(com_Items.AddItem("This is the first line.<br>This is the second line."),COMVariant::createFromInt(0),1/*exHTML*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1904:
How do I prevent showing the control's BackColorAlternate property on empty / non-items part of the control

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

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		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)));
	exg2antt1.BackColorAlternate(0x7ff0f0f0);
	exg2antt1.BackColorLevelHeader(exg2antt1.BackColor());
	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/12/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 4"),"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/13/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 5"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,128);
}
*/
1903:
Can I disable an item once the user selects a new value into a different item

// Change event - Occurs when the user changes the cell's content.
void onEvent_Change(int   _Item,int   _ColIndex,COMVariant /*variant*/   _NewValue)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.EnableItem(com_Items.ItemByIndex(1),_NewValue);
}

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.FreezeEvents(true);
	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.Columns().Add("Q");
	exg2antt1.Columns().Add("A");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("What's your gender?");
		var_Editor = com_Items.CellEditor(h1,COMVariant::createFromInt(1)); com_Editor = var_Editor;
			com_Editor.EditType(3/*DropDownListType*/);
			com_Editor.AddItem(1,"Male");
			com_Editor.AddItem(0,"Female");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		h2 = com_Items.AddItem("What's pet name?");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),"This is my pet favorite long long long name, that shoul break the line in multiple pieces");
		com_Items.CellSingleLine(h2,COMVariant::createFromInt(1),false);
	exg2antt1.EndUpdate();
	exg2antt1.FreezeEvents(false);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1902:
How can I get a row expanded / enlarged to fit the cell's text (entire column)

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

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.Columns().Add("Q");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("A")); com_Column = var_Column;
		com_Column.Def(16/*exCellSingleLine*/,COMVariant::createFromBoolean(false));
		var_Editor = com_Column.Editor(); com_Editor = var_Editor;
			com_Editor.EditType(5/*MemoType*/);
			com_Editor.Appearance(8/*SingleApp*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("What's name?");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),"This is my pet favorite long long long name, that shoul break the line in multiple pieces");
		h2 = com_Items.AddItem("What's your pet name?");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),"This is my pet favorite long long long name, that shoul break the line in multiple pieces");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1901:
How can I get a row expanded / enlarged to fit the cell's text (individual cell)

public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-2/*exRowLines*/);
	exg2antt1.Columns().Add("Q");
	exg2antt1.Columns().Add("A");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("What's name?");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),"This is my pet favorite long long long name, that shoul break the line in multiple pieces");
		h2 = com_Items.AddItem("What's your pet name?");
		var_Editor = com_Items.CellEditor(h2,COMVariant::createFromInt(1)); com_Editor = var_Editor;
			com_Editor.EditType(5/*MemoType*/);
			com_Editor.Appearance(8/*SingleApp*/);
		com_Items.CellValue(h2,COMVariant::createFromInt(1),"This is my pet favorite long long long name, that shoul break the line in multiple pieces");
		com_Items.CellSingleLine(h2,COMVariant::createFromInt(1),false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

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