2357
Specify the size of the Columns panel

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:ColumnsFloatBarRect := ",,96"
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleAsChild | exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:EndUpdate()

2356
Show a vertical line between pivot and Columns panel (EBN color)

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABRsIQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFICQTIcBhaGIZRiAKCRTDmHwyRCNIwCLD8QxtDqBY4gOZZXhal4cJTgMaBYi+Pw3DZHcbvBRkewzHQAKgnSjoDhEMg1CTVVYTDKdOSzDyEX7sIAACpOIZQVJVEY1VT8cyxIyEZimSypWqiYJ0Ty6cQwTAIgI")
oDCOCX_Exontrol1:[Background,exColumnsFloatBackColor] := 0x1000000
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleAsChild | exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:EndUpdate()

2355
Change the background of the Columns panel (EBN color)

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNAgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpTlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlEkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBqOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA")
oDCOCX_Exontrol1:[Background,exColumnsFloatBackColor] := 0x1000000
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleAsChild | exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:EndUpdate()

2354
Change the background of the Columns panel (solid color)

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleAsChild | exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:[Background,exColumnsFloatBackColor] := RGB(240,240,240)
oDCOCX_Exontrol1:EndUpdate()

2353
Change the visual appearance of the Columns panel

local var_Columns as IColumns

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABNoCg6AADACAxRDAMgBQKAAzQFAYahqGKGAAGOD4JhUAIIRZGMIjFDcEwxC6NIpAWLoJDCH4mSTHYxgJIMWwzDiBZgkCA4fiGEYnThCIxzTJ0aw1CKbYRAKCUKoUAJFsSnQAJIgOO4lULPMIhDDQKQTIKBahoehqIhaEQyDSJNb2DCIahhMSEbKtCooDhGFZUWzLVxTJJNawHJqJJDuOTpSjKH4+RjWFKUXR9b4BJSNAgqeCQTiSWZEVxRUS0XbGCyZLSQY7uAAMKgOVoDYzdGLwHTtOwrMa1QAsDSbKqWZ5uRpHcQ5aAGN5DPbMbqwOaqLznAaLQLtG4RTikVRPTDYaj437+OaHGyNbI6HTNPpTlWDJWjYXI8l8C4fg6GYAAEEISgGJJGHQOocgyIwYnqKhYAAIQTH2MYRjQJBRAmZptmEAYIjGU5dk8UgOFgBJUgCTQIBYBoBmCCAmAqApghgDJUDmYQFCCZoEk2OBUm+BZPCgZgagaYZIHYHoHmGWBcm8NwiEiFJVgmYgji4Kg6GKSI2C6C5jAiRgygwIojiycINkyeJmAYPJjkiTg+g+ZAIkCdIQkyWQWDuDxkBkJhKguZAzlIRQzGQc5ODWFJlEkVhWhWZYJFYTYTmUE4yF6F5mAmBhihiZhJhYX4WmQaAUnWGpOlmNhuhuZwJkYcocmcSY4naHZlkmKhrDuJ5JnYfofmgCgGgKIJnlmXJ2h4TQKBosRokoNoOiOaQKDSd4kmiChMncPBpgoZoaiaaZKHaHonmmE5iiKJRpDicomimaoKiaKoqmqSoeiIPgogqPotiyaxKlYPA+GuCqbBMa5KnaPovmwCwGj6LgP24RIhiyCwmkqMpsksNpKD6LQLBqOIzi0SxWlaHZtAOahPssM5Wi+IYtlsXpijKbZ5lyTo5mAE4UlqOpjHOQpEjubyanKPJvEuNgVj2TY1CCao+k2G52AyP5wAwBp9DYZZ1CCaxsAABAEICA")
oDCOCX_Exontrol1:[Background,exColumnsFloatAppearance] := 0x1000000
oDCOCX_Exontrol1:[Background,exColumnsFloatCaptionBackColor] := RGB(246,246,246)
oDCOCX_Exontrol1:BackColorHeader := 0x1000000
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("City")
	IColumn{var_Columns:Add("Start")}:Visible := false
	IColumn{var_Columns:Add("End")}:Visible := false
oDCOCX_Exontrol1:[Description,exColumnsFloatBar] := "Show/Hide"
oDCOCX_Exontrol1:ColumnsFloatBarVisible := exColumnsFloatBarVisibleIncludeCheckColumns
oDCOCX_Exontrol1:EndUpdate()

2352
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (ditto mark)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exRowLines
IColumn{oDCOCX_Exontrol1:Columns:Add("Country")}:ShowIdem := "<fgcolor gray>〃"
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
oDCOCX_Exontrol1:EndUpdate()

2351
Defines the symbol used to indicate repeated captions, providing a clear visual cue for identical entries (space)

local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exRowLines
IColumn{oDCOCX_Exontrol1:Columns:Add("Country")}:ShowIdem := " "
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Spain")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
	var_Items:AddItem("Germany")
oDCOCX_Exontrol1:EndUpdate()

2350
Displays a glitch funnel for drop-down filter buttons (empty or active)

local var_Appearance as IAppearance
local var_Column as IColumn
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Appearance := oDCOCX_Exontrol1:VisualAppearance
	var_Appearance:RenderType := -1
	var_Appearance:Add(1,"gBFLBCJwBAEHhEJAAEhABa8IQAAYAQGKIYBkAKBQAGaAoDDUNQxQwAAxwfBMKgBBCLIxhEYobgmGIXRpFMbxCKQahLEiTIhGUYJHgmK4tRiAUgxVDkBxrECZYqjcBZOiwLQ2TxDM7DNKUCBnIoABhGOaYDh+IQNQjUFKwTRFGRxK4EIRKAyTDLQdRyGSMMbjdQpBCbMiMRqhESKRq2UwYRYCFS1NalaztO6BUAvK67YrWez/YBfF+SfwGeqDYReWAPfgWERnQrGMLxbD8KwZAKTRjkGJ4XhuB41TbQMqufL9ByXHKSSDpGjaXjeO5VVjYNAvS69UzXNq3bhtQAOXCMEwCgI=")
	var_Appearance:Add(2,"CP:1 -2 0 0 0")
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:ShowFocusRect := false
oDCOCX_Exontrol1:[Background,exHeaderFilterBarButton] := 0x2000000
oDCOCX_Exontrol1:[Background,exHeaderFilterBarActive] := 0x2000001
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:BackColorHeader := RGB(255,255,255)
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:HeaderVisible := exHeaderVisibleExtendLevels
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("1st col")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := false
	var_Column:Filter := "Item B"
	var_Column:FilterType := exFilter
oDCOCX_Exontrol1:Columns:Add("2nd col")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("Item A")
	var_Items:AddItem("Item B")
	var_Items:AddItem("Item C")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

2349
Stack vs Cascade

