2088:
How can I define a column of button type

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		? Str(var_Items.CellValue(Item,ColIndex)) 
return

local oG2antt,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Column = oG2antt.Columns.Add("Button")
	// var_Column.Def(2) = true
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(2) = True]
	endwith
	// var_Column.Def(3) = false
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(3) = False]
	endwith
	var_Column.FormatColumn = "``"
	var_Column.AllowSizing = false
	var_Column.Width = 48
// oG2antt.Columns.Add("Second").FormatColumn = "` Item ` + 1 index ``"
var_Column1 = oG2antt.Columns.Add("Second")
with (oG2antt)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.FormatColumn = "` Item ` + 1 index ``"]
endwith
var_Items = oG2antt.Items
	var_Items.AddItem("Button 1")
	var_Items.AddItem("Button 2")
	var_Items.AddItem("Button 3 ")
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	FilterChange = class::nativeObject_FilterChange
endwith
*/
// Occurs when the filter was changed.
function nativeObject_FilterChange()
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Template = [Background(0) = FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",Columns.Item(0).FilterType)] // oG2antt.Background(0) = oG2antt.FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oG2antt.Columns.Item(0).FilterType)
return

local oG2antt,var_Appearance,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.RenderType = -16777216
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA")
oG2antt.DrawGridLines = -1
oG2antt.ShowFocusRect = false
oG2antt.Template = [Background(0) = 16777217] // oG2antt.Background(0) = 0x1000001
oG2antt.Template = [Background(32) = -1] // oG2antt.Background(32) = -1
oG2antt.HeaderAppearance = 4
oG2antt.BackColorHeader = 0xffffff
oG2antt.HeaderVisible = 1
var_Column = oG2antt.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.AllowSort = false
	var_Column.AllowDragging = false
	var_Column.FilterList = 256
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
var_Column1 = oG2antt.Columns.Item(0)
	var_Column1.Filter = "Item B"
	var_Column1.FilterType = 240
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2086:
ADODB Requery sample

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local cmd
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	cmd = new OleAutoClient("ADODB.Command")
		cmd.ActiveConnection = oG2antt.DataSource.ActiveConnection
		cmd.CommandText = "INSERT INTO Orders (EmployeeID) VALUES(12345)"
		cmd.CommandType = 1
		cmd.Execute()
	oG2antt.DataSource.Requery()
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	Error = class::nativeObject_Error
endwith
*/
// Fired when an internal error occurs.
function nativeObject_Error(Error,Description)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	? Str(Description) 
return

local h,oG2antt,rs,var_ConditionalFormat,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderAppearance = 4
oG2antt.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access2007\sample.accdb",1,3)
oG2antt.DataSource = rs
// oG2antt.ConditionalFormats.Add("%1=12345").BackColor = 0xf0f0f0
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("%1=12345")
with (oG2antt)
	TemplateDef = [dim var_ConditionalFormat]
	TemplateDef = var_ConditionalFormat
	Template = [var_ConditionalFormat.BackColor = 15790320]
endwith
var_Items = oG2antt.Items
	// var_Items.LockedItemCount(0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellValue(h,0) = "Requery (add a new record, using ADODB.Command)"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "Requery (add a new record, using ADODB.Command)"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oG2antt.EndUpdate()

2085:
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do

local oG2antt,var_Appearance,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" ;
 +"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgpDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAqBYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==")
oG2antt.BackColorHeader = 0x1000000
oG2antt.ForeColorHeader = 0x808080
oG2antt.Template = [Background(0) = 33554432] // oG2antt.Background(0) = 0x2000000
oG2antt.Template = [Background(26) = 16777215] // oG2antt.Background(26) = 0xffffff
oG2antt.Template = [Background(27) = 65536] // oG2antt.Background(27) = 0x10000
oG2antt.Template = [Background(20) = 33521664] // oG2antt.Background(20) = 0x1ff8000
oG2antt.Template = [Background(21) = 15790320] // oG2antt.Background(21) = 0xf0f0f0
oG2antt.Template = [Background(32) = -1] // oG2antt.Background(32) = -1
oG2antt.HeaderHeight = 24
oG2antt.BackColorLevelHeader = oG2antt.BackColor
var_Column = oG2antt.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterPattern = false
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
	// var_Column.Def(52) = 2
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(52) = 2]
	endwith
	// var_Column.Def(53) = 2
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(53) = 2]
	endwith
var_Items = oG2antt.Items
	var_Items.AddItem("A")
	var_Items.AddItem("B")
	var_Items.AddItem("C")
	var_Items.AddItem("D")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Bar,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ScrollBySingleLine = true
oG2antt.Columns.Add("Types")
oG2antt.DrawGridLines = 1
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.DrawGridLines = 1
	var_Chart.AllowCreateBar = 1
	var_Chart.AllowLinkBars = false
	var_Chart.ResizeUnitScale = 65536
	// var_Chart.PaneWidth(false) = 112
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 112]
	endwith
	var_Chart.FirstVisibleDate = "01/01/2001"
	var_Bar = var_Chart.Bars.Item("Task")
		var_Bar.OverlaidType = 3
		// var_Bar.Def(3) = "<%=%9%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%9%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
var_Items = oG2antt.Items
	h = var_Items.AddItem("ItemMinHeight")
	var_Items.AddBar(h,"Task","01/07/2001","01/10/2001","A1")
	var_Items.AddBar(h,"Task","01/08/2001","01/12/2001","A2")
	// var_Items.ItemMinHeight(h) = 64
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMinHeight(h) = 64]
	endwith
	var_Items.AddBar(var_Items.AddItem("Default (One)"),"Task","01/07/2001","01/10/2001","A3")
	h = var_Items.AddItem("Default (Two)")
	var_Items.AddBar(h,"Task","01/07/2001","01/10/2001","A4")
	var_Items.AddBar(h,"Task","01/08/2001","01/12/2001","A5")
	h = var_Items.AddItem("ItemFixedHeight")
	var_Items.AddBar(h,"Task","01/07/2001","01/10/2001","A6")
	var_Items.AddBar(h,"Task","01/08/2001","01/12/2001","A7")
	// var_Items.ItemMinHeight(h) = 20
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMinHeight(h) = 20]
	endwith
	// var_Items.ItemMaxHeight(h) = 20
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = 20]
	endwith
	h = var_Items.AddItem("ItemMaxHeight")
	var_Items.AddBar(h,"Task","01/07/2001","01/10/2001","A8")
	var_Items.AddBar(h,"Task","01/08/2001","01/12/2001","A9")
	// var_Items.ItemMaxHeight(h) = 24
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = 24]
	endwith
oG2antt.EndUpdate()

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

local h,oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
// oG2antt.Columns.Add("Column").Width = 128
var_Column = oG2antt.Columns.Add("Column")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oG2antt.Items
	// var_Items.CellSingleLine(var_Items.AddItem("This is a bit of text that should break the line"),0) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is a bit of text that should break the line"),0) = 0]
	endwith
	h = var_Items.AddItem("")
	// var_Items.ItemDivider(h) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.ItemHeight(h) = 3
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemHeight(h) = 3]
	endwith
	// var_Items.CellSingleLine(var_Items.AddItem("This is a bit of text that should break the line"),0) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is a bit of text that should break the line"),0) = 0]
	endwith
oG2antt.EndUpdate()

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

local h,oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
var_Column = oG2antt.Columns.Add("Column")
	var_Column.Width = 128
	// var_Column.Def(16) = 0
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(16) = 0]
	endwith
var_Items = oG2antt.Items
	var_Items.AddItem("This is a bit of text that should break the line")
	h = var_Items.AddItem("")
	// var_Items.ItemDivider(h) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.SelectableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.ItemDividerLineAlignment(h) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDividerLineAlignment(h) = 1]
	endwith
	// var_Items.ItemMinHeight(h) = 3
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMinHeight(h) = 3]
	endwith
	// var_Items.ItemMaxHeight(h) = 3
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = 3]
	endwith
	var_Items.AddItem("This is a bit of text that should break the line")
oG2antt.EndUpdate()

2081:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns

local oG2antt,var_Column,var_Column1,var_Columns

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
oG2antt.HeaderAppearance = 4
var_Columns = oG2antt.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oG2antt.Template = [Description(26) = "Show/Hide"] // oG2antt.Description(26) = "Show/Hide"
oG2antt.ColumnsFloatBarSortOrder = 1
oG2antt.ColumnsFloatBarVisible = 2
oG2antt.EndUpdate()

2080:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn

local oG2antt,var_Column,var_Column1,var_Columns

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
oG2antt.HeaderAppearance = 4
var_Columns = oG2antt.Columns
	var_Columns.Add("City")
	// var_Columns.Add("Start").Visible = false
	var_Column = var_Columns.Add("Start")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Visible = False]
	endwith
	// var_Columns.Add("End").Visible = false
	var_Column1 = var_Columns.Add("End")
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Visible = False]
	endwith
oG2antt.Template = [Description(26) = "Show"] // oG2antt.Description(26) = "Show"
oG2antt.ColumnsFloatBarVisible = -1
oG2antt.ColumnsFloatBarSortOrder = 1
oG2antt.EndUpdate()

2079:
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns

local oG2antt,var_Columns

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
oG2antt.HeaderAppearance = 4
var_Columns = oG2antt.Columns
	var_Columns.Add("City")
	var_Columns.Add("Start")
	var_Columns.Add("End")
oG2antt.AllowGroupBy = true
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.BackColorSortBar = 0xfafafa
oG2antt.Template = [Description(26) = "Group-By"] // oG2antt.Description(26) = "Group-By"
oG2antt.ColumnsFloatBarVisible = 1
oG2antt.ColumnsFloatBarSortOrder = 1
oG2antt.Columns.Item("City").SortOrder = 1
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	KeyDown = class::nativeObject_KeyDown
endwith
*/
// Occurs when the user presses a key while an object has the focus.
function nativeObject_KeyDown(KeyCode,Shift)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	? "KeyCode Before:" 
	? Str(KeyCode) 
	KeyCode = oG2antt.FormatABC("value = 13 ? 40 : value",KeyCode)
	? "KeyCode After:" 
	? Str(KeyCode) 
return

local h0,oG2antt,var_Columns,var_Editor,var_Editor1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Columns = oG2antt.Columns
	var_Editor = var_Columns.Add("A").Editor
		var_Editor.Appearance = 4
		var_Editor.EditType = 1
	var_Editor1 = var_Columns.Add("B").Editor
		var_Editor1.Appearance = 4
		var_Editor1.EditType = 1
var_Items = oG2antt.Items
	h0 = var_Items.AddItem("Item A.1")
	// var_Items.CellValue(h0,1) = "Item B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Item B.1"]
	endwith
	h0 = var_Items.AddItem("Item A.2")
	// var_Items.CellValue(h0,1) = "Item B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h0]
		TemplateDef = var_Items
		TemplateDef = h0
		Template = [var_Items.CellValue(h0,1) = "Item B.2"]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,1),var_Items.CellValue(Item,2))
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local var_Recordset
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Recordset = oG2antt.DataSource
		var_Recordset.AddNew()
		var_Recordset.Fields.Item("Name").Value = "Task New"
		var_Recordset.Update()
return

local h,oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_Fields,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderAppearance = 4
rs = new OleAutoClient("ADODB.Recordset")
	var_Fields = rs.Fields
		var_Fields.Append("Name",8)
		var_Fields.Append("Start",7)
		var_Fields.Append("End",7)
	rs.Open()
	rs.AddNew()
	rs.Fields.Item("Name").Value = "Task A"
	rs.Fields.Item("Start").Value = "01/04/2001"
	rs.Fields.Item("End").Value = "01/10/2001"
	rs.Update()
	rs.AddNew()
	rs.Fields.Item("Name").Value = "Task B"
	rs.Fields.Item("Start").Value = "01/05/2001"
	rs.Fields.Item("End").Value = "01/11/2001"
	rs.Update()
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "01/01/2001"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item("Start").Def(18) = 1
var_Columns = oG2antt.Columns.Item("Start")
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item("End").Def(18) = 2
var_Columns1 = oG2antt.Columns.Item("End")
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
var_Items = oG2antt.Items
	// var_Items.LockedItemCount(0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	h = var_Items.LockedItem(0,0)
	// var_Items.ItemDivider(h) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemDivider(h) = 0]
	endwith
	// var_Items.CellHasButton(h,0) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHasButton(h,0) = True]
	endwith
	// var_Items.CellValue(h,0) = "AddNew"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,0) = "AddNew"]
	endwith
	// var_Items.CellHAlignment(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellHAlignment(h,0) = 1]
	endwith
oG2antt.DetectAddNew = true
oG2antt.DetectDelete = true
oG2antt.EndUpdate()

2076:
How can I create a new ADO recordset

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,1),var_Items.CellValue(Item,2))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_Fields

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
rs = new OleAutoClient("ADODB.Recordset")
	var_Fields = rs.Fields
		var_Fields.Append("Name",8)
		var_Fields.Append("Start",7)
		var_Fields.Append("End",7)
	rs.Open()
	rs.AddNew()
	rs.Fields = "Task A"
	rs.Fields = "01/04/2001"
	rs.Fields = "01/10/2001"
	rs.Update()
	rs.AddNew()
	rs.Fields = "Task B"
	rs.Fields = "01/05/2001"
	rs.Fields = "01/11/2001"
	rs.Update()
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "01/01/2001"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item("Start").Def(18) = 1
var_Columns = oG2antt.Columns.Item("Start")
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item("End").Def(18) = 2
var_Columns1 = oG2antt.Columns.Item("End")
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

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

local oG2antt

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
? new OleAutoClient("DAO.DBEngine.35").Version 
? new OleAutoClient("DAO.DBEngine.36").Version 
? new OleAutoClient("DAO.DBEngine.120").Version 

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_PrivDBEngine

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
var_PrivDBEngine = new OleAutoClient("DAO.DBEngine.120")
	rs = var_PrivDBEngine.OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access2007\sample.accdb").OpenRecordset("Orders")
? new OleAutoClient("Exontrol.PropertiesList").Interfaces(rs) 
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

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

local oG2antt

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
? "ADO Version:" 
? new OleAutoClient("ADODB.Connection").Version 

2072:
DAO, ACCDB, 120

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_PrivDBEngine

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
var_PrivDBEngine = new OleAutoClient("DAO.DBEngine.120")
	rs = var_PrivDBEngine.OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access2007\sample.accdb").OpenRecordset("Orders")
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2071:
DAO, MDB, 120

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_PrivDBEngine

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
var_PrivDBEngine = new OleAutoClient("DAO.DBEngine.120")
	rs = var_PrivDBEngine.OpenDatabase("C:\Program Files\Exontrol\ExTree\Sample\VB\SAMPLE.MDB").OpenRecordset("Orders")
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2070:
DAO, MDB

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1,var_PrivDBEngine

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
var_PrivDBEngine = new OleAutoClient("DAO.DBEngine.36")
	rs = var_PrivDBEngine.OpenDatabase("C:\Program Files\Exontrol\ExTree\Sample\VB\SAMPLE.MDB").OpenRecordset("Orders")
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2069:
ADODB, ACCDB, x64

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access2007\sample.accdb",1,1)
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2068:
ADOR, ACCDB

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access2007\sample.accdb",3,3)
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2067:
ADODB, MDB

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
rs = new OleAutoClient("ADODB.Recordset")
	rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\VB\SAMPLE.MDB",3,3)
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

2066:
ADOR, MDB

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Task",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
return

local oG2antt,rs,var_Chart,var_Columns,var_Columns1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = false
rs = new OleAutoClient("ADOR.Recordset")
	rs.Open("Orders","Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExTree\Sample\VB\SAMPLE.MDB",3,3)
oG2antt.DataSource = rs
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "08/04/1994"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Items.AllowCellValueToItemBar = true
// oG2antt.Columns.Item(2).Def(18) = 1
var_Columns = oG2antt.Columns.Item(2)
with (oG2antt)
	TemplateDef = [dim var_Columns]
	TemplateDef = var_Columns
	Template = [var_Columns.Def(18) = 1]
endwith
// oG2antt.Columns.Item(4).Def(18) = 2
var_Columns1 = oG2antt.Columns.Item(4)
with (oG2antt)
	TemplateDef = [dim var_Columns1]
	TemplateDef = var_Columns1
	Template = [var_Columns1.Def(18) = 2]
endwith
oG2antt.EndUpdate()

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

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Columns = oG2antt.Columns
	var_Columns.Add("Tasks")
	// var_Columns.Add("Start").Def(18) = 1
	var_Column = var_Columns.Add("Start")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(18) = 1]
	endwith
	// var_Columns.Add("End").Def(18) = 2
	var_Column1 = var_Columns.Add("End")
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 2]
	endwith
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "09/20/2006"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 196
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(0) = 196]
	endwith
	var_Chart.AllowCreateBar = 1
var_Items = oG2antt.Items
	var_Items.AllowCellValueToItemBar = true
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task","09/21/2006","09/24/2006")
	h = var_Items.AddItem("Task 2")
	var_Items.AddBar(h,"Task","09/22/2006","09/25/2006")
	// var_Items.ItemBold(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBold(h) = True]
	endwith
	var_Items.CellValueToItemBar(h,1,1,"newbar")
	var_Items.CellValueToItemBar(h,2,2,"newbar")
	var_Items.AddBar(var_Items.AddItem("Task 3"),"Task","09/23/2006","09/26/2006")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Columns = oG2antt.Columns
	var_Columns.Add("Tasks")
	// var_Columns.Add("Start").Def(18) = 1
	var_Column = var_Columns.Add("Start")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(18) = 1]
	endwith
	// var_Columns.Add("End").Def(18) = 2
	var_Column1 = var_Columns.Add("End")
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 2]
	endwith
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "09/20/2006"
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 196
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(0) = 196]
	endwith
var_Items = oG2antt.Items
	var_Items.AllowCellValueToItemBar = true
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task","09/21/2006","09/24/2006")
	h = var_Items.AddItem("Task 2")
	var_Items.AddBar(h,"Task","09/22/2006","09/25/2006")
	// var_Items.FormatCell(h,1) = "``"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,1) = "``"]
	endwith
	// var_Items.FormatCell(h,2) = "``"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.FormatCell(h,2) = "``"]
	endwith
	// var_Items.ItemBold(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBold(h) = True]
	endwith
	var_Items.AddBar(var_Items.AddItem("Task 3"),"Task","09/23/2006","09/26/2006")
oG2antt.EndUpdate()

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

local dih,h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderAppearance = 4
oG2antt.SelBackMode = 1
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(32) = "[b=0]60;1[b=15]:60,((20;" + ["] + "<fgcolor=808080>Dateigröße" + ["] + "[b=1][a=2]:120,2[b=15])/(20;" + ["] + "<fgcolor=808080>Erstellt am" + ["] + "[a=2]:120,3[b=15])/(20;" + ["] + "<fgcolor=808080>Zuletzt bearbeitet" + ["] + "[b=4][a=2]:120,4[b=15]))"
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(32) = "[b=0]60;1[b=15]:60,((20;""<fgcolor=808080>Dateigröße""[b=1][a=2]:120,2[b=15])/(20;""<fgcolor=808080>Erstellt am""[a=2]:120,3[b=15])/(20;""<fgcolor=808080>Zuletzt bearbeitet""[b=4][a=2]:120,4[b=15]))"]
	endwith
	var_Column.AllowSort = false
// oG2antt.Columns.Add(Str(1)).Visible = false
var_Column1 = oG2antt.Columns.Add(Str(1))
with (oG2antt)
	TemplateDef = [dim var_Column1]
	TemplateDef = var_Column1
	Template = [var_Column1.Visible = False]
endwith
var_Column2 = oG2antt.Columns.Add(Str(2))
	var_Column2.Visible = false
	var_Column2.Editor.EditType = 1
	var_Column2.FormatColumn = "1 index `A-Z`"
var_Column3 = oG2antt.Columns.Add(Str(3))
	var_Column3.Visible = false
	var_Column3.Editor.EditType = 1
	var_Column3.FormatColumn = "1 index ``"
var_Column4 = oG2antt.Columns.Add(Str(4))
	var_Column4.Visible = false
	var_Column4.Editor.EditType = 1
	var_Column4.FormatColumn = "date(``)"