local var_Bar,var_Bar1 as IBar
local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ScrollBySingleLine := true
oDCOCX_Exontrol1:HeaderAppearance := Flat
oDCOCX_Exontrol1:Columns:Add("Type")
oDCOCX_Exontrol1:BackColorAlternate := RGB(240,240,240)
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:AllowCreateBar := exCreateBarAuto
	var_Chart:AllowLinkBars := false
	var_Chart:ResizeUnitScale := exHour
	var_Chart:[PaneWidth,false] := 128
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Bar := var_Chart:Bars:Copy("Task","T1")
		var_Bar:OverlaidType := exOverlaidBarsCascade
		var_Bar:[Def,exBarCaption] := "<%=%9%>"
	var_Bar1 := var_Chart:Bars:Copy("Task","T2")
		var_Bar1:OverlaidType := exOverlaidBarsStackAutoArrange | exOverlaidBarsStack
		var_Bar1:[Def,exBarCaption] := "<%=%9%>"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Cascade")
	var_Items:AddBar(h,"T1",SToD("20010102"),SToD("20010104"),"A1",nil)
	var_Items:AddBar(h,"T1",SToD("20010103"),SToD("20010105"),"A2",nil)
	var_Items:AddBar(h,"T1",SToD("20010104"),SToD("20010107"),"A3",nil)
	var_Items:AddBar(h,"T1",SToD("20010102"),SToD("20010107"),"A4",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"A5",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"A6",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"A7",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"A8",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"A9",nil)
	var_Items:AddBar(h,"T1",SToD("20010108"),SToD("20010112"),"AA",nil)
	h := var_Items:AddItem("Stack-AutoArrange")
	var_Items:AddBar(h,"T2",SToD("20010102"),SToD("20010104"),"A1",nil)
	var_Items:AddBar(h,"T2",SToD("20010103"),SToD("20010105"),"A2",nil)
	var_Items:AddBar(h,"T2",SToD("20010104"),SToD("20010107"),"A3",nil)
	var_Items:AddBar(h,"T2",SToD("20010102"),SToD("20010107"),"A4",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"A5",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"A6",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"A7",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"A8",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"A9",nil)
	var_Items:AddBar(h,"T2",SToD("20010108"),SToD("20010112"),"AA",nil)
oDCOCX_Exontrol1:EndUpdate()

2348
Horizontally(left) align the multi-line caption of the bar

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Task")
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Chart:[PaneWidth,false] := 128
	var_Chart:LevelCount := 2
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[SelectableItem,var_Items:AddItem(nil)] := false
	h := var_Items:AddItem("Task 1")
	var_Items:[ItemHeight,h] := 42
	var_Items:AddBar(h,"Task",SToD("20010102"),SToD("20010107"),"K1","This is a bit of 1'st line<br>2'nd line<br>3'rd line")
	var_Items:[ItemBar,h,"K1",exBarHAlignCaption] := 0
oDCOCX_Exontrol1:EndUpdate()

2347
Defines the colors, to display overlapping links

local var_Chart as IChart
local var_Items as IItems
local h1 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
oDCOCX_Exontrol1:AntiAliasing := true
oDCOCX_Exontrol1:OverlapLinksColors := "black,gray,lightgray"
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
	var_Chart:ShowLinks := exChangeColorOnOverlap | exPreventOverlapMixt | exShowDefaultLinks
	var_Chart:NonworkingDays := 0
	var_Chart:LinksStyle := exLinkSolid
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("")
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),"A",nil)
	var_Items:AddBar(h1,"Task",SToD("20010108"),SToD("20010111"),"B",nil)
	var_Items:AddBar(h1,"Task",SToD("20010113"),SToD("20010116"),"C",nil)
	var_Items:AddBar(h1,"Task",SToD("20010118"),SToD("20010121"),"D",nil)
	var_Items:AddLink("Link1",h1,"D",h1,"A")
	var_Items:AddLink("Link2",h1,"C",h1,"B")
oDCOCX_Exontrol1:EndUpdate()

2346
The exPreventOverlapMixt option can be combined with the exChangeColorOnOverlap flag, allowing overlapping links to alternately adjust their width while also changing colors

local var_Chart as IChart
local var_Items as IItems
local h1 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
oDCOCX_Exontrol1:AntiAliasing := true
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
	var_Chart:ShowLinks := exChangeColorOnOverlap | exPreventOverlapMixt | exShowDefaultLinks
	var_Chart:NonworkingDays := 0
	var_Chart:LinksStyle := exLinkSolid
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("")
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),"A",nil)
	var_Items:AddBar(h1,"Task",SToD("20010108"),SToD("20010111"),"B",nil)
	var_Items:AddBar(h1,"Task",SToD("20010113"),SToD("20010116"),"C",nil)
	var_Items:AddBar(h1,"Task",SToD("20010118"),SToD("20010121"),"D",nil)
	var_Items:AddLink("Link1",h1,"D",h1,"A")
	var_Items:AddLink("Link2",h1,"C",h1,"B")
oDCOCX_Exontrol1:EndUpdate()

2345
The exChangeColorOnOverlap flag changes the color for links in areas where they overlap with other links, enhancing clarity and distinction between them

local var_Chart as IChart
local var_Items as IItems
local h1 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:AntiAliasing := true
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
	var_Chart:ShowLinks := exChangeColorOnOverlap | exShowDefaultLinks
	var_Chart:NonworkingDays := 0
	var_Chart:LinksStyle := exLinkSolid
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("")
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),"A",nil)
	var_Items:AddBar(h1,"Task",SToD("20010108"),SToD("20010111"),"B",nil)
	var_Items:AddBar(h1,"Task",SToD("20010113"),SToD("20010116"),"C",nil)
	var_Items:AddBar(h1,"Task",SToD("20010118"),SToD("20010121"),"D",nil)
	var_Items:AddLink("Link1",h1,"D",h1,"A")
	var_Items:AddLink("Link2",h1,"C",h1,"B")
oDCOCX_Exontrol1:EndUpdate()

2344
How can I assign a multiple-lines caption to an bar

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Task")
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Chart:[PaneWidth,false] := 128
	var_Chart:LevelCount := 2
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[SelectableItem,var_Items:AddItem(nil)] := false
	h := var_Items:AddItem("Task 1")
	var_Items:[ItemHeight,h] := 42
	var_Items:AddBar(h,"Task",SToD("20010102"),SToD("20010107"),"K1",nil)
	var_Items:[ItemBar,h,"K1",exBarCaption] := "This is a bit of 1'st line<br>2'nd line<br>3'rd line"
oDCOCX_Exontrol1:EndUpdate()

2343
The text on the chart overlap the rest of the bars, while using OverlaidType property on exOverlaidBarsStack