dih = 48
oG2antt.DefaultItemHeight = dih
oG2antt.DrawGridLines = -2
oG2antt.GridLineStyle = 48
var_Chart = oG2antt.Chart
	var_Chart.DrawGridLines = -2
	var_Chart.GridLineStyle = 48
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "01/01/2001"
	var_Chart.Bars.Item("Task").OverlaidType = 515 /*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/
var_Items = oG2antt.Items
	h = var_Items.AddItem("")
	// var_Items.CellValue(h,1) = "One"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "One"]
	endwith
	var_Items.AddBar(h,"Task","01/02/2001","01/12/2001","A")
	var_Items.AddBar(h,"Task","01/04/2001","01/14/2001","B")
	// var_Items.ItemMaxHeight(h) = dih
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = dih]
	endwith
	h = var_Items.AddItem("")
	// var_Items.CellValue(h,1) = "Two"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Two"]
	endwith
	var_Items.AddBar(h,"Task","01/05/2001","01/10/2001","A")
	var_Items.AddBar(h,"Task","01/02/2001","01/04/2001","B")
	var_Items.AddBar(h,"Task","01/05/2001","01/14/2001","B2")
	// var_Items.ItemMaxHeight(h) = dih
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemMaxHeight(h) = dih]
	endwith
	h = var_Items.AddItem("")
	// var_Items.CellValue(h,1) = "Three"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Three"]
	endwith
	var_Items.AddBar(h,"Task","01/05/2001","01/10/2001","A")
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Column1,var_Column2,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderSingleLine = false
oG2antt.HeaderHeight = 36
oG2antt.DrawGridLines = -2
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
var_Columns = oG2antt.Columns
	var_Column = var_Columns.Add("Single-Line (exCaptionSingleLine)")
		var_Column.Width = 96
		// var_Column.Def(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(17) = 1]
		endwith
		// var_Column.Def(16) = -1
		with (oG2antt)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(16) = -1]
		endwith
	var_Column1 = var_Columns.Add("Word-Wrap (exCaptionWordWrap)")
		var_Column1.Width = 96
		// var_Column1.Def(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(17) = 1]
		endwith
		// var_Column1.Def(16) = 0
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(16) = 0]
		endwith
		var_Column1.FormatColumn = "%0"
	var_Column2 = var_Columns.Add("Break-Wrap (exCaptionBreakWrap)")
		var_Column2.Width = 96
		// var_Column2.Def(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(17) = 1]
		endwith
		// var_Column2.Def(16) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(16) = 1]
		endwith
		var_Column2.FormatColumn = "%0"
var_Items = oG2antt.Items
	var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	var_Items.AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderSingleLine = false
oG2antt.HeaderHeight = 36
oG2antt.DrawGridLines = -2
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
// oG2antt.Columns.Add("Default").Width = 128
var_Column = oG2antt.Columns.Add("Default")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oG2antt.Items
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellValueFormat(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	// var_Items.CellSingleLine(h,0) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 0]
	endwith
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellValueFormat(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = 0
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 0]
	endwith
	h = var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	// var_Items.CellSingleLine(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 1]
	endwith
	h = var_Items.AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.")
	// var_Items.CellValueFormat(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValueFormat(h,0) = 1]
	endwith
	// var_Items.CellSingleLine(h,0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellSingleLine(h,0) = 1]
	endwith
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.DrawGridLines = -2
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
// oG2antt.Columns.Add("Default").Width = 128
var_Column = oG2antt.Columns.Add("Default")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Width = 128]
endwith
var_Items = oG2antt.Items
	// var_Items.CellSingleLine(var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellSingleLine(AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0) = 1]
	endwith
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.DrawGridLines = -2
oG2antt.ColumnAutoResize = false
oG2antt.ScrollBySingleLine = true
var_Column = oG2antt.Columns.Add("Default")
	var_Column.Width = 128
	// var_Column.Def(16) = 1
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(16) = 1]
	endwith
var_Items = oG2antt.Items
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
	var_Items.AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.LinesAtRoot = 5
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	// var_Chart.PaneWidth(false) = 128
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 128]
	endwith
	var_Chart.FirstVisibleDate = "01/01/2001"
	var_Chart.HistogramVisible = true
	var_Chart.HistogramHeight = 48
	var_Chart.HistogramView = 1392 /*exHistogramNoGrouping | exHistogramLeafItems | exHistogramAllItems*/
	var_Chart.Bars.Item("Task").HistogramPattern = 6
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Project 1")
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 1"),"Task","01/02/2001","01/04/2001")
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 2"),"Task","01/03/2001","01/05/2001")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Project 2")
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 1"),"Task","01/07/2001","01/10/2001")
	var_Items.AddBar(var_Items.InsertItem(h,null,"Item 2"),"Task","01/06/2001","01/08/2001")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.LinesAtRoot = -1
oG2antt.BackColorHeader = 0x1
oG2antt.ForeColorHeader = 0xffffff
oG2antt.Template = [Background(26) = BackColorHeader] // oG2antt.Background(26) = oG2antt.BackColorHeader
oG2antt.Template = [Background(27) = ForeColorHeader] // oG2antt.Background(27) = oG2antt.ForeColorHeader
oG2antt.Template = [Background(0) = 15790320] // oG2antt.Background(0) = 0xf0f0f0
oG2antt.Template = [Background(32) = -1] // oG2antt.Background(32) = -1
oG2antt.HeaderAppearance = 5
var_Column = oG2antt.Columns.Add("Items")
	var_Column.FilterOnType = true
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 2
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = true
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "((trim(value) replace `   ` with ` `) replace `  ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`"
var_Items = oG2antt.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = true
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "`'` + ( value replace ` ` with `_` ) + `'`"
var_Items = oG2antt.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = true
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(17) = 1
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )"
var_Items = oG2antt.Items
	var_Items.AddItem("")
	var_Items.AddItem("Item A")
	var_Items.AddItem("    Item B")
	var_Items.AddItem("        Item   C    ")
oG2antt.EndUpdate()

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

local oG2antt,var_Column

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.Template = [Background(26) = 65536] // oG2antt.Background(26) = 0x10000
oG2antt.Template = [Background(27) = 16777215] // oG2antt.Background(27) = 0xffffff
oG2antt.Template = [Background(12) = 16777215] // oG2antt.Background(12) = 0xffffff
oG2antt.Template = [Background(8) = Background(26)] // oG2antt.Background(8) = oG2antt.Background(26)
oG2antt.Template = [Background(11) = 8421504] // oG2antt.Background(11) = 0x808080
var_Column = oG2antt.Columns.Add("Date")
	var_Column.FilterType = 4
	var_Column.DisplayFilterButton = true
	var_Column.DisplayFilterDate = true
	var_Column.DisplayFilterPattern = false
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	ButtonClick = class::nativeObject_ButtonClick
endwith
*/
// Occurs when user clicks on the cell's button.
function nativeObject_ButtonClick(Item,ColIndex,Key)
	local dEnd,dScroll,dStart,kBar
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	kBar = oG2antt.Items.FirstItemBar(Item)
	dStart = oG2antt.Items.ItemBar(Item,kBar,1)
	dEnd = oG2antt.Items.ItemBar(Item,kBar,2)
	dScroll = oG2antt.FormatABC("(A+B)/2",dStart,dEnd)
	oG2antt.Chart.ScrollTo(dScroll,1)
return

local oG2antt,var_Chart,var_Column,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ShowFocusRect = false
oG2antt.DrawGridLines = -1
oG2antt.GridLineStyle = 3
oG2antt.SelBackMode = 1
var_Chart = oG2antt.Chart
	var_Chart.OverviewVisible = 6402 /*exOverviewShowDateTimeScaleBottom | exOverviewAllowVerticalScroll | exOverviewShowAllVisible*/
	var_Chart.OverviewHeight = 26
	var_Chart.FirstVisibleDate = "06/08/2011"
	var_Chart.AdjustLevelsToBase = true
	// var_Chart.PaneWidth(false) = 64
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 64]
	endwith
	var_Chart.UnitWidth = 14
	var_Chart.LevelCount = 2
	var_Chart.DrawGridLines = -1
	var_Chart.GridLineStyle = 3
	var_Chart.SelBackColor = oG2antt.SelBackColor
	var_Chart.ColumnsFormatLevel = "" + ["] + "" + ["] + ":2,(" + ["] + "" + ["] + "/14;1/" + ["] + "" + ["] + "):14"
var_Columns = oG2antt.Columns
	var_Columns.Add("Default")
	var_Column = var_Columns.Add("")
		// var_Column.Def(2) = true
		with (oG2antt)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(2) = True]
		endwith
		// var_Column.Def(4) = 15790320
		with (oG2antt)
			TemplateDef = [dim var_Column]
			TemplateDef = var_Column
			Template = [var_Column.Def(4) = 15790320]
		endwith
		var_Column.Visible = false
var_Items = oG2antt.Items
	var_Items.AddBar(var_Items.AddItem("T1"),"Task","06/09/2011","06/17/2011")
	var_Items.AddBar(var_Items.AddItem("T2"),"Task","01/10/2012","01/17/2012")
	var_Items.AddBar(var_Items.AddItem("T3"),"Task","02/19/2013","02/23/2013")
	var_Items.AddBar(var_Items.AddItem("T4"),"Task","12/19/2014","12/23/2014")
oG2antt.EndUpdate()

2051:
Is it possible to hide completely the list portion

local oG2antt,var_Chart,var_Column,var_ConditionalFormat,var_InsideZooms,var_InsideZooms1,var_Items,var_Level,var_Level1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderHeight = 32
oG2antt.OnResizeControl = 129 /*exDisableSplitter | exResizeChart*/
oG2antt.DrawGridLines = -1
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("%CS0 = 1")
	var_ConditionalFormat.ApplyToBars = "Task"
	var_ConditionalFormat.BarColor = 0xff
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "06/08/2011"
	var_Chart.AdjustLevelsToBase = true
	// var_Chart.PaneWidth(false) = 0
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 0]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.AllowInsideZoom = true
	var_Level = var_Chart.Level(0)
		var_Level.Alignment = 1
		var_Level.Label = "<b><%d%>-<%mmm%>-<%yyyy%>"
		var_Level.Unit = 4096
	var_Level1 = var_Chart.Level(1)
		var_Level1.Label = "<%h%>"
		var_Level1.Count = 8
		var_Level1.Unit = 65536
		var_Level1.FormatLabel = "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : 'Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; 16 : 'Shift <b>3</b><br>26/24' ) ) )"
	var_Chart.UnitWidth = 64
	var_Chart.NonworkingDays = 0
	var_Chart.ColumnsFormatLevel = "0"
	var_Chart.AllowInsideZoom = true
	var_Chart.DefaultInsideZoomFormat.InsideUnit = 1048576
	var_Chart.AllowResizeInsideZoom = false
	var_Chart.InsideZoomOnDblClick = false
	var_InsideZooms = var_Chart.InsideZooms
		var_InsideZooms.SplitBaseLevel = false
		var_InsideZooms.DefaultWidth = 0
	var_InsideZooms1 = var_Chart.InsideZooms
		var_InsideZooms1.Add("06/09/2011 08:00:00")
		var_InsideZooms1.Add("06/09/2011 16:00:00")
	var_Chart.DrawGridLines = -1
	var_Chart.GridLineStyle = 3
// oG2antt.Columns.Add("Defaul").Def(0) = true
var_Column = oG2antt.Columns.Add("Defaul")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.Def(0) = True]
endwith
var_Items = oG2antt.Items
	var_Items.AddBar(var_Items.AddItem("T1"),"Task","06/08/2011 08:00:00","06/10/2011")
	var_Items.AddBar(var_Items.AddItem("T2"),"Task","06/08/2011 16:00:00","06/10/2011 08:00:00")
	var_Items.AddBar(var_Items.AddItem("T3"),"Task","06/09/2011","06/10/2011")
	// var_Items.CellState(var_Items.ItemByIndex(1),0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(ItemByIndex(1),0) = 1]
	endwith
oG2antt.EndUpdate()

2050:
How can I find out what exBarWorkingCount represents

local h,oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Column2,var_Items,var_Level

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Column = oG2antt.Columns.Add("Tasks")
	var_Column.AllowSizing = false
	var_Column.Width = 42
var_Column1 = oG2antt.Columns.Add("Format")
	// var_Column1.Def(18) = 258
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 258]
	endwith
	var_Column1.FormatColumn = "trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``)  + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0:=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))"
var_Column2 = oG2antt.Columns.Add("Value")
	// var_Column2.Def(18) = 258
	with (oG2antt)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(18) = 258]
	endwith
	var_Column2.SortType = 1
	var_Column2.Editor.EditType = 1