local var_Bar as IBar
local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 48
	var_Chart:FirstVisibleDate := SToD("20020103")
	var_Chart:LevelCount := 2
	var_Chart:FirstWeekDay := exMonday
	var_Chart:Bars:Add("Text"):[Def,exBarHAlignCaption] := 0
	var_Bar := var_Chart:Bars:[Item,"Task"]
		var_Bar:[Def,exBarHAlignCaption] := 0
		var_Bar:OverlaidType := exOverlaidBarsIncludeCaption | exOverlaidBarsStackAutoArrange | exOverlaidBarsStack
		var_Bar:OverlaidGroup := "Text,Task"
oDCOCX_Exontrol1:Columns:Add("Task")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Default")
	var_Items:AddBar(h,"Text",SToD("20020104"),SToD("20020104"),"","This is another text")
	var_Items:AddBar(h,"Task",SToD("20020106"),SToD("20020108"),"A","This is a bit of text")
oDCOCX_Exontrol1:EndUpdate()

2342
We are running our application on an Azure server using RDP, with the server language set to English. However, my client has their national language set to Swedish, but the tooltip is displaying dates in the English format (mm/dd/yyyy) instead of the Swedish format (yyyy-mm-dd) (method 2)

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Def")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exNoCreateBar
	var_Chart:[PaneWidth,false] := 64
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20100101")
	var_Chart:Bars:[Item,"Task"]:[Def,exBarToolTip] := "<%=`Start: ` + (date(%1) format `yyyy-MM-dd` )%>"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Task")
	var_Items:AddBar(h,"Task",SToD("20100102"),SToD("20100105"),"A","A")
	var_Items:AddBar(h,"Task",SToD("20100105"),SToD("20100108"),"B","B")
oDCOCX_Exontrol1:EndUpdate()

2341
We are running our application on an Azure server using RDP, with the server language set to English. However, my client has their national language set to Swedish, but the tooltip is displaying dates in the English format (mm/dd/yyyy) instead of the Swedish format (yyyy-mm-dd) (method 1)

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Def")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exNoCreateBar
	var_Chart:[PaneWidth,false] := 64
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20100101")
	var_Chart:Bars:[Item,"Task"]:[Def,exBarToolTip] := "<%=`Start: ` + year(%1) + `-` + (month(%1) lpad `00`) + `-` + (day(%1) lpad `00`)%>"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Task")
	var_Items:AddBar(h,"Task",SToD("20100102"),SToD("20100105"),"A","A")
	var_Items:AddBar(h,"Task",SToD("20100105"),SToD("20100108"),"B","B")
oDCOCX_Exontrol1:EndUpdate()

2340
How can I replace or add an icon at runtime

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ReplaceIcon("gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+OkYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==",nil)
oDCOCX_Exontrol1:ReplaceIcon("C:\images\favicon.ico",0)
oDCOCX_Exontrol1:Columns:Add("Task")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Chart:[PaneWidth,false] := 128
	var_Chart:LevelCount := 2
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Task 1")
	var_Items:AddBar(h,"Task",SToD("20010102"),SToD("20010106"),"K1",nil)
	var_Items:[ItemBar,h,"K1",exBarCaption] := "<img>1</img>"
oDCOCX_Exontrol1:EndUpdate()

2339
How can I define the sensitivity for link selection when the user clicks or selects a link
METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Chart:[LinkFromPoint,-1,-1]) ))
RETURN NIL

local var_Chart as IChart
local var_Items as IItems
local h1,h2,h3 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Task")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20001229")
	var_Chart:[PaneWidth,false] := 64
	var_Chart:LevelCount := 2
	var_Chart:LinksWidth := 1026
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Task 1")
	var_Items:AddBar(h1,"Task",SToD("20010102"),SToD("20010104"),"K1",nil)
	var_Items:AddItem(nil)
	h2 := var_Items:AddItem("Task 2")
	var_Items:AddBar(h2,"Task",SToD("20010108"),SToD("20010110"),"K2",nil)
	var_Items:AddLink("L1",h1,"K1",h2,"K2")
	var_Items:AddItem(nil)
	h3 := var_Items:AddItem("Task 3")
	var_Items:AddBar(h3,"Task",SToD("20010114"),SToD("20010116"),"K3",nil)
	var_Items:AddLink("L2",h2,"K2",h3,"K3")
oDCOCX_Exontrol1:EndUpdate()

2338
How can I let the user to create task-bars for leaf0-items only, when AllowCreateBar is exCreateBarAuto
METHOD OCX_Exontrol1CreateBar(Item,DateStart,DateEnd) CLASS MainDialog
	// CreateBar event - Fired when the user creates a new bar.
	local var_Items as IItems
	var_Items := oDCOCX_Exontrol1:Items
		OutputDebugString(String2Psz( "Call RemoveBar if the ChildCount property returns a non-zero value" ))
		OutputDebugString(String2Psz( AsString(var_Items:[ChildCount,Item]) ))
		var_Items:RemoveBar(Item,"newbar")
RETURN NIL

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
oDCOCX_Exontrol1:HeaderVisible := exHeaderVisibleExtendLevels
oDCOCX_Exontrol1:HeaderAppearance := Etched
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exCreateBarAuto
	var_Chart:LevelCount := 2
	var_Chart:[PaneWidth,false] := 128
oDCOCX_Exontrol1:Columns:Add("Task")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1BarResizing(Item,Key) CLASS MainDialog
	// BarResizing event - Occurs when a bar is moving or resizing.
	OutputDebugString(String2Psz( "Start" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarStartStr]) ))
	OutputDebugString(String2Psz( "End" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarEndStr]) ))
RETURN NIL

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Tasks")
oDCOCX_Exontrol1:Debug := true
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20060920")
	var_Chart:LevelCount := 2
	var_Chart:[PaneWidth,false] := 96
	var_Chart:ResizeUnitScale := exMinute
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Task 1"),"Task",SToD("20060921"),SToD("20060924"),"K1",nil)
	var_Items:AddBar(var_Items:AddItem("Task 2"),"Task",SToD("20060922"),SToD("20060925"),"K2",nil)
	var_Items:AddBar(var_Items:AddItem("Task 3"),"Task",SToD("20060923"),SToD("20060926"),"K3",nil)
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1BarResizing(Item,Key) CLASS MainDialog
	// BarResizing event - Occurs when a bar is moving or resizing.
	OutputDebugString(String2Psz( "Start" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("dateF(value)",oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarStart],nil,nil)) ))
	OutputDebugString(String2Psz( "End" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("dateF(value)",oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarEnd],nil,nil)) ))
RETURN NIL

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Tasks")
oDCOCX_Exontrol1:Debug := true
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20060920")
	var_Chart:LevelCount := 2
	var_Chart:[PaneWidth,false] := 96
	var_Chart:ResizeUnitScale := exMinute
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Task 1"),"Task",SToD("20060921"),SToD("20060924"),"K1",nil)
	var_Items:AddBar(var_Items:AddItem("Task 2"),"Task",SToD("20060922"),SToD("20060925"),"K2",nil)
	var_Items:AddBar(var_Items:AddItem("Task 3"),"Task",SToD("20060923"),SToD("20060926"),"K3",nil)
oDCOCX_Exontrol1:EndUpdate()

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

METHOD OCX_Exontrol1BarResizing(Item,Key) CLASS MainDialog
	// BarResizing event - Occurs when a bar is moving or resizing.
	OutputDebugString(String2Psz( "Start" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("date(value) format `MM/dd/yyyy HH:mm:ss`",oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarStart],nil,nil)) ))
	OutputDebugString(String2Psz( "End" ))
	OutputDebugString(String2Psz( AsString(Key) ))
	OutputDebugString(String2Psz( AsString(oDCOCX_Exontrol1:FormatABC("date(value) format `MM/dd/yyyy HH:mm:ss`",oDCOCX_Exontrol1:Items:[ItemBar,Item,Key,exBarEnd],nil,nil)) ))
RETURN NIL

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Tasks")
oDCOCX_Exontrol1:Debug := true
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20060920")
	var_Chart:LevelCount := 2
	var_Chart:[PaneWidth,false] := 96
	var_Chart:ResizeUnitScale := exMinute
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Task 1"),"Task",SToD("20060921"),SToD("20060924"),"K1",nil)
	var_Items:AddBar(var_Items:AddItem("Task 2"),"Task",SToD("20060922"),SToD("20060925"),"K2",nil)
	var_Items:AddBar(var_Items:AddItem("Task 3"),"Task",SToD("20060923"),SToD("20060926"),"K3",nil)
oDCOCX_Exontrol1:EndUpdate()

2334
Add/Remove/Updates the item-bar's resources

METHOD OCX_Exontrol1Click() CLASS MainDialog
	// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
	local var_Items as IItems
	local h as USUAL
	var_Items := oDCOCX_Exontrol1:Items
		h := var_Items:[SelectedItem,0]
		var_Items:[ItemBar,h,var_Items:[FirstItemBar,h],exBarResources] := "+R4[10%]"
RETURN NIL

local var_Bar as IBar
local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 96
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Bar := var_Chart:Bars:[Item,"Task"]
		var_Bar:[Def,exBarHAlignCaption] := 18
		var_Bar:[Def,exBarCaption] := "<%=%49%>"
oDCOCX_Exontrol1:Columns:Add("Machines")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Machine 1")
	var_Items:AddBar(h,"Task",SToD("20010106"),SToD("20010112"),"K1",nil)
	var_Items:[ItemBar,h,"K1",exBarResources] := "R1,R2"
	h := var_Items:AddItem("Machine 2")
	var_Items:AddBar(h,"Task",SToD("20010104"),SToD("20010114"),"K2",nil)
	var_Items:[ItemBar,h,"K2",exBarResources] := "R2[75%],R3"
oDCOCX_Exontrol1:EndUpdate()

2333
Distributes resources to a bar

local var_Bar as IBar
local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 96
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Bar := var_Chart:Bars:[Item,"Task"]
		var_Bar:[Def,exBarHAlignCaption] := 18
		var_Bar:[Def,exBarCaption] := "<%=%49%>"
oDCOCX_Exontrol1:Columns:Add("Machines")
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Machine 1")
	var_Items:AddBar(h,"Task",SToD("20010106"),SToD("20010112"),"K1",nil)
	var_Items:[ItemBar,h,"K1",exBarResources] := "R1,R2"
	h := var_Items:AddItem("Machine 2")
	var_Items:AddBar(h,"Task",SToD("20010104"),SToD("20010114"),"K2",nil)
	var_Items:[ItemBar,h,"K2",exBarResources] := "R2[75%],R3"
oDCOCX_Exontrol1:EndUpdate()

2332
How can I display additional information about a time zone when the user clicks on it (expandable)

local var_Chart as IChart

var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 0
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20091220")
	var_Chart:MarkTimeZone("TZ",SToD("20100101"),SToD("20100103"),65280,"1;;<c>TimeZone<b><off -4><a ;exp=just more info about>*</a></b>;1")

2331
How can I have a tooltip for a marked TimeZone

METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	oDCOCX_Exontrol1:ShowToolTip(oDCOCX_Exontrol1:Chart:[TimeZoneFromPoint,-1,-1],"",nil,"+8",nil)
RETURN NIL

local var_Chart as IChart

var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 0
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20091228")
	var_Chart:MarkTimeZone("Top",SToD("20100101"),SToD("20100105"),16711680,"1;;<fgcolor=FFFFFF>Top;1")
	var_Chart:MarkTimeZone("Partial",SToD("20100108"),SToD("20100112"),16711680,"50;;<fgcolor=FFFFFF>Partial;1")
	var_Chart:MarkTimeZone("Default",SToD("20100115"),SToD("20100119"),16711680,";;<fgcolor=FFFFFF>Default;1")

2330
Can I set a filter that automatically adds a * before and after the word, so the user can just search for 'cat' and it becomes '*cat*' automatically

local var_Column as IColumn
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("Items")}
	var_Column:DisplayFilterButton := true
	var_Column:DisplayFilterPattern := true
	var_Column:[Def,exFilterPatternTemplate] := "*<%filter%>*"
	var_Column:FilterType := exPattern
	var_Column:Filter := "1"
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Root 1")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
	var_Items:[ExpandItem,h] := true
	h := var_Items:AddItem("Root 2")
	var_Items:InsertItem(h,nil,"Child 1")
	var_Items:InsertItem(h,nil,"Child 2")
oDCOCX_Exontrol1:ApplyFilter()
oDCOCX_Exontrol1:EndUpdate()

2329
The fine dotted lines in the control appear much thicker than the standard ones we've been using. How can we fix this

local var_Chart as IChart

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exAllLines
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:GridLineStyle := exGridLinesGeometric
	var_Chart:DrawGridLines := exAllLines
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:Columns:Add("Column 1")
oDCOCX_Exontrol1:Columns:Add("Column 2")
oDCOCX_Exontrol1:Columns:Add("Column 3")
oDCOCX_Exontrol1:Columns:Add("Column 4")
oDCOCX_Exontrol1:EndUpdate()

2328
Load data as a tree using a parent-id relationship

local rs as _Recordset

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ColumnAutoResize := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
// Generate Source for 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' server from Tools\Automation Server...
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Select * FROM Employees WHERE 1=0","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:DataSource := _Recordset{rs}
oDCOCX_Exontrol1:Columns:[Item,0]:Width := 128
rs := _Recordset{"ADODB.Recordset"}
	rs:Open("Employees","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.mdb",3,3,0)
oDCOCX_Exontrol1:PutItems(rs:GetRows(0,nil,nil),";0;17")
oDCOCX_Exontrol1:Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()