oG2antt.HeaderAppearance = 4
oG2antt.DrawGridLines = -2
oG2antt.GridLineStyle = 48
oG2antt.SelBackColor = 0xffe8cc
oG2antt.SelForeColor = 0x0
var_Chart = oG2antt.Chart
	var_Chart.SelBackColor = oG2antt.SelBackColor
	var_Chart.FirstVisibleDate = "04/06/2009"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.UnitScale = 65536
	var_Chart.NonworkingHours = 15728767
	var_Chart.ShowNonworkingDates = false
	var_Chart.ShowNonworkingUnits = false
	var_Bar = var_Chart.Bars.Item("Task")
		// var_Bar.Def(20) = true
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(20) = True]
		endwith
	var_Chart.AllowLinkBars = false
	var_Chart.DrawGridLines = -2
	var_Chart.GridLineStyle = 48
	// var_Chart.Level(0).DrawGridLines = true
	var_Level = var_Chart.Level(0)
	with (oG2antt)
		TemplateDef = [dim var_Level]
		TemplateDef = var_Level
		Template = [var_Level.DrawGridLines = True]
	endwith
	var_Chart.ResizeUnitScale = 1048576
	var_Chart.ResizeUnitCount = 15
	// var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"]
	endwith
	var_Chart.AllowZoomOnFly = 280 /*exZoomOnFlyIncludeNeighborItems | exZoomOnFly*/
	var_Chart.BackColorZoomOnFly = 0xffff
oG2antt.Items.AllowCellValueToItemBar = true
var_Items = oG2antt.Items
	h = var_Items.AddItem("")
	// var_Items.SelectableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.SortableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SortableItem(h) = False]
	endwith
	var_Items.AddBar(var_Items.AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 13:00:00")
	var_Items.AddBar(var_Items.AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 16:00:00")
	var_Items.AddBar(var_Items.AddItem("T3"),"Task","04/06/2009 10:00:00","04/06/2009 19:00:00")
	h = var_Items.AddItem("")
	// var_Items.SelectableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SelectableItem(h) = False]
	endwith
	// var_Items.SortableItem(h) = false
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.SortableItem(h) = False]
	endwith
oG2antt.EndUpdate()

2049:
How can I hide the filter bar description

local oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Column = oG2antt.Columns.Add("Filter")
	var_Column.DisplayFilterButton = true
	var_Column.FilterType = 240
	var_Column.Filter = "B"
var_Items = oG2antt.Items
	var_Items.AddItem("A")
	var_Items.AddItem("B")
	var_Items.AddItem("C")
oG2antt.ApplyFilter()
oG2antt.FilterBarHeight = 0
oG2antt.EndUpdate()

2048:
How can I add a break bar

local h,oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Items,var_Level

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Column = oG2antt.Columns.Add("Tasks")
	var_Column.AllowSizing = false
	var_Column.Width = 42
var_Column1 = oG2antt.Columns.Add("Working")
	// var_Column1.Def(18) = 258
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 258]
	endwith
	var_Column1.FormatColumn = "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
oG2antt.HeaderAppearance = 4
oG2antt.DrawGridLines = -2
oG2antt.GridLineStyle = 48
oG2antt.SelBackColor = 0xffe8cc
oG2antt.SelForeColor = 0x0
var_Chart = oG2antt.Chart
	var_Chart.SelBackColor = oG2antt.SelBackColor
	var_Chart.FirstVisibleDate = "04/06/2009"
	// var_Chart.PaneWidth(false) = 164
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 164]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.UnitScale = 65536
	var_Chart.NonworkingHours = 15728767
	var_Chart.ShowNonworkingDates = false
	var_Chart.ShowNonworkingUnits = false
	var_Bar = var_Chart.Bars.Add("Task:Split")
		// var_Bar.Def(20) = true
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(20) = True]
		endwith
		var_Bar.Shortcut = "Task"
	var_Chart.AllowLinkBars = false
	var_Chart.DrawGridLines = -2
	var_Chart.GridLineStyle = 48
	// var_Chart.Level(0).DrawGridLines = true
	var_Level = var_Chart.Level(0)
	with (oG2antt)
		TemplateDef = [dim var_Level]
		TemplateDef = var_Level
		Template = [var_Level.DrawGridLines = True]
	endwith
	var_Chart.ResizeUnitScale = 1048576
	var_Chart.ResizeUnitCount = 15
	// var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"]
	endwith
	var_Chart.AllowZoomOnFly = 280 /*exZoomOnFlyIncludeNeighborItems | exZoomOnFly*/
	var_Chart.BackColorZoomOnFly = 0xffff
	var_Chart.AllowNonworkingBars = true
oG2antt.Items.AllowCellValueToItemBar = true
var_Items = oG2antt.Items
	var_Items.AddItem("")
	h = var_Items.AddItem("T1")
	// var_Items.ItemNonworkingUnits(h,false) = "(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) "
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = "(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) "]
	endwith
	var_Items.AddBar(h,"","04/06/2009 07:30:00","04/06/2009 09:30:00","A","<c><font ;4>break<br>bar")
	// var_Items.ItemBar(h,"A",38) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"A",38) = True]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009 10:00:00","04/06/2009 12:00:00")
	var_Items.AddBar(var_Items.AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00")
	var_Items.AddItem("")
oG2antt.EndUpdate()

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

local oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Items,var_Level

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Column = oG2antt.Columns.Add("Tasks")
	var_Column.AllowSizing = false
	var_Column.Width = 42
var_Column1 = oG2antt.Columns.Add("Working")
	// var_Column1.Def(18) = 258
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 258]
	endwith
	var_Column1.FormatColumn = "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
oG2antt.HeaderAppearance = 4
oG2antt.DrawGridLines = -2
oG2antt.GridLineStyle = 48
oG2antt.SelBackColor = 0xffe8cc
oG2antt.SelForeColor = 0x0
var_Chart = oG2antt.Chart
	var_Chart.SelBackColor = oG2antt.SelBackColor
	var_Chart.FirstVisibleDate = "04/06/2009"
	// var_Chart.PaneWidth(false) = 164
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 164]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.UnitScale = 65536
	var_Chart.NonworkingHours = 15728767
	var_Chart.ShowNonworkingDates = false
	var_Chart.ShowNonworkingUnits = false
	var_Bar = var_Chart.Bars.Item("Task")
		// var_Bar.Def(20) = true
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(20) = True]
		endwith
	var_Chart.AllowLinkBars = false
	var_Chart.DrawGridLines = -2
	var_Chart.GridLineStyle = 48
	// var_Chart.Level(0).DrawGridLines = true
	var_Level = var_Chart.Level(0)
	with (oG2antt)
		TemplateDef = [dim var_Level]
		TemplateDef = var_Level
		Template = [var_Level.DrawGridLines = True]
	endwith
	var_Chart.ResizeUnitScale = 1048576
	var_Chart.ResizeUnitCount = 15
	// var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.Label(1048576) = "<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15"]
	endwith
	var_Chart.AllowZoomOnFly = 280 /*exZoomOnFlyIncludeNeighborItems | exZoomOnFly*/
	var_Chart.BackColorZoomOnFly = 0xffff
oG2antt.Items.AllowCellValueToItemBar = true
var_Items = oG2antt.Items
	var_Items.AddItem("")
	var_Items.AddBar(var_Items.AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 12:00:00")
	var_Items.AddBar(var_Items.AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00")
	var_Items.AddItem("")
oG2antt.EndUpdate()

2046:
Export Data in HTML format

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemBold(Item) = true
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBold(Item) = True]
		endwith
		var_Items.AddBar(Item,"Summary",var_Items.CellValue(Item,2),var_Items.CellValue(Item,4))
		var_Items.DefineSummaryBars(Item,"",-3,"")
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		i = var_Items.ItemToIndex(Item)
		var_Items.AddBar(Item,"Task","01/02/2008","01/09/2008","")
		// var_Items.ItemBar(Item,"",514) = i
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBar(Item,"",514) = i]
		endwith
		// var_Items.ItemBar(Item,"",513) = i
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBar(Item,"",513) = i]
		endwith
return

local oG2antt,sFile,var_Appearance,var_Bar,var_Bar1,var_Chart,var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_Items,var_ShellBrowserWindow

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.BackColorAlternate = 0xf0f0f0
oG2antt.DrawGridLines = -1
oG2antt.HeaderAppearance = 4
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 2579 /*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oG2antt.FilterBarPromptType = 2
oG2antt.SingleSort = false
oG2antt.AllowGroupBy = true
oG2antt.BackColorSortBar = oG2antt.BackColor
oG2antt.DrawGridLines = -1
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCgeoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
	var_Appearance.RenderType = -268435456
var_Chart = oG2antt.Chart
	var_Chart.DrawGridLines = -1
	// var_Chart.PaneWidth(false) = 196
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 196]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "01/01/2008"
	var_Chart.FirstWeekDay = 1
	var_Bar = var_Chart.Bars.Item("Summary")
		var_Bar.StartShape = 0
		var_Bar.EndShape = 0
		var_Bar.Shape = 1
		var_Bar.Color = 0x1808080
		var_Bar.Height = 7
		// var_Bar.Def(3) = "<%=%513%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%513%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
	var_Bar1 = var_Chart.Bars.Item("Task")
		// var_Bar1.Def(3) = "<%=(%2-%1) in (3,5) ? %513 : `` %>"
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(3) = "<%=(%2-%1) in (3,5) ? %513 : `` %>"]
		endwith
		// var_Bar1.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(4) = 18]
		endwith
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("(%2 - %1) = 3","K3")
	var_ConditionalFormat.ForeColor = 0xff
	var_ConditionalFormat.BarColor = var_ConditionalFormat.ForeColor
	var_ConditionalFormat.ApplyToBars = "Task"
var_ConditionalFormat1 = oG2antt.ConditionalFormats.Add("(%2 - %1) = 5","K5")
	var_ConditionalFormat1.ForeColor = 0xff00
	var_ConditionalFormat1.BarColor = var_ConditionalFormat1.ForeColor
	var_ConditionalFormat1.ApplyToBars = "Task"
var_Columns = oG2antt.Columns
	// var_Columns.Add("Tasks").Def(0) = true
	var_Column = var_Columns.Add("Tasks")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column1 = var_Columns.Add("Start")
		// var_Column1.Def(18) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(18) = 1]
		endwith
		// var_Column1.Def(19) = ""
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(19) = ""]
		endwith
	var_Column2 = var_Columns.Add("End")
		// var_Column2.Def(18) = 2
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(18) = 2]
		endwith
		// var_Column2.Def(19) = ""
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(19) = ""]
		endwith
var_Items = oG2antt.Items
	var_Items.AllowCellValueToItemBar = true
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task C")
oG2antt.Columns.Item("Tasks").SortOrder = 1
oG2antt.EndUpdate()
sFile = "c:/temp/export.html"
oG2antt.Export(sFile,"vis")
var_ShellBrowserWindow = new OleAutoClient("InternetExplorer.Application")
	var_ShellBrowserWindow.Navigate2(sFile)

2045:
Export Data in CSV format

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		i = var_Items.ItemToIndex(Item)
		var_Items.AddBar(Item,"Task","01/02/2008","01/09/2008","")
		// var_Items.ItemBar(Item,"",514) = i
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBar(Item,"",514) = i]
		endwith
		// var_Items.ItemBar(Item,"",513) = i
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBar(Item,"",513) = i]
		endwith
return

local oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Column2,var_Columns,var_ConditionalFormat,var_ConditionalFormat1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.BackColorAlternate = 0xf0f0f0
oG2antt.DrawGridLines = -1
oG2antt.HeaderAppearance = 4
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 2579 /*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
oG2antt.FilterBarPromptType = 2
var_Chart = oG2antt.Chart
	// var_Chart.PaneWidth(false) = 196
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 196]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "01/01/2008"
	var_Bar = var_Chart.Bars.Item("Task")
		// var_Bar.Def(3) = "<%=(%2-%1) in (3,5) ? %513 : `` %>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=(%2-%1) in (3,5) ? %513 : `` %>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("(%2 - %1) = 3","K3")
	var_ConditionalFormat.ForeColor = 0xff
	var_ConditionalFormat.BarColor = var_ConditionalFormat.ForeColor
	var_ConditionalFormat.ApplyToBars = "Task"
var_ConditionalFormat1 = oG2antt.ConditionalFormats.Add("(%2 - %1) = 5","K5")
	var_ConditionalFormat1.ForeColor = 0xff00
	var_ConditionalFormat1.BarColor = var_ConditionalFormat1.ForeColor
	var_ConditionalFormat1.ApplyToBars = "Task"
var_Columns = oG2antt.Columns
	// var_Columns.Add("Tasks").Def(0) = true
	var_Column = var_Columns.Add("Tasks")
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column1 = var_Columns.Add("Start")
		// var_Column1.Def(18) = 1
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(18) = 1]
		endwith
		// var_Column1.Def(19) = ""
		with (oG2antt)
			TemplateDef = [dim var_Column1]
			TemplateDef = var_Column1
			Template = [var_Column1.Def(19) = ""]
		endwith
	var_Column2 = var_Columns.Add("End")
		// var_Column2.Def(18) = 2
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(18) = 2]
		endwith
		// var_Column2.Def(19) = ""
		with (oG2antt)
			TemplateDef = [dim var_Column2]
			TemplateDef = var_Column2
			Template = [var_Column2.Def(19) = ""]
		endwith
var_Items = oG2antt.Items
	var_Items.AllowCellValueToItemBar = true
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task A")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task B")
	var_Items.AddItem("Task C")
oG2antt.EndUpdate()
? Str(oG2antt.Export("","vis")) 

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local date,item,sMessage
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	item = oG2antt.ItemFromPoint(-1,-1,col,hit)
	date = oG2antt.Chart.DateFromPoint(-1,-1)
	sMessage = oG2antt.FormatABC("(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`)  ",date,item)
	? Str(sMessage) 
return

local oG2antt,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	// var_Chart.PaneWidth(false) = 128
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 128]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "01/01/2018"
oG2antt.Columns.Add("Tasks")
var_Items = oG2antt.Items
	var_Items.AddBar(var_Items.AddItem("Task 1"),"Task","01/02/2018","01/12/2018")
	var_Items.AddBar(var_Items.AddItem("Task 2"),"Task","01/03/2018","01/13/2018")
	var_Items.AddBar(var_Items.AddItem("Task 3"),"Task","01/04/2018","01/14/2018")
oG2antt.EndUpdate()

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

local h,oG2antt,sCalendar1,sCalendar2,sCalendar3,sCalendar4,var_Bar,var_Bar1,var_Bars,var_Chart,var_Column,var_Items,var_Level,var_Level1

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.Columns.Add("Tasks")
var_Column = oG2antt.Columns.Add("Working")
	// var_Column.Def(18) = 258
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(18) = 258]
	endwith
	var_Column.FormatColumn = "((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
var_Chart = oG2antt.Chart
	var_Chart.FirstVisibleDate = "04/06/2009"
	// var_Chart.PaneWidth(false) = 148
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 148]
	endwith
	var_Chart.LevelCount = 2
	var_Chart.ShowNonworkingUnits = false
	var_Chart.ShowNonworkingDates = false
	var_Bars = var_Chart.Bars
		// var_Bars.Add("Task:Split").Shortcut = "Task"
		var_Bar = var_Bars.Add("Task:Split")
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Shortcut = "Task"]
		endwith
		// var_Bars.Item("Task").Def(20) = true
		var_Bar1 = var_Bars.Item("Task")
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(20) = True]
		endwith
	// var_Chart.Label(65536) = "<%h%><||><||>65536"
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.Label(65536) = "<%h%><||><||>65536"]
	endwith
	// var_Chart.Level(0).FormatLabel = "`<font small fonts;6>` + value"
	var_Level = var_Chart.Level(0)
	with (oG2antt)
		TemplateDef = [dim var_Level]
		TemplateDef = var_Level
		Template = [var_Level.FormatLabel = "`<font small fonts;6>` + value"]
	endwith
	// var_Chart.Level(1).FormatLabel = "len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (value left 1) + `` )"
	var_Level1 = var_Chart.Level(1)
	with (oG2antt)
		TemplateDef = [dim var_Level1]
		TemplateDef = var_Level1
		Template = [var_Level1.FormatLabel = "len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (value left 1) + `` )"]
	endwith
	var_Chart.UnitScale = 65536
	var_Chart.UnitWidth = 9
oG2antt.Items.AllowCellValueToItemBar = true
var_Items = oG2antt.Items
	sCalendar1 = "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)"
	h = var_Items.AddItem("Shift 1")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar1)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar1]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/07/2009")
	h = var_Items.AddItem("Shift 1")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar1)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar1]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/08/2009")
	sCalendar2 = "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)"
	h = var_Items.AddItem("Shift 2")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar2)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar2]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/07/2009")
	h = var_Items.AddItem("Shift 2")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar2)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar2]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/08/2009")
	sCalendar3 = "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) "
	h = var_Items.AddItem("Shift 3")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar3)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar3]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/07/2009")
	h = var_Items.AddItem("Shift 3")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar3)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar3]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/08/2009")
	sCalendar4 = "weekday(value) in (0,6)"
	h = var_Items.AddItem("Shift 3")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar4)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar4]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/07/2009")
	h = var_Items.AddItem("Shift 3")
	// var_Items.ItemNonworkingUnits(h,false) = Str(sCalendar4)
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemNonworkingUnits(h,False) = sCalendar4]
	endwith
	var_Items.AddBar(h,"Task","04/06/2009","04/08/2009")
oG2antt.EndUpdate()

2042:
Is it possible to check multiple-items at once

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local bHasParent,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	bHasParent = oG2antt.FormatABC("value != 0",oG2antt.Items.ItemParent(Item))
	var_Items = oG2antt.Items
		// var_Items.CellHasCheckBox(Item,0) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellHasCheckBox(Item,0) = bHasParent]
		endwith
return

local h,hChild,oG2antt,var_Column,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.LinesAtRoot = -1
var_Column = oG2antt.Columns.Add("Tasks")
	// var_Column.Def(17) = 1
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(17) = 1]
	endwith
	var_Column.FormatColumn = "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)"
oG2antt.HeaderVisible = 1
oG2antt.SingleSel = false
var_Items = oG2antt.Items
	h = var_Items.AddItem("Project")
	hChild = var_Items.InsertItem(h,null,"Task 1")
	hChild = var_Items.InsertItem(h,null,"Task 2")
	hChild = var_Items.InsertItem(h,null,"Task 3")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	// var_Items.LockedItemCount(0) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.LockedItemCount(0) = 1]
	endwith
	// var_Items.CellValue(var_Items.LockedItem(0,0),0) = "<c>Select multiple items and press the <b>SPACE</b> key"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(LockedItem(0,0),0) = "<c>Select multiple items and press the <b>SPACE</b> key"]
	endwith
oG2antt.EndUpdate()

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

local h,oG2antt,var_Bar,var_Bar1,var_Bars,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oG2antt.VisualAppearance.Add(1,"E:\Exontrol\ExButton\sample\EBN\Assorted\bhframe.ebn")
// oG2antt.Chart.PaneWidth(false) = 96
var_Chart = oG2antt.Chart
with (oG2antt)
	TemplateDef = [dim var_Chart]
	TemplateDef = var_Chart
	Template = [var_Chart.PaneWidth(False) = 96]
endwith
var_Bars = oG2antt.Chart.Bars
	var_Bars.AddShapeCorner(12345,1)
	var_Bars.AddShapeCorner(999,2)
	var_Bars.AddShapeCorner(1049,3)
	var_Bar = var_Bars.Add("T1")
		var_Bar.StartShape = 12345 /*0x3020 | exShapeIconVBar | exShapeIconRight*/
		var_Bar.EndShape = 999 /*0x3e0 | exShapeIconLeft*/
		var_Bar.Pattern = 4
		var_Bar.StartColor = 0xff00
		var_Bar.Color = 0x1000000
		var_Bar.EndColor = 0xff
		// var_Bar.Def(3) = "<%=`<font ;6>  ` + %0 + ``%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=`<font ;6>  ` + %0 + ``%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
	var_Bar1 = var_Bars.Add("T2")
		var_Bar1.StartShape = 12345 /*0x3020 | exShapeIconVBar | exShapeIconRight*/
		var_Bar1.EndShape = 1049 /*0x400 | exShapeIconVBar | exShapeIconRight*/
		var_Bar1.Pattern = 4
		var_Bar1.StartColor = -1
		var_Bar1.Color = 0x1000000
		var_Bar1.EndColor = -1
		// var_Bar1.Def(3) = "<%=`<font ;6>  ` + %0 + ``%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(3) = "<%=`<font ;6>  ` + %0 + ``%>"]
		endwith
		// var_Bar1.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(4) = 18]
		endwith