2327
Is there a way to change the contents of the drop down editor based on a value in another column

METHOD OCX_Exontrol1AddItem(Item) CLASS MainDialog
	// AddItem event - Occurs after a new Item has been inserted to Items collection.
	oDCOCX_Exontrol1:Items:[CellEditorVisible,Item,0] := exEditorVisible
	oDCOCX_Exontrol1:Items:[CellEditorVisible,Item,1] := exEditorVisible
RETURN NIL

METHOD OCX_Exontrol1EditOpen() CLASS MainDialog
	// EditOpen event - Occurs when the edit operation starts.
	local var_Editor as IEditor
	local var_Items as IItems
	local c,v as USUAL
	var_Items := oDCOCX_Exontrol1:Items
		v := var_Items:[CellValue,var_Items:FocusItem,0]
		c := var_Items:[CellCaption,var_Items:FocusItem,0]
	var_Editor := oDCOCX_Exontrol1:Columns:[Item,1]:Editor
		var_Editor:ClearItems()
		var_Editor:AddItem(v,AsString(c),nil)
RETURN NIL

local var_Column as IColumn
local var_Editor as IEditor
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
var_Column := IColumn{oDCOCX_Exontrol1:Columns:Add("DropDownList")}
	var_Editor := var_Column:Editor
		var_Editor:EditType := DropDownListType
		var_Editor:AddItem(1,"First",nil)
		var_Editor:AddItem(2,"Second",nil)
		var_Editor:AddItem(3,"Third",nil)
oDCOCX_Exontrol1:DrawGridLines := exAllLines
IColumn{oDCOCX_Exontrol1:Columns:Add("DropDownList-Related")}:Editor:EditType := DropDownListType
var_Items := oDCOCX_Exontrol1:Items
	var_Items:[CellValue,var_Items:AddItem(1),1] := -1
	var_Items:[CellValue,var_Items:AddItem(2),1] := -1
	var_Items:[CellValue,var_Items:AddItem(3),1] := -1
	var_Items:[LockedItemCount,exBottom] := 1
	h := var_Items:[LockedItem,exBottom,0]
	var_Items:[ItemDivider,h] := 0
	var_Items:[ItemDividerLineAlignment,h] := DividerTop
	var_Items:[CellEditorVisible,h,0] := exEditorHidden
	var_Items:[CellSingleLine,h,0] := exCaptionWordWrap
	var_Items:[CellValueFormat,h,0] := exHTML
	var_Items:[CellValue,h,0] := "The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column."
oDCOCX_Exontrol1:EndUpdate()

2326
Highlight the editable fields

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormat := var_ConditionalFormats:Add("%CE1",nil)
		var_ConditionalFormat:Bold := true
		var_ConditionalFormat:BackColor := RGB(245,245,245)
		var_ConditionalFormat:ApplyTo := 0x1 | 
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%CE2",nil)
		var_ConditionalFormat1:Bold := true
		var_ConditionalFormat1:BackColor := RGB(245,245,245)
		var_ConditionalFormat1:ApplyTo := 0x2 | 
	var_ConditionalFormat2 := var_ConditionalFormats:Add("%CE3",nil)
		var_ConditionalFormat2:Bold := true
		var_ConditionalFormat2:BackColor := RGB(245,245,245)
		var_ConditionalFormat2:ApplyTo := 0x3 | 
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

2325
Highlight the total fields

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_ConditionalFormat,var_ConditionalFormat1,var_ConditionalFormat2 as IConditionalFormat
local var_ConditionalFormats as IConditionalFormats
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_ConditionalFormats := oDCOCX_Exontrol1:ConditionalFormats
	var_ConditionalFormat := var_ConditionalFormats:Add("%CT1",nil)
		var_ConditionalFormat:ForeColor := RGB(128,128,128)
		var_ConditionalFormat:ApplyTo := 0x1 | 
	var_ConditionalFormat1 := var_ConditionalFormats:Add("%CT2",nil)
		var_ConditionalFormat1:ForeColor := RGB(128,128,128)
		var_ConditionalFormat1:ApplyTo := 0x2 | 
	var_ConditionalFormat2 := var_ConditionalFormats:Add("%CT3",nil)
		var_ConditionalFormat2:ForeColor := RGB(128,128,128)
		var_ConditionalFormat2:ApplyTo := 0x3 | 
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

2324
Highlight the leaf items

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CC0=0",nil):ForeColor := RGB(128,128,128)
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

2323
Highlight the parent items

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CC0",nil):ForeColor := RGB(255,0,0)
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

2322
Highlight the item being expanded or collapsed

local var_Columns as IColumns
local var_Items as IItems
local h,hR as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ConditionalFormats:Add("%CX0",nil):Bold := true
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	IColumn{var_Columns:Add("Item")}:Width := 16
	var_Columns:Add("Desc")
var_Items := oDCOCX_Exontrol1:Items
	hR := var_Items:AddItem("Root")
	var_Items:[CellValue,hR,1] := "The root directory /"
	var_Items:[ExpandItem,hR] := true
	h := var_Items:InsertItem(hR,nil,"Home")
	var_Items:[CellValue,h,1] := "The home directory with user directories Alice and Bob"
	var_Items:InsertItem(h,nil,"Alice")
	var_Items:InsertItem(h,nil,"Bob")
	var_Items:[ExpandItem,h] := true
	h := var_Items:InsertItem(hR,nil,"Etc")
	var_Items:[CellValue,h,1] := "The etc directory with one configuration file"
	h := var_Items:InsertItem(h,nil,"nginx.conf")
	var_Items:[CellValue,var_Items:InsertItem(hR,nil,"Var"),1] := "The var directory"
oDCOCX_Exontrol1:EndUpdate()

2321
I am using exTotalColumn. Is there an option to exclude specific cells to display the total

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	var_Items:[FormatCell,g1,2] := "`<average missing>`"
	var_Items:[CellEditorVisible,g1,2] := exEditorHidden
	var_Items:[CellBold,g1,2] := true
	var_Items:[CellForeColor,g1,2] := RGB(255,0,0)
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

2320
How can I add a total column

METHOD OCX_Exontrol1Change(Item,ColIndex,NewValue) CLASS MainDialog
	// Change event - Occurs when the user changes the cell's content.
	oDCOCX_Exontrol1:Refresh()
RETURN NIL

local var_Column,var_Column1,var_Column2 as IColumn
local var_Columns as IColumns
local var_Items as IItems
local g1,g2,h,r as USUAL