oG2antt.Chart.FirstVisibleDate = "01/01/2001"
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item 1")
	var_Items.AddBar(h,"T1","01/02/2001","01/04/2001")
	h = var_Items.AddItem("Item 2")
	var_Items.AddBar(h,"T1","01/02/2001","01/04/2001")
	// var_Items.ItemBar(h,"",33) = 65280
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"",33) = 65280]
	endwith
	h = var_Items.AddItem("Item 3")
	var_Items.AddBar(h,"T1","01/02/2001","01/04/2001")
	// var_Items.ItemBar(h,"",33) = 255
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"",33) = 255]
	endwith
	h = var_Items.AddItem("Item 4")
	var_Items.AddBar(h,"T2","01/02/2001","01/04/2001")
	h = var_Items.AddItem("Item 5")
	var_Items.AddBar(h,"T2","01/02/2001","01/04/2001")
	// var_Items.ItemBar(h,"",33) = 65280
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"",33) = 65280]
	endwith
	h = var_Items.AddItem("Item 6")
	var_Items.AddBar(h,"T2","01/02/2001","01/04/2001")
	// var_Items.ItemBar(h,"",33) = 255
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"",33) = 255]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.ItemFromPoint(-1,-1,c,hit)
	? Str(oG2antt.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` )  : `no image`",hit,oG2antt.Items.CellImages(i,c))) 
return

local oG2antt,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
// oG2antt.Chart.PaneWidth(true) = 0
var_Chart = oG2antt.Chart
with (oG2antt)
	TemplateDef = [dim var_Chart]
	TemplateDef = var_Chart
	Template = [var_Chart.PaneWidth(True) = 0]
endwith
oG2antt.Columns.Add("Default")
var_Items = oG2antt.Items
	// var_Items.CellImages(var_Items.AddItem("Item 1"),0) = "3,2,1"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 1"),0) = "3,2,1"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 2"),0) = "2,3"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 2"),0) = "2,3"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 3"),0) = "2,"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 3"),0) = "2,"]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
	local i
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.ItemFromPoint(-1,-1,c,hit)
	? Str(oG2antt.FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit)) 
return

local oG2antt,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
// oG2antt.Chart.PaneWidth(true) = 0
var_Chart = oG2antt.Chart
with (oG2antt)
	TemplateDef = [dim var_Chart]
	TemplateDef = var_Chart
	Template = [var_Chart.PaneWidth(True) = 0]
endwith
oG2antt.Columns.Add("Default")
var_Items = oG2antt.Items
	// var_Items.CellImages(var_Items.AddItem("Item 1"),0) = "3,2,1"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 1"),0) = "3,2,1"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 2"),0) = "2,3"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 2"),0) = "2,3"]
	endwith
	// var_Items.CellImages(var_Items.AddItem("Item 3"),0) = "2"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImages(AddItem("Item 3"),0) = "2"]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local l,var_Chart,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		var_Items.AddBar(Item,"Summary","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
		l = var_Items.GroupItem(Item)
		// var_Items.CellSingleLine(Item,l) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellSingleLine(Item,l) = False]
		endwith
		// var_Items.CellBold(Item,l) = true
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellBold(Item,l) = True]
		endwith
		// var_Items.ItemBackColor(Item) = 0xbebebe
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 12500670]
		endwith
	// oG2antt.Chart.ItemBackColor(Item) = 0xbebebe
	var_Chart = oG2antt.Chart
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.ItemBackColor(Item) = 12500670]
	endwith
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Appearance,var_Bar,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCgeoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
	var_Appearance.RenderType = -268435456
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
	var_Bar = var_Chart.Bars.Item("Summary")
		var_Bar.StartShape = 0
		var_Bar.EndShape = 0
		var_Bar.Shape = 1
		var_Bar.Color = 0x1ff0000
		// var_Bar.Def(3) = "<%=%513%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%513%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
oG2antt.HasLines = 0
oG2antt.LinesAtRoot = 0
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
var_Column1 = oG2antt.Columns.Item(0)
	var_Column1.SortOrder = 1
oG2antt.EndUpdate()

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

local oG2antt,var_Appearance,var_Columns

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.HeaderAppearance = 4
var_Columns = oG2antt.Columns
	var_Columns.Add("Column 1")
	var_Columns.Add("Column 2")
	var_Columns.Add("Column 3")
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMYxXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADKMA4SOKIZhrE4bBhGaQRUgyI43RhHUBzVIUcQvE6TZRHCQYHgkNIhDJIM7TPLkeSVJaTIRoKhJUogApQThTMgVRDEThkGoSa6soSoYTDBKybLrSLKagOT5YUDKUqSdKEZRpEq1YztWbaQoCUoqVRRVIWfbNd4JJa4aDhWpYdpeeY5R7bWLgBYVVABL7LLRsSxpHxPF6RXxaeI3GKsaS8G6ic6nPQMHj7I4NS5pUa6Rh2VYNSa8AAtETRYznOw4bTMXAjNIea5bAYIIR5HIoDzVbQcCQAHL9DBeEMIQEEISgGhMGZQmocgymoYRRCIEQ0G2HYBnEIBig4V4zCQGINnmagCECY43medZ6H2Pw/g+X5fnueh/h+R5+AKABfkMWgGgGYA4AICoCGCE5WA4CphACMgSD2IRIDIBICmEd5YGCBpRjGBgegWIYIgWdgoGIRQsiKCZiAiJZ0gGQI4jUS4LECOAiBmDJflGfg2BSY4Al4OhGkOCJ2DgFJjGGfgqgiH5Ch4RhGkqOQmEOEpkFkHQYhJRYyESAokGKHhIhKIxJEmf4VGUeRGFmF5iBkchPhYJQ5GoYIZg6Ug6GoFYmkmNhuhulRGHKGoImefh0BUZ4JmYeoemeSZ2H6HQmgoBgXDqXwUAQgI=")
	var_Appearance.Add(2,"CP:1 0 -36 0 0")
oG2antt.Template = [Background(182) = 33554432] // oG2antt.Background(182) = 0x2000000
oG2antt.EndUpdate()

2036:
Overlaid-Types

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local barName,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		barName = var_Items.ItemData(Item)
		var_Items.AddBar(Item,barName,"01/02/2001","01/04/2001","A1")
		var_Items.AddBar(Item,barName,"01/03/2001","01/05/2001","A2")
		var_Items.AddBar(Item,barName,"01/04/2001","01/07/2001","A3")
		var_Items.AddBar(Item,barName,"01/05/2001","01/08/2001","A4")
return

local h,oG2antt,var_Bar,var_Bar1,var_Bar2,var_Bar3,var_Bar4,var_Bar5,var_Bar6,var_Bar7,var_Bar8,var_Chart,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.DefaultItemHeight = 22
oG2antt.Columns.Add("Task")
oG2antt.ScrollBySingleLine = true
oG2antt.BackColorAlternate = 0xf0f0f0
oG2antt.DrawGridLines = 1
var_Chart = oG2antt.Chart
	var_Chart.DrawGridLines = 1
	var_Chart.ShowNonworkingDates = false
	// var_Chart.PaneWidth(false) = 164
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 164]
	endwith
	var_Chart.FirstVisibleDate = "12/28/2000"
	var_Chart.LevelCount = 2
	// var_Chart.Bars.Copy("Task","Intersect").Color = 0xff
	var_Bar = var_Chart.Bars.Copy("Task","Intersect")
	with (oG2antt)
		TemplateDef = [dim var_Bar]
		TemplateDef = var_Bar
		Template = [var_Bar.Color = 255]
	endwith
	var_Chart.Bars.Item("Task").OverlaidType = 0
	var_Bar1 = var_Chart.Bars.Copy("Task","Task-Transparent")
		var_Bar1.OverlaidType = 0
		// var_Bar1.Def(19) = 50
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(19) = 50]
		endwith
		var_Bar1.Pattern = 32
		var_Bar1.Color = 0x0
		var_Bar1.StartColor = 0xff5050
		var_Bar1.EndColor = var_Bar1.StartColor
	// var_Chart.Bars.Copy("Task","Task-Offset").OverlaidType = 1
	var_Bar2 = var_Chart.Bars.Copy("Task","Task-Offset")
	with (oG2antt)
		TemplateDef = [dim var_Bar2]
		TemplateDef = var_Bar2
		Template = [var_Bar2.OverlaidType = 1]
	endwith
	var_Bar3 = var_Chart.Bars.Copy("Task","Task-OffsetTransparent")
		var_Bar3.OverlaidType = 257 /*exOverlaidBarsTransparent | exOverlaidBarsOffset*/
		// var_Bar3.Overlaid(256) = 75
		with (oG2antt)
			TemplateDef = [dim var_Bar3]
			TemplateDef = var_Bar3
			Template = [var_Bar3.Overlaid(256) = 75]
		endwith
	var_Bar4 = var_Chart.Bars.Copy("Task","Task-Intersect")
		var_Bar4.OverlaidType = 2
		// var_Bar4.Overlaid(2) = "Intersect"
		with (oG2antt)
			TemplateDef = [dim var_Bar4]
			TemplateDef = var_Bar4
			Template = [var_Bar4.Overlaid(2) = "Intersect"]
		endwith
	// var_Chart.Bars.Copy("Task","Task-Stack").OverlaidType = 3
	var_Bar5 = var_Chart.Bars.Copy("Task","Task-Stack")
	with (oG2antt)
		TemplateDef = [dim var_Bar5]
		TemplateDef = var_Bar5
		Template = [var_Bar5.OverlaidType = 3]
	endwith
	var_Bar6 = var_Chart.Bars.Copy("Task","Task-StackAutoArrange")
		var_Bar6.OverlaidType = 515 /*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/
		var_Bar6.Color = 0xff
		var_Bar6.OverlaidGroup = "Task"
	var_Bar7 = var_Chart.Bars.Copy("Task","Task-Cascade")
		var_Bar7.OverlaidType = 4
		var_Bar7.Color = 0xff
		var_Bar7.OverlaidGroup = "Task"
	var_Bar8 = var_Chart.Bars.Copy("Task","Task-Strict")
		var_Bar8.OverlaidType = 8195 /*exOverlaidBarsStrict | exOverlaidBarsStack*/
		var_Bar8.OverlaidGroup = "Task"
		var_Bar8.Color = 0xff
var_Items = oG2antt.Items
	var_Items.InsertItem(0,"Task","Overlaid-None")
	var_Items.InsertItem(0,"Task-Transparent","Overlaid-Semi-Transparent")
	var_Items.InsertItem(0,"Task-Offset","Overlaid-Offset")
	var_Items.InsertItem(0,"Task-OffsetTransparent","Overlaid-OffsetTransparent")
	var_Items.InsertItem(0,"Task-Intersect","Overlaid-Intersect")
	var_Items.InsertItem(0,"Task-Stack","Overlaid-Stack")
	h = var_Items.InsertItem(0,"Task-StackAutoArrange","Overlaid-StackAutoArrange")
	var_Items.AddBar(h,"Task","01/07/2001","01/09/2001","T1")
	var_Items.AddBar(h,"Task","01/03/2001","01/05/2001","T2")
	var_Items.AddBar(h,"Task","01/04/2001","01/07/2001","T3")
	var_Items.AddBar(h,"Task","01/05/2001","01/08/2001","T4")
	h = var_Items.InsertItem(0,"Task-Cascade","Overlaid-Cascade")
	var_Items.AddBar(h,"Task","01/07/2001","01/09/2001","T1")
	var_Items.AddBar(h,"Task","01/03/2001","01/05/2001","T2")
	var_Items.AddBar(h,"Task","01/04/2001","01/07/2001","T3")
	var_Items.AddBar(h,"Task","01/05/2001","01/08/2001","T4")
	// var_Items.ItemBar(h,"<A*>",52) = "A"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"<A*>",52) = "A"]
	endwith
	// var_Items.ItemBar(h,"<T*>",52) = "T"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ItemBar(h,"<T*>",52) = "T"]
	endwith
	h = var_Items.InsertItem(0,"Task","Overlaid-StackStrict")
	var_Items.AddBar(h,"Task-Strict","01/07/2001","01/09/2001","T1")
	// var_Items.ItemBar(0,"<*>",3) = "<%=%9%>"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.ItemBar(0,"<*>",3) = "<%=%9%>"]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local l,val,var_Chart,var_Items,var_Items1
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemBackColor(Item) = 0xf0f0f0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 15790320]
		endwith
		val = var_Items.CellValue(Item,var_Items.GroupItem(Item))
		// var_Items.CellState(Item,var_Items.GroupItem(Item)) = oG2antt.FormatABC("A = `Checked` ? 1 : 0",val)
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.CellState(Item,GroupItem(Item)) = Me.FormatABC("A = `Checked` ? 1 : 0",val)]
		endwith
	var_Items1 = oG2antt.Items
		// var_Items1.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items1,Item]
			TemplateDef = var_Items1
			TemplateDef = Item
			Template = [var_Items1.ItemDividerLine(Item) = 0]
		endwith
		var_Items1.AddBar(Item,"Summary","12/02/2017","12/02/2017")
		var_Items1.DefineSummaryBars(Item,"",-3,"")
		l = var_Items1.GroupItem(Item)
		// var_Items1.CellSingleLine(Item,l) = false
		with (oG2antt)
			TemplateDef = [dim var_Items1,Item,l]
			TemplateDef = var_Items1
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items1.CellSingleLine(Item,l) = False]
		endwith
		// var_Items1.CellBold(Item,l) = true
		with (oG2antt)
			TemplateDef = [dim var_Items1,Item,l]
			TemplateDef = var_Items1
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items1.CellBold(Item,l) = True]
		endwith
	// oG2antt.Chart.ItemBackColor(Item) = 0xf0f0f0
	var_Chart = oG2antt.Chart
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.ItemBackColor(Item) = 15790320]
	endwith
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCgeoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
	var_Bar = var_Chart.Bars.Item("Summary")
		var_Bar.StartShape = 0
		var_Bar.EndShape = 0
		var_Bar.Shape = 1
		var_Bar.Color = 0x1000000
		// var_Bar.Def(3) = "<%=%513%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%513%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	// var_Column2.Def(0) = true
	with (oG2antt)
		TemplateDef = [dim var_Column2]
		TemplateDef = var_Column2
		Template = [var_Column2.Def(0) = True]
	endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 rpos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
oG2antt.AllowGroupBy = true
oG2antt.SortBarVisible = true
var_Column5 = oG2antt.Columns.Item(2)
	var_Column5.FormatColumn = "%CS2 ? `Checked` : `Unchecked`"
	var_Column5.SortOrder = 1
oG2antt.EndUpdate()

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

local oG2antt,var_Column,var_Column1,var_ConditionalFormat,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.ColumnAutoResize = true
oG2antt.DefaultItemHeight = 20
oG2antt.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQRJSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==")
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oG2antt.Columns.Add("Position")
	var_Column1.FormatColumn = "1 rindex ``"
	var_Column1.Visible = false
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("%C1 mod 2")
	var_ConditionalFormat.BackColor = 0x1000000
var_Items = oG2antt.Items
	var_Items.AddItem("Item 1")
	var_Items.AddItem("Item 2")
	var_Items.AddItem("Item 3")
	var_Items.AddItem("Item 4")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Column,var_Column1,var_ConditionalFormat,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.LinesAtRoot = -1
var_Column = oG2antt.Columns.Add("Default")
	// var_Column.Def(0) = true
	with (oG2antt)
		TemplateDef = [dim var_Column]
		TemplateDef = var_Column
		Template = [var_Column.Def(0) = True]
	endwith
	var_Column.PartialCheck = true
var_Column1 = oG2antt.Columns.Add("Position")
	var_Column1.FormatColumn = "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )"
	var_Column1.Visible = false
var_ConditionalFormat = oG2antt.ConditionalFormats.Add("%C1 mod 2")
	var_ConditionalFormat.BackColor = 0xf0f0f0
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	h = var_Items.AddItem("Root 3")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.LinesAtRoot = -1
oG2antt.VisualDesign = "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiCQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhghWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkM" ;
 +"hAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggloFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyTKMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhFkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEgEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxSCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" &
 +"BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ="
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Appearance,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" ;
 +"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
	var_Appearance.Add(1,"CP:3 -2 -2 2 2")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" ;
 +"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
	var_Appearance.Add(2,"CP:4 -2 -2 2 2")
oG2antt.LinesAtRoot = 1
oG2antt.HasButtons = 4
oG2antt.Template = [HasButtonsCustom(0) = 16777216] // oG2antt.HasButtonsCustom(false) = 16777216
oG2antt.Template = [HasButtonsCustom(1) = 33554432] // oG2antt.HasButtonsCustom(true) = 33554432
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oG2antt.EndUpdate()

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

local h,oG2antt,var_Appearance,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"XP:TREEVIEW 2 1")
	var_Appearance.Add(2,"XP:TREEVIEW 2 2")
oG2antt.Template = [Background(180) = 16777216] // oG2antt.Background(180) = 0x1000000
oG2antt.Template = [Background(181) = 33554432] // oG2antt.Background(181) = 0x2000000
oG2antt.LinesAtRoot = -1
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oG2antt.EndUpdate()

2029:
How can I find if the control is running in DPI mode
local oG2antt

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
? Str(oG2antt.FormatABC("dpi = 1 ? `normal/stretch mode` : `dpi mode`")) 

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

local h,oG2antt,var_Appearance,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5JlgXIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOM" ;
 +"INCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCEeBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQO" ;
 +"JtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=")
oG2antt.LinesAtRoot = -1
oG2antt.Template = [Background(180) = 16777216] // oG2antt.Background(180) = 0x1000000
oG2antt.Template = [Background(181) = 33554432] // oG2antt.Background(181) = 0x2000000
oG2antt.Columns.Add("Column")
var_Items = oG2antt.Items
	h = var_Items.AddItem("Root 1")
	var_Items.InsertItem(h,null,"Child 1")
	var_Items.InsertItem(h,null,"Child 2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	h = var_Items.AddItem("Root 2")
	var_Items.InsertItem(h,null,"Child")
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local l,var_Chart,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		var_Items.AddBar(Item,"Summary","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
		l = var_Items.GroupItem(Item)
		// var_Items.CellSingleLine(Item,l) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellSingleLine(Item,l) = False]
		endwith
		// var_Items.CellBold(Item,l) = true
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellBold(Item,l) = True]
		endwith
		// var_Items.ItemBackColor(Item) = 0xbebebe
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 12500670]
		endwith
	// oG2antt.Chart.ItemBackColor(Item) = 0xbebebe
	var_Chart = oG2antt.Chart
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.ItemBackColor(Item) = 12500670]
	endwith
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Bar,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
oG2antt.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCgeoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==")
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
	var_Bar = var_Chart.Bars.Item("Summary")
		var_Bar.StartShape = 0
		var_Bar.EndShape = 0
		var_Bar.Shape = 1
		var_Bar.Color = 0x1000000
		// var_Bar.Def(3) = "<%=%513%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%513%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
oG2antt.HasLines = 0
oG2antt.LinesAtRoot = 0
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
var_Column1 = oG2antt.Columns.Item(0)
	var_Column1.SortOrder = 1
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local l,var_Chart,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		var_Items.AddBar(Item,"Progress","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
		l = var_Items.GroupItem(Item)
		// var_Items.CellSingleLine(Item,l) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellSingleLine(Item,l) = False]
		endwith
		// var_Items.CellBold(Item,l) = true
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellBold(Item,l) = True]
		endwith
		// var_Items.ItemBackColor(Item) = 0xbebebe
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 12500670]
		endwith
	// oG2antt.Chart.ItemBackColor(Item) = 0xbebebe
	var_Chart = oG2antt.Chart
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.ItemBackColor(Item) = 12500670]
	endwith
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
oG2antt.HasLines = 0
oG2antt.LinesAtRoot = 0
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
var_Column1 = oG2antt.Columns.Item(0)
	var_Column1.SortOrder = 1
	var_Column1.Alignment = 1
	// var_Column1.Def(4) = 15790320
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(4) = 15790320]
	endwith
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		var_Items.AddBar(Item,"Progress","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
var_Columns = oG2antt.Columns
	var_Column = var_Columns.Add("C1")
		var_Column.GroupByFormatCell = "upper(value)"
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column1 = var_Columns.Add("Pos")
		var_Column1.FormatColumn = "1 pos ``"
		var_Column1.AllowGroupBy = false
		var_Column1.Position = 0
		var_Column1.Width = 48
		var_Column1.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
oG2antt.Columns.Item(0).SortOrder = 1
oG2antt.EndUpdate()

2024:
How can I change the aspect of grouped items

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local l,var_Chart,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		var_Items.AddBar(Item,"Progress","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
		l = var_Items.GroupItem(Item)
		// var_Items.CellSingleLine(Item,l) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellSingleLine(Item,l) = False]
		endwith
		// var_Items.CellBold(Item,l) = true
		with (oG2antt)
			TemplateDef = [dim var_Items,Item,l]
			TemplateDef = var_Items
			TemplateDef = Item
			TemplateDef = l
			Template = [var_Items.CellBold(Item,l) = True]
		endwith
		// var_Items.ItemBackColor(Item) = 0xbebebe
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemBackColor(Item) = 12500670]
		endwith
	// oG2antt.Chart.ItemBackColor(Item) = 0xbebebe
	var_Chart = oG2antt.Chart
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.ItemBackColor(Item) = 12500670]
	endwith
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
oG2antt.Columns.Item(0).SortOrder = 1
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddGroupItem = class::nativeObject_AddGroupItem
endwith
*/
// Occurs after a new Group Item has been inserted to Items collection.
function nativeObject_AddGroupItem(Item)
	local var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	var_Items = oG2antt.Items
		// var_Items.ExpandItem(Item) = false
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ExpandItem(Item) = False]
		endwith
		// var_Items.ItemDividerLine(Item) = 0
		with (oG2antt)
			TemplateDef = [dim var_Items,Item]
			TemplateDef = var_Items
			TemplateDef = Item
			Template = [var_Items.ItemDividerLine(Item) = 0]
		endwith
		var_Items.AddBar(Item,"Progress","12/02/2017","12/02/2017")
		var_Items.DefineSummaryBars(Item,"",-3,"")
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "Drag a <b>column</b> header here to group by that column."
oG2antt.AllowGroupBy = true
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
oG2antt.Columns.Item(0).SortOrder = 1
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/10/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Columns,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 342
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 342]
	endwith
var_Columns = oG2antt.Columns
	var_Columns.Add("C1")
	var_Columns.Add("C2")
	var_Columns.Add("C3")
	var_Column = var_Columns.Add("Pos")
		var_Column.FormatColumn = "1 pos ``"
		var_Column.AllowGroupBy = false
		var_Column.Position = 0
		var_Column.Width = 48
		var_Column.AllowSizing = false
oG2antt.SortBarVisible = true
oG2antt.SortBarCaption = "<fgcolor=FF0000>Try to drag the Pos column here."
oG2antt.AllowGroupBy = true
var_Items = oG2antt.Items
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item A")
	// var_Items.CellValue(h,1) = "SubItem A.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem A.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem A.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem A.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "SubItem B.1"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "SubItem B.1"]
	endwith
	// var_Items.CellValue(h,2) = "SubItem B.2"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,2) = "SubItem B.2"]
	endwith
oG2antt.EndUpdate()

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

local oG2antt,var_Bar,var_Bar1,var_Bar2,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "11/28/2017"
	// var_Chart.PaneWidth(false) = 0
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 0]
	endwith
	var_Bar = var_Chart.Bars.Item("Task")
		// var_Bar.Def(3) = "<%=%0%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(3) = "<%=%0%>"]
		endwith
		// var_Bar.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar]
			TemplateDef = var_Bar
			Template = [var_Bar.Def(4) = 18]
		endwith
	var_Bar1 = var_Chart.Bars.Copy("Task","GTask")
		// var_Bar1.Def(3) = "<%=%0%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(3) = "<%=%0%>"]
		endwith
		// var_Bar1.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar1]
			TemplateDef = var_Bar1
			Template = [var_Bar1.Def(4) = 18]
		endwith
		var_Bar1.Color = 0xff00
	var_Bar2 = var_Chart.Bars.Copy("Task","RTask")
		// var_Bar2.Def(3) = "<%=%0%>"
		with (oG2antt)
			TemplateDef = [dim var_Bar2]
			TemplateDef = var_Bar2
			Template = [var_Bar2.Def(3) = "<%=%0%>"]
		endwith
		// var_Bar2.Def(4) = 18
		with (oG2antt)
			TemplateDef = [dim var_Bar2]
			TemplateDef = var_Bar2
			Template = [var_Bar2.Def(4) = 18]
		endwith
		var_Bar2.Color = 0xff
	var_Chart.ColumnsFormatLevel = "0"
oG2antt.OnResizeControl = 129 /*exDisableSplitter | exResizeChart*/
var_Column = oG2antt.Columns.Add("Default")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Type")
	// var_Column1.Def(19) = ""
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(19) = ""]
	endwith
	// var_Column1.Def(18) = 0
	with (oG2antt)
		TemplateDef = [dim var_Column1]
		TemplateDef = var_Column1
		Template = [var_Column1.Def(18) = 0]
	endwith
	var_Column1.Visible = false
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Items = oG2antt.Items
	var_Items.AllowCellValueToItemBar = true
	var_Items.AddBar(var_Items.AddItem("Item 1"),"Task","12/04/2017","12/12/2017")
	var_Items.AddBar(var_Items.AddItem("Item 2"),"GTask","12/04/2017","12/12/2017")
	var_Items.AddBar(var_Items.AddItem("Item 3"),"RTask","12/04/2017","12/12/2017")
	var_Items.AddBar(var_Items.AddItem("Item 4"),"Task","12/04/2017","12/12/2017")
	var_Items.AddBar(var_Items.AddItem("Item 5"),"GTask","12/04/2017","12/12/2017")
	var_Items.AddBar(var_Items.AddItem("Item 6"),"RTask","12/04/2017","12/12/2017")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 2579 /*exFilterBarCompact | exFilterBarShowCloseIfRequired | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oG2antt.Columns.Item(1)
	var_Column2.FilterType = 240
	var_Column2.Filter = "GTask|RTask"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarPromptVisible = 4096
var_Column3 = oG2antt.Columns.Item(1)
	var_Column3.FilterType = 3
	var_Column3.Filter = "*B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2019:
FilterBarCaption ALL Keyword ( sample 2, result )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2018:
FilterBarCaption ALL Keyword ( sample 1 )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "all"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2017:
FilterBarCaption ALLUI Keyword ( sample 2, result )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` )  + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2016:
FilterBarCaption ALLUI Keyword ( sample 1 )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "allui"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2015:
FilterBarCaption AVAILABLE Keyword ( sample 2, result )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2014:
FilterBarCaption AVAILABLE Keyword ( sample 1 )

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	local i,var_Items
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	i = oG2antt.FormatABC("value + 1",oG2antt.Items.ItemToIndex(Item))
	// oG2antt.Items.CellImage(Item,3) = i
	var_Items = oG2antt.Items
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellImage(Item,3) = i]
	endwith
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Column5,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column2.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column2.DisplayFilterButton = true
	var_Column2.DisplayFilterPattern = false
	var_Column2.FilterType = 6