oDCOCX_Exontrol1:FreezeEvents(true)
oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:HeaderHeight := 24
oDCOCX_Exontrol1:LinesAtRoot := exLinesAtRoot
var_Columns := oDCOCX_Exontrol1:Columns
	var_Columns:Add("Description")
	var_Column := IColumn{var_Columns:Add("Qty")}
		var_Column:Editor:EditType := SpinType
		var_Column:[Def,exTotalColumn] := "sum(current,rec,%1)"
	var_Column1 := IColumn{var_Columns:Add("Price")}
		var_Column1:[Def,exTotalColumn] := "avg(current,rec,%2)"
		var_Column1:Editor:EditType := SpinType
	var_Column2 := IColumn{var_Columns:Add("Amount")}
		var_Column2:ComputedField := "%1 * %2"
		var_Column2:[Def,exTotalColumn] := "sum(current,rec,%3)"
var_Items := oDCOCX_Exontrol1:Items
	r := var_Items:AddItem("Root")
	g1 := var_Items:InsertItem(r,nil,"Group 1")
	h := var_Items:InsertItem(g1,nil,"Item 1")
	var_Items:[CellValue,h,1] := 1
	var_Items:[CellValue,h,2] := 10
	h := var_Items:InsertItem(g1,nil,"Item 2")
	var_Items:[CellValue,h,1] := 2
	var_Items:[CellValue,h,2] := 11
	g2 := var_Items:InsertItem(r,nil,"Group 2")
	h := var_Items:InsertItem(g2,nil,"Item 1")
	var_Items:[CellValue,h,1] := 3
	var_Items:[CellValue,h,2] := 12
	h := var_Items:InsertItem(g2,nil,"Item 2")
	var_Items:[CellValue,h,1] := 4
	var_Items:[CellValue,h,2] := 13
	var_Items:[ExpandItem,0] := true
oDCOCX_Exontrol1:EndUpdate()
oDCOCX_Exontrol1:FreezeEvents(false)

2319
Is it possible when I move the horizontal scroll bar, that the whole chart scrolls live during move the horizontal scroll bar. Not it scrolls just when I release the left mouse, not during change the horizontal scroll position
local var_Chart as IChart

var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 0
	var_Chart:LevelCount := 2
	var_Chart:ToolTip := ""

2318
The exLinkStyle is not valid (the style of the link is still solid) if the link's width is greater than 1. What can be done
local var_Chart as IChart
local var_Items as IItems
local h1,h2,h3 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Task")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010101")
	var_Chart:[PaneWidth,false] := 128
oDCOCX_Exontrol1:AntiAliasing := true
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Task 1")
	var_Items:AddBar(h1,"Task",SToD("20010102"),SToD("20010104"),"K1",nil)
	h2 := var_Items:AddItem("Task 2")
	var_Items:AddBar(h2,"Task",SToD("20010105"),SToD("20010107"),"K2",nil)
	var_Items:AddLink("L1",h1,"K1",h2,"K2")
	var_Items:[Link,"L1",exLinkStyle] := 2
	var_Items:[Link,"L1",exLinkWidth] := 2
	h3 := var_Items:AddItem("Task 4")
	var_Items:AddBar(h3,"Task",SToD("20010108"),SToD("20010110"),"K3",nil)
	var_Items:AddLink("L2",h2,"K2",h3,"K3")
	var_Items:[Link,"L2",exLinkStyle] := 1
	var_Items:[Link,"L2",exLinkWidth] := 2
oDCOCX_Exontrol1:EndUpdate()

2317
How can I change the tooltip's margins (method 2)

METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	oDCOCX_Exontrol1:ShowToolTip(oDCOCX_Exontrol1:Chart:[BarFromPoint,-1,-1],nil,nil,nil,nil)
RETURN NIL

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ToolTipMargin := "16,8"
oDCOCX_Exontrol1:Columns:Add("Def")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exNoCreateBar
	var_Chart:[PaneWidth,false] := 64
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20100101")
	var_Chart:Bars:[Item,"Task"]:[Def,exBarToolTip] := "..."
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Task")
	var_Items:AddBar(h,"Task",SToD("20100102"),SToD("20100105"),"A","A")
	var_Items:AddBar(h,"Task",SToD("20100105"),SToD("20100108"),"B","B")
oDCOCX_Exontrol1:EndUpdate()

2316
Are there any properties to set text margins at tooltip, like Margins="5,5" (method 1). Margins is used to get some space between text and the tooltips border

METHOD OCX_Exontrol1MouseMove(Button,Shift,X,Y) CLASS MainDialog
	// MouseMove event - Occurs when the user moves the mouse.
	oDCOCX_Exontrol1:ShowToolTip(oDCOCX_Exontrol1:Chart:[BarFromPoint,-1,-1],nil,nil,nil,nil)
RETURN NIL

local var_Chart as IChart
local var_Items as IItems
local h as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:ToolTipMargin := "16,8"
oDCOCX_Exontrol1:Columns:Add("Def")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exNoCreateBar
	var_Chart:[PaneWidth,false] := 64
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20100101")
	var_Chart:Bars:[Item,"Task"]:[Def,exBarToolTip] := "..."
var_Items := oDCOCX_Exontrol1:Items
	h := var_Items:AddItem("Task")
	var_Items:AddBar(h,"Task",SToD("20100102"),SToD("20100105"),"A","A")
	var_Items:AddBar(h,"Task",SToD("20100105"),SToD("20100108"),"B","B")
oDCOCX_Exontrol1:EndUpdate()

2315
exShowExtendedLinks

local var_Chart as IChart
local var_Items as IItems
local var_Level as ILevel

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:DefaultItemHeight := 24
oDCOCX_Exontrol1:HeaderHeight := 20
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:AntiAliasing := true
oDCOCX_Exontrol1:Columns:Add("Task")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 48
	var_Chart:LevelCount := 2
	var_Chart:UnitScale := exHour
	var_Chart:FirstVisibleDate := SToD("20240110")
	var_Level := var_Chart:[Level,1]
		var_Level:DrawTickLines := exLevelNoLine
		var_Level:DrawTickLinesFrom(0,exLevelDotLine)
	var_Chart:AllowResizeChart := 0xfffffef9 | exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader
	var_Chart:ShowLinks := exShowExtendedLinks
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("T1"),"Task",SToD("20240110 10:00:00"),SToD("20240110 10:20:00"),"T1",nil)
	var_Items:AddBar(var_Items:AddItem("T2"),"Task",SToD("20240110 09:00:00"),SToD("20240110 12:00:00"),"T2",nil)
	var_Items:AddBar(var_Items:AddItem("T3"),"Task",SToD("20240110 08:00:00"),SToD("20240110 08:30:00"),"T3",nil)
	var_Items:AddBar(var_Items:AddItem("T4"),"Task",SToD("20240110 08:00:00"),SToD("20240110 08:30:00"),"T4",nil)
	var_Items:AddLink("L13",var_Items:[ItemByIndex,0],"T1",var_Items:[ItemByIndex,2],"T3")
	var_Items:AddLink("L14",var_Items:[ItemByIndex,0],"T1",var_Items:[ItemByIndex,3],"T4")
	var_Items:AddLink("L24",var_Items:[ItemByIndex,1],"T2",var_Items:[ItemByIndex,3],"T4")
oDCOCX_Exontrol1:EndUpdate()

2314
According to the documentation of the ShowExtendedLinksEnum value exShowExtendedLinks (1) it is possible to distinctly visualise links (rather than showing them one over another) when two or more links start or end on the same bar

local var_Chart as IChart
local var_Items as IItems
local var_Level as ILevel

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:DefaultItemHeight := 24
oDCOCX_Exontrol1:HeaderHeight := 20
oDCOCX_Exontrol1:HeaderAppearance := Etched
oDCOCX_Exontrol1:AntiAliasing := true
oDCOCX_Exontrol1:Columns:Add("Task")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:[PaneWidth,false] := 48
	var_Chart:LevelCount := 2
	var_Chart:UnitScale := exHour
	var_Chart:FirstVisibleDate := SToD("20240110")
	var_Level := var_Chart:[Level,1]
		var_Level:DrawTickLines := exLevelNoLine
		var_Level:DrawTickLinesFrom(0,exLevelDotLine)
	var_Chart:AllowResizeChart := 0xfffffef9 | exAllowChangeUnitScale | exAllowResizeChartMiddle | exAllowResizeChartHeader
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("T1"),"Task",SToD("20240110 10:00:00"),SToD("20240110 10:20:00"),"T1",nil)
	var_Items:AddBar(var_Items:AddItem("T2"),"Task",SToD("20240110 09:00:00"),SToD("20240110 12:00:00"),"T2",nil)
	var_Items:AddBar(var_Items:AddItem("T3"),"Task",SToD("20240110 08:00:00"),SToD("20240110 08:30:00"),"T3",nil)
	var_Items:AddBar(var_Items:AddItem("T4"),"Task",SToD("20240110 08:00:00"),SToD("20240110 08:30:00"),"T4",nil)
	var_Items:AddLink("L1",var_Items:[ItemByIndex,0],"T1",var_Items:[ItemByIndex,2],"T3")
	var_Items:AddLink("L2",var_Items:[ItemByIndex,1],"T2",var_Items:[ItemByIndex,3],"T4")
	var_Items:[Link,"L2",exLinkShowRound] := 4
oDCOCX_Exontrol1:EndUpdate()

2313
How to use arrows key left/right to move the cursor left/right inside the text
local var_Editor as IEditor
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
var_Editor := IColumn{oDCOCX_Exontrol1:Columns:Add("Edit")}:Editor
	var_Editor:EditType := EditType
	var_Editor:[Option,exLeftArrow] := false
	var_Editor:[Option,exRightArrow] := false
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("000")
	var_Items:AddItem("111")
	var_Items:AddItem("222")
oDCOCX_Exontrol1:EndUpdate()

2312
How can I force the cursor to jump to the end of the editor once the user clicks the cell
local var_Editor as IEditor
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:SelBackColor := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:SelForeColor := oDCOCX_Exontrol1:ForeColor
var_Editor := IColumn{oDCOCX_Exontrol1:Columns:Add("Edit")}:Editor
	var_Editor:EditType := EditType
	var_Editor:[Option,exEditSelStart] := -1
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddItem("000")
	var_Items:AddItem("111")
	var_Items:AddItem("222")
oDCOCX_Exontrol1:EndUpdate()