var_Column3 = oG2antt.Columns.Add("Image")
	var_Column3.DisplayFilterButton = true
	var_Column3.FilterType = 10
	var_Column3.FilterList = 9472 /*exShowExclude | exShowFocusItem | exShowCheckBox*/
var_Column4 = oG2antt.Columns.Add("Pos")
	var_Column4.AllowSizing = false
	var_Column4.AllowSort = false
	var_Column4.Width = 32
	var_Column4.FormatColumn = "1 apos ``"
	var_Column4.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	h = var_Items.AddItem("Item B")
	// var_Items.CellValue(h,1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellValue(h,1) = "Sub-Item B"]
	endwith
	// var_Items.CellState(h,2) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.CellState(h,2) = 1]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "value + ` ` + available"
oG2antt.FilterBarPromptVisible = 3 /*exFilterBarVisible | exFilterBarPromptVisible*/
var_Column5 = oG2antt.Columns.Item(0)
	var_Column5.FilterType = 240
	var_Column5.Filter = "Item A|Item B"
oG2antt.Columns.Item(2).Filter = Str(1)
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oG2antt.FilterBarPromptVisible = 256
var_Column3 = oG2antt.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oG2antt.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`"
oG2antt.FilterBarPromptVisible = 256
var_Column3 = oG2antt.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oG2antt.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Column4,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Col-1")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Col-2")
	var_Column1.DisplayFilterButton = true
	var_Column1.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column2 = oG2antt.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oG2antt.Items
	// var_Items.CellValue(var_Items.AddItem("Item A"),1) = "Sub-Item A"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item A"),1) = "Sub-Item A"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item B"),1) = "Sub-Item B"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item B"),1) = "Sub-Item B"]
	endwith
	// var_Items.CellValue(var_Items.AddItem("Item C"),1) = "Sub-Item C"
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellValue(AddItem("Item C"),1) = "Sub-Item C"]
	endwith
oG2antt.Template = [Description(11) = FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",Description(11))] // oG2antt.Description(11) = Str(oG2antt.FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt.Description(11)))
oG2antt.FilterBarCaption = "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`"
oG2antt.FilterBarPromptVisible = 256
var_Column3 = oG2antt.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
var_Column4 = oG2antt.Columns.Item(1)
	var_Column4.FilterType = 3
	var_Column4.Filter = "*B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Item")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarCaption = "`<r>` + value"