2311
How can I show the overview with a different color except or outside the selection

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:VisualAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABVIDg6AADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADE2YAoJDUN4nDKMMDybBkRxtDCPIDnGQoDiGI4nSbKIzSCKMQhrEKZZrnaLJFgOTY8ABLEBvfSgASof6MKBlKhKGoiUo2SCFEaBTBNHxDL6raqqWJ5HDINQlWzbcjjKKFYRbOqTZDkGj4XqKTo3YBAdZSXJsXwTGKkji3ZgMOR3HaQaTjOgINpuDZdRzkUYZUDFSwSDqQIRtCpbJqzFZDZbLNbYBYME47AayID0CbdCgmaalSZHNxbVa0BzpXrFLw1TLoDy8AJ+ABseKzfo9PxdIygZRzKJ8aofE+YxynIfJcC8QgbCmL5eiEPIKH6RABlibJpicW4/FcAx/HOYRGmud4+CcHxdmiDhkGEIIIEkQJSGMHQHFGSBlFEUITEmewAAQIQ2AYRpDGQJAoEIXhXCkCB5kmSAdmgVZPmgZJ8gaT4oHSeIHk8aIEnWCJiEiFgmgmYoIiYJIIE8aB8niB0pmyfIGE+ZYmDQPpjgOUg6DqY5DgYPg2mQAxqEKEJkEkFhGhGZIJA4QA2mOY4GDwOsumCe4NAACJKDoPQOFkZJThaSoZHSGYXmYCYGGKGJmEmFhmCsJoDFYag5iaSISDIAAjAkPJLhyS4JlYbA5iSeZmHqHpnkmdh+hOZx5lSOAzGgSQ+DAAAimkNIkiKTh6DSbIjmkChGhKJJpEoVoWiSaJThyKImmSWI4ACCwNkqBhgDsahKhaJopmqComiqKpqkqEhghKYpAAIJIQmYA46jaLZrgqZo6i6a5KnaPotiZRQkiyIg6lIXw7myCwmkqMpsksNpOjObQLCKQYQiwOpOEKGAPAsZpajabZLHaXo3m4C4GlmNJNisVpFjWZZzkaao6m6S42m6O5vAuRpyjqLhLhidYxgmE5KnqPpvkudp+j+cAMAcAo+i8WIOkSPZuguZwDkKcJMDafpBE8XAengPJxEwVwWkWcYMGcGpGnGTBTBCRIwhkXwikichMhcJpJnKDIPB+NYNimAgqkucwMkcMoInKO4fC2F5ikyZw6k6c5MncPpPnOLJXAiTZJhOXxGlGdINCcSpSnSTQ3E6UY0CuYgulSdRNFcVpVnWDRnFSVBwh0axeledgNFsXJRA+HYXGaWZ2g2JxqlqdpNjcZZYmYCJDHKXJ3E2K4doux3gbE8OEF4ygtjuH6L8eAHAHgFGCO8bY2QZgZDiBwJ4FRijxE4G8DoxBxj6B6EINwTADjvBaMseYHBng1GaPMTg7wepxA4J4Rx8RjgfCYFMeoEQ6BpGqPUTob2MD2A6IQLoNAKiHAuG0WYAAJCVBCCETAHR3DMFWPgDwD29j4E8CoV4sw7imAIIcJASggAHBeBIJw5grikCmHoSYNxWjrH2BMAoNgqAZE8O0GYEg5DgAIG8DgxwjhXGaCYZIcgnxBGSDILgmwTjKHkJMNwqgjCREoGEC4RRMifHqJcYokQ6BgEYJEUIaQOhlHIIESAECAg=")
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exOverviewSelResize] := RGB(1,0,0)
oDCOCX_Exontrol1:[Background,exOverviewSelOut] := RGB(240,240,240)
oDCOCX_Exontrol1:Chart:OverviewSelBackColor := RGB(255,255,255)
oDCOCX_Exontrol1:[Background,exOverviewSelUnit] := 0x1000000
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010621")
	var_Chart:[PaneWidth,false] := 48
	var_Chart:OverviewVisible := 0x400 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible
	var_Chart:OverviewHeight := 64
	var_Chart:LevelCount := 2
	var_Chart:UnitScale := exDay
	var_Chart:[Label,exHour] := ""
	var_Chart:[Label,exMinute] := ""
	var_Chart:[Label,exSecond] := ""
	var_Chart:AllowOverviewZoom := exAlwaysZoom
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Item 1"),"Task",SToD("20010102"),SToD("20010111"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 2"),"Task",SToD("20010702"),SToD("20010711"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 3"),"Task",SToD("20011102"),SToD("20011111"),nil,nil)
oDCOCX_Exontrol1:EndUpdate()

2310
Resize the chart using the overview's selection left and right margins (blue)

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exOverviewSelResize] := RGB(0,0,255)
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010621")
	var_Chart:[PaneWidth,false] := 48
	var_Chart:OverviewVisible := 0x400 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible
	var_Chart:OverviewHeight := 64
	var_Chart:LevelCount := 2
	var_Chart:UnitScale := exDay
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Item 1"),"Task",SToD("20010102"),SToD("20010111"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 2"),"Task",SToD("20010702"),SToD("20010711"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 3"),"Task",SToD("20011102"),SToD("20011111"),nil,nil)
oDCOCX_Exontrol1:EndUpdate()

2309
Resize the chart using the overview's selection left and right margins (black)

local var_Chart as IChart
local var_Items as IItems

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:BackColorLevelHeader := oDCOCX_Exontrol1:BackColor
oDCOCX_Exontrol1:[Background,exOverviewSelResize] := RGB(1,0,0)
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:FirstVisibleDate := SToD("20010621")
	var_Chart:[PaneWidth,false] := 48
	var_Chart:OverviewVisible := 0x400 | exOverviewShowSelMargins | exOverviewShowMargins | exOverviewShowDateTimeScaleBottom | exOverviewShowAllVisible
	var_Chart:OverviewHeight := 64
	var_Chart:LevelCount := 2
	var_Chart:UnitScale := exDay
oDCOCX_Exontrol1:Columns:Add("Column")
var_Items := oDCOCX_Exontrol1:Items
	var_Items:AddBar(var_Items:AddItem("Item 1"),"Task",SToD("20010102"),SToD("20010111"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 2"),"Task",SToD("20010702"),SToD("20010711"),nil,nil)
	var_Items:AddBar(var_Items:AddItem("Item 3"),"Task",SToD("20011102"),SToD("20011111"),nil,nil)
oDCOCX_Exontrol1:EndUpdate()

2308
Disable temporarily the column's sort, resize and drag and drop

local var_Chart as IChart
local var_Level as ILevel

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:OnResizeControl := exResizeChart
oDCOCX_Exontrol1:SortBarVisible := true
oDCOCX_Exontrol1:SortBarCaption := "<fgcolor 808080><c>the header and the sort-bar are disabled (no drag and drop is allowed)"
oDCOCX_Exontrol1:AllowGroupBy := true
oDCOCX_Exontrol1:HeaderEnabled := false
oDCOCX_Exontrol1:HeaderAppearance := Etched
IColumn{oDCOCX_Exontrol1:Columns:Add("Index")}:FormatColumn := "1 index ``"
IColumn{oDCOCX_Exontrol1:Columns:Add("Pos")}:FormatColumn := "1 apos ``"
IColumn{oDCOCX_Exontrol1:Columns:Add("Edit")}:Editor:EditType := EditType
oDCOCX_Exontrol1:GridLineStyle := exGridLinesGeometric
oDCOCX_Exontrol1:DrawGridLines := exVLines
oDCOCX_Exontrol1:GridLineColor := RGB(224,224,224)
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:AllowCreateBar := exCreateBarAuto
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 196
	var_Chart:GridLineStyle := exGridLinesGeometric
	var_Chart:DrawGridLines := exAllLines
	var_Level := var_Chart:[Level,1]
		var_Level:DrawGridLines := true
		var_Level:GridLineColor := oDCOCX_Exontrol1:GridLineColor
oDCOCX_Exontrol1:EndUpdate()

2307
Adds a Finish-Start(FS) link (method 3)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:AddLink("Link1",h1,"",h2,"")
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2306
Adds a Start-Start(SS) link (method 3)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:AddLink("Link1",h1,"",h2,"")
	var_Items:[Link,"Link1",exLinkStartPos] := 0
	var_Items:[Link,"Link1",exLinkEndPos] := 0
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2305
Adds a Finish-Finish(FF) link (method 3)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:AddLink("Link1",h1,"",h2,"")
	var_Items:[Link,"Link1",exLinkStartPos] := 2
	var_Items:[Link,"Link1",exLinkEndPos] := 2
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2304
Adds a Start-Finish(SF) link (method 3)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:AddLink("Link1",h1,"",h2,"")
	var_Items:[Link,"Link1",exLinkStartPos] := 0
	var_Items:[Link,"Link1",exLinkEndPos] := 2
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2303
Adds a Finish-Start(FS) link (method 2)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:[ItemBar,h2,"",exBarPredecessor] := "1FS"
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2302
Adds a Start-Start(SS) link (method 2)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:[ItemBar,h2,"",exBarPredecessor] := "1SS"
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()

2301
Adds a Finish-Finish(FF) link (method 2)

local var_Chart as IChart
local var_Items as IItems
local h1,h2 as USUAL

oDCOCX_Exontrol1:BeginUpdate()
oDCOCX_Exontrol1:Columns:Add("Name")
var_Chart := oDCOCX_Exontrol1:Chart
	var_Chart:LevelCount := 2
	var_Chart:FirstVisibleDate := SToD("20001228")
	var_Chart:[PaneWidth,false] := 64
var_Items := oDCOCX_Exontrol1:Items
	h1 := var_Items:AddItem("Item 1")
	var_Items:AddBar(h1,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	h2 := var_Items:AddItem("Item 2")
	var_Items:AddBar(h2,"Task",SToD("20010103"),SToD("20010106"),nil,nil)
	var_Items:[ItemBar,h2,"",exBarPredecessor] := "1FF"
	var_Items:SchedulePDM(0,"")
oDCOCX_Exontrol1:EndUpdate()