oG2antt.FilterBarPromptVisible = 1280 /*exFilterBarShowCloseOnRight | exFilterBarToggle*/
var_Column2 = oG2antt.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Column = oG2antt.Columns.Add("Item")
	var_Column.DisplayFilterButton = true
	var_Column.FilterList = 9504 /*exShowExclude | exShowFocusItem | exShowCheckBox | exSortItemsAsc*/
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarPrompt = Str(oG2antt.FormatABC("`<b>` + value",oG2antt.FilterBarPrompt))
oG2antt.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )"
oG2antt.FilterBarPromptVisible = 3591 /*exFilterBarCompact | exFilterBarShowCloseOnRight | exFilterBarShowCloseIfRequired | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)"
oG2antt.FilterBarPromptVisible = 2055 /*exFilterBarCompact | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oG2antt.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarCaption = "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)"
oG2antt.FilterBarPromptVisible = 2071 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oG2antt.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarCaption = "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)"
oG2antt.FilterBarPromptVisible = 7 /*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oG2antt.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

2005:
FilterBarCaption Predefined Keywords

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AfterExpandItem = class::nativeObject_AfterExpandItem
endwith
*/
// Fired after an item is expanded (collapsed).
function nativeObject_AfterExpandItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Refresh()
return

local h,oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Column3,var_Editor,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.LinesAtRoot = -1
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Check")
	var_Editor = var_Column1.Editor
		var_Editor.EditType = 19
		// var_Editor.Option(17) = 1
		with (oG2antt)
			TemplateDef = [dim var_Editor]
			TemplateDef = var_Editor
			Template = [var_Editor.Option(17) = 1]
		endwith
	var_Column1.DisplayFilterButton = true
	var_Column1.DisplayFilterPattern = false
	var_Column1.FilterType = 6
var_Column2 = oG2antt.Columns.Add("Pos")
	var_Column2.AllowSizing = false
	var_Column2.AllowSort = false
	var_Column2.Width = 32
	var_Column2.FormatColumn = "1 apos ``"
	var_Column2.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	h = var_Items.AddItem("Item B")
	// var_Items.CellState(var_Items.InsertItem(h,null,"Sub-Item B1"),1) = 1
	with (oG2antt)
		TemplateDef = [dim var_Items]
		TemplateDef = var_Items
		Template = [var_Items.CellState(InsertItem(h,,"Sub-Item B1"),1) = 1]
	endwith
	var_Items.InsertItem(h,null,"Sub-Item B2")
	// var_Items.ExpandItem(h) = true
	with (oG2antt)
		TemplateDef = [dim var_Items,h]
		TemplateDef = var_Items
		TemplateDef = h
		Template = [var_Items.ExpandItem(h) = True]
	endwith
	var_Items.AddItem("Item C")
oG2antt.FilterInclude = 1
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarCaption = "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount +" ;
 +" `</fgcolor>`"
oG2antt.FilterBarPromptPattern = "B"
oG2antt.FilterBarPromptVisible = 7 /*exFilterBarCaptionVisible | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column3 = oG2antt.Columns.Item(0)
	var_Column3.FilterType = 240
	var_Column3.Filter = "Item A|Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Column2,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarFont = oG2antt.Font
oG2antt.FilterBarCaption = "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value"
oG2antt.FilterBarPromptPattern = "B"
oG2antt.FilterBarPromptVisible = 2067 /*exFilterBarCompact | exFilterBarSingleLine | exFilterBarVisible | exFilterBarPromptVisible*/
var_Column2 = oG2antt.Columns.Item(0)
	var_Column2.FilterType = 240
	var_Column2.Filter = "Item A|Item B"
oG2antt.ApplyFilter()
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarPromptVisible = 1281 /*exFilterBarShowCloseOnRight | exFilterBarToggle | exFilterBarPromptVisible*/
oG2antt.FilterBarPrompt = Str(oG2antt.FormatABC("`<r>` + value",oG2antt.FilterBarPrompt))
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Chart,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
oG2antt.RightToLeft = true
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarPromptVisible = 257 /*exFilterBarToggle | exFilterBarPromptVisible*/
oG2antt.EndUpdate()

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

/*
with (this.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject)
	AddItem = class::nativeObject_AddItem
endwith
*/
// Occurs after a new Item has been inserted to Items collection.
function nativeObject_AddItem(Item)
	oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
	oG2antt.Items.AddBar(Item,"Task","12/04/2017","12/14/2017")
return

local oG2antt,var_Appearance,var_Chart,var_Column,var_Column1,var_Items

oG2antt = form.EXG2ANTTCHARTACTIVEXCONTROL1.nativeObject
oG2antt.BeginUpdate()
var_Chart = oG2antt.Chart
	var_Chart.LevelCount = 2
	var_Chart.FirstVisibleDate = "12/02/2017"
	// var_Chart.PaneWidth(false) = 256
	with (oG2antt)
		TemplateDef = [dim var_Chart]
		TemplateDef = var_Chart
		Template = [var_Chart.PaneWidth(False) = 256]
	endwith
var_Appearance = oG2antt.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaK" ;
 +"JDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEAkjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ")
// oG2antt.Columns.Add("Item").DisplayFilterButton = true
var_Column = oG2antt.Columns.Add("Item")
with (oG2antt)
	TemplateDef = [dim var_Column]
	TemplateDef = var_Column
	Template = [var_Column.DisplayFilterButton = True]
endwith
var_Column1 = oG2antt.Columns.Add("Pos")
	var_Column1.AllowSizing = false
	var_Column1.AllowSort = false
	var_Column1.Width = 32
	var_Column1.FormatColumn = "1 apos ``"
	var_Column1.Position = 0
var_Items = oG2antt.Items
	var_Items.AddItem("Item A")
	var_Items.AddItem("Item B")
	var_Items.AddItem("Item C")
oG2antt.FilterBarPromptVisible = 257 /*exFilterBarToggle | exFilterBarPromptVisible*/
oG2antt.Template = [Background(1) = 16777216] // oG2antt.Background(1) = 0x1000000
oG2antt.EndUpdate()