53:
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
OleObject oSwimLane,var_Elements

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 2
oSwimLane.DefArrange(0,1)
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B ( move it )",16,32)
	var_Elements.Add("Element <sha ;;0>C",128,0)
oSwimLane.EndUpdate()

52:
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
OleObject oSwimLane,var_Elements

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 1
oSwimLane.DefArrange(1,0)
oSwimLane.DefArrange(2,0)
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B ( move it )",0,32)
	var_Elements.Add("Element <sha ;;0>C",0,64)
oSwimLane.EndUpdate()

51:
How do I enable the reserve-neighbors feature
OleObject oSwimLane,var_Elements

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 1
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B ( move it )",0,32)
	var_Elements.Add("Element <sha ;;0>C",0,64)
oSwimLane.EndUpdate()

50:
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A").ID = "A"
	var_Elements.Add("Element B").ID = "B"
	var_Elements.Add("Element C").ID = "C"
	var_Elements.Add("Element D").ID = "D"
	var_Elements.Add("Element E").ID = "E"
	var_Elements.Add("Element E").ID = "F"
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("B"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("D"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("E"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("F"))
oSwimLane.DefArrange(4,false)
oSwimLane.Arrange()

49:
How can I move an element to a specified lane/phase/pool

OleObject oSwimLane,var_Element,var_Element1,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.DefPoolHeaderCaptionFormat(true,"<fgcolor 808080>Faza <off -4><b><font ;6>%i")
oSwimLane.DefPoolHeaderCaptionFormat(false,"<fgcolor 808080>Culoar <off -4><b><font ;6>%i")
var_Pool = oSwimLane.Pools.Add(-100,-100,250,180)
	var_Pool.Lane(0).Children.Count = 3
	var_Pool.Lane(1).Children.Count = 3
	var_Pool.Lane(1).Children.item(1).Header.Caption = "<fgcolor FF0000><b>NEW"
var_Element = oSwimLane.Elements.Add("element 1",200,200)
	var_Element.LaneID(true,"0:H.0,0:V.0")
var_Element1 = oSwimLane.Elements.Add("element 2",200,200)
	var_Element1.LaneID(true,"0:H.2,0:V.2")
oSwimLane.EndUpdate()

48:
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-2)

/*begin event AddLink(oleobject  Link) - A new link has been added to the links collection.*/
/*
	oSwimLane = ole_1.Object
*/
/*end event AddLink*/

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",48,48)
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))

47:
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)

OleObject oSwimLane,var_Elements,var_Link,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",48,48)
var_Links = oSwimLane.Links
	var_Link = var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
		var_Link.StartPos = 4
		var_Link.EndPos = 3

46:
How do I enable the cross link support ( mixed )

OleObject oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",0,76)
	var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
		var_Element.AutoSize = false
		var_Element.Height = 32
	var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
		var_Element1.AutoSize = false
		var_Element1.Height = 32
var_Links = oSwimLane.Links
	var_Link = var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
		var_Link.StartPos = 1
		var_Link.EndPos = 1
	var_Link1 = var_Links.Add(oSwimLane.Elements.item(2),oSwimLane.Elements.item(1))
		var_Link1.StartPos = 1
		var_Link1.EndPos = 1
	var_Links.Add(oSwimLane.Elements.item(3),oSwimLane.Elements.item(4))
	var_Link2 = var_Links.Add(oSwimLane.Elements.item(4),oSwimLane.Elements.item(3))
		var_Link2.StartPos = 0
		var_Link2.EndPos = 2
oSwimLane.ShowLinks = 97 /*exShowCrossLinksMixt | exShowExtendedLinks*/

45:
How do I enable the cross link support ( triangular )

OleObject oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",0,76)
	var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
		var_Element.AutoSize = false
		var_Element.Height = 32
	var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
		var_Element1.AutoSize = false
		var_Element1.Height = 32
var_Links = oSwimLane.Links
	var_Link = var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
		var_Link.StartPos = 1
		var_Link.EndPos = 1
	var_Link1 = var_Links.Add(oSwimLane.Elements.item(2),oSwimLane.Elements.item(1))
		var_Link1.StartPos = 1
		var_Link1.EndPos = 1
	var_Links.Add(oSwimLane.Elements.item(3),oSwimLane.Elements.item(4))
	var_Link2 = var_Links.Add(oSwimLane.Elements.item(4),oSwimLane.Elements.item(3))
		var_Link2.StartPos = 0
		var_Link2.EndPos = 2
oSwimLane.ShowLinks = 65 /*exShowCrossLinksTriangle | exShowExtendedLinks*/

44:
How do I enable the cross link support ( rectangular )

OleObject oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",0,76)
	var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
		var_Element.AutoSize = false
		var_Element.Height = 32
	var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
		var_Element1.AutoSize = false
		var_Element1.Height = 32
var_Links = oSwimLane.Links
	var_Link = var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
		var_Link.StartPos = 1
		var_Link.EndPos = 1
	var_Link1 = var_Links.Add(oSwimLane.Elements.item(2),oSwimLane.Elements.item(1))
		var_Link1.StartPos = 1
		var_Link1.EndPos = 1
	var_Links.Add(oSwimLane.Elements.item(3),oSwimLane.Elements.item(4))
	var_Link2 = var_Links.Add(oSwimLane.Elements.item(4),oSwimLane.Elements.item(3))
		var_Link2.StartPos = 0
		var_Link2.EndPos = 2
oSwimLane.ShowLinks = 33 /*exShowCrossLinksRect | exShowExtendedLinks*/

43:
How do I show a link frmo bottom to top, or reverse, not from left to right

OleObject oSwimLane,var_Elements,var_Link,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",0,64)
var_Links = oSwimLane.Links
	var_Link = var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
		var_Link.StartPos = 1
		var_Link.EndPos = 1

42:
Is it possible to control the links, so that they are always centered

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A").ID = "A"
	var_Elements.Add("Element B").ID = "B"
	var_Elements.Add("Element C").ID = "C"
	var_Elements.Add("Element D").ID = "D"
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("B"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("D"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("C"))
oSwimLane.ShowLinks = -1
oSwimLane.DefArrange(0,1)
oSwimLane.Arrange()

41:
What options to align the elements do I have if I use Arrange method

OleObject oSwimLane,var_Elements,var_Links
any h1,h2,h3

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.ShowGridLines = true
var_Elements = oSwimLane.Elements
	h1 = var_Elements.Add("Top Alignment").ID
	var_Elements.Add("Element")
	var_Elements.Add("Element")
	var_Elements.Add("Element")
	h2 = var_Elements.Add("Center Alignment",,96).ID
	var_Elements.Add("Element",,96)
	var_Elements.Add("Element",,96)
	var_Elements.Add("Element",,96)
	h3 = var_Elements.Add("Bottom Alignment",,178).ID
	var_Elements.Add("Element",,192)
	var_Elements.Add("Element",,192)
	var_Elements.Add("Element",,192)
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(3))
	var_Links.Add(oSwimLane.Elements.item(2),oSwimLane.Elements.item(4))
	var_Links.Add(oSwimLane.Elements.item(2),oSwimLane.Elements.item(3))
	var_Links.Add(oSwimLane.Elements.item(5),oSwimLane.Elements.item(6))
	var_Links.Add(oSwimLane.Elements.item(5),oSwimLane.Elements.item(7))
	var_Links.Add(oSwimLane.Elements.item(6),oSwimLane.Elements.item(8))
	var_Links.Add(oSwimLane.Elements.item(6),oSwimLane.Elements.item(7))
	var_Links.Add(oSwimLane.Elements.item(9),oSwimLane.Elements.item(10))
	var_Links.Add(oSwimLane.Elements.item(9),oSwimLane.Elements.item(11))
	var_Links.Add(oSwimLane.Elements.item(10),oSwimLane.Elements.item(12))
	var_Links.Add(oSwimLane.Elements.item(10),oSwimLane.Elements.item(11))
oSwimLane.DefArrange(3,0)
oSwimLane.Arrange(h1)
oSwimLane.DefArrange(3,1)
oSwimLane.Arrange(h2)
oSwimLane.DefArrange(3,2)
oSwimLane.Arrange(h3)
oSwimLane.EndUpdate()

40:
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A").ID = "A"
	var_Elements.Add("Element B").ID = "B"
	var_Elements.Add("Element C").ID = "C"
	var_Elements.Add("Element D").ID = "D"
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("B"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("D"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("C"))
oSwimLane.Arrange()

39:
Is it possible to change the distance between elements, when calling the Arrange method

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A").ID = "A"
	var_Elements.Add("Element B").ID = "B"
	var_Elements.Add("Element C").ID = "C"
	var_Elements.Add("Element D").ID = "D"
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("B"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("D"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("C"))
oSwimLane.DefArrange(1,0)
oSwimLane.DefArrange(2,0)
oSwimLane.Arrange()

38:
How do I organize vertically the elements

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A").ID = "A"
	var_Elements.Add("Element B").ID = "B"
	var_Elements.Add("Element C").ID = "C"
	var_Elements.Add("Element D").ID = "D"
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("B"))
	var_Links.Add(oSwimLane.Elements.item("A"),oSwimLane.Elements.item("C"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("D"))
	var_Links.Add(oSwimLane.Elements.item("B"),oSwimLane.Elements.item("C"))
oSwimLane.ShowLinksType = 2
oSwimLane.DefArrange(0,1)
oSwimLane.Arrange()

37:
How can I add programatically a link

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",96,24)
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))

36:
How do I get the link from the cursor
/*begin event MouseMove(integer  Button,integer  Shift,long  X,long  Y) - Occurs when the user moves the mouse.*/
/*
	OleObject l
	oSwimLane = ole_1.Object
	l = oSwimLane.LinkFromPoint(-1,-1)
	MessageBox("Information",string( String(l) ))
*/
/*end event MouseMove*/

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element <sha ;;0>A")
	var_Elements.Add("Element <sha ;;0>B",96,24)
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(2))

35:
Is there a way to create a link which has the same start and end element

OleObject oSwimLane,var_Elements,var_Links

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element")
var_Links = oSwimLane.Links
	var_Links.Add(oSwimLane.Elements.item(1),oSwimLane.Elements.item(1))

34:
How can I show the pool's caption not-rotated or mirrored

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.AllowDesignHeader = 4
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
	var_Pool.HeaderCaptionSupportRotate = false
	var_Pool.HeaderSize(0,48)
	var_Pool.HeaderSize(2,48)
	var_Pool.Lane(0).Children.Count = 3
oSwimLane.EndUpdate()

33:
How can I prevent creating sub-lanes or sub-phases

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.AllowDesignHeader = 4
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
	var_Pool.HeaderSize(0,32)
	var_Pool.HeaderSize(2,32)
	var_Pool.Lane(0).Children.Count = 3
oSwimLane.EndUpdate()

32:
How do I show a complete frame/border around the header

OleObject oSwimLane,var_Lanes,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
	var_Pool.HeaderSize(1,32)
	var_Pool.HeaderSize(3,32)
	var_Lanes = var_Pool.Lane(1).Children
		var_Lanes.Count = 3
		var_Lanes.item(1).Header.Pattern.Type = 768
oSwimLane.EndUpdate()

31:
How do I show a complete frame/border around the lane

OleObject oSwimLane,var_Lanes,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
	var_Pool.HeaderSize(1,32)
	var_Pool.HeaderSize(3,32)
	var_Lanes = var_Pool.Lane(1).Children
		var_Lanes.Count = 3
		var_Lanes.item(1).Pattern.Type = 768
oSwimLane.EndUpdate()

30:
How can I define sub-lanes

OleObject oSwimLane,var_Lanes,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,250)
	var_Pool.HeaderSize(1,32)
	var_Pool.HeaderSize(3,32)
	var_Lanes = var_Pool.Lane(1).Children
		var_Lanes.Count = 3
		var_Lanes.item(1).Children.Count = 2
oSwimLane.EndUpdate()

29:
How can I add default lanes when the user creates a new pool
/*begin event AddPool(oleobject  Pool) - A new pool has been added to the surface.*/
/*
	Pool.HeaderSize(1) = 24
	Pool.HeaderVisible(0) = False
	Pool.HeaderVisible(1) = True
	Pool.HeaderVisible(2) = False
	Pool.HeaderVisible(3) = False
	Pool.Lane(1).Children.Count = 2
	oSwimLane = ole_1.Object
*/
/*end event AddPool*/

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.Pools.Add(-100,-100,250,250)
oSwimLane.EndUpdate()

28:
How do I prevent showing headers when the user creates new pools

/*begin event AddPool(oleobject  Pool) - A new pool has been added to the surface.*/
/*
	oSwimLane = ole_1.Object
*/
/*end event AddPool*/

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.Pools.Add(-100,-100,250,250).Lane(0).Children.Count = 3
oSwimLane.EndUpdate()

27:
How can I display icons on headers

OleObject oSwimLane,var_Lanes,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Pool = oSwimLane.Pools.Add(-100,-100,250,250)
	var_Pool.HeaderVisible(0,false)
	var_Pool.HeaderVisible(2,false)
	var_Pool.HeaderVisible(3,false)
	var_Pool.HeaderSize(1,24)
	var_Lanes = var_Pool.Lane(1).Children
		var_Lanes.Count = 3
		var_Lanes.item(0).Header.Caption = "<img>1</img> A"
		var_Lanes.item(1).Header.Caption = "<img>2</img> B"
		var_Lanes.item(2).Header.Caption = "<img>3</img> C"
oSwimLane.EndUpdate()

26:
How do I change the Lane and Phase strings being displayed on the lanes

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.DefPoolHeaderCaptionFormat(true,"<fgcolor 808080>Faza <off -4><b><font ;6>%i")
oSwimLane.DefPoolHeaderCaptionFormat(false,"<fgcolor 808080>Culoar <off -4><b><font ;6>%i")
var_Pool = oSwimLane.Pools.Add(-100,-100,250,250)
	var_Pool.Lane(0).Children.Count = 3
	var_Pool.Lane(1).Children.Count = 3
	var_Pool.Lane(1).Children.item(1).Header.Caption = "<fgcolor FF0000><b>NEW"
oSwimLane.EndUpdate()

25:
How can I enlarge the node while AutoSize property is True (method 2)

OleObject oSwimLane,var_Element

oSwimLane = ole_1.Object
oSwimLane.Background(90,RGB(255,255,255))
var_Element = oSwimLane.Elements.Add("Element",0,0).Copy()
	var_Element.Caption = "Enlarged Element"
	var_Element.InflateSize = 16

24:
How can I enlarge the node while AutoSize property is True (method 1)

OleObject oSwimLane,var_Element

oSwimLane = ole_1.Object
oSwimLane.Background(90,RGB(255,255,255))
var_Element = oSwimLane.Elements.Add("Element",0,0).Copy()
	var_Element.Caption = "Enlarged Element"
	var_Element.Padding(-1,16)

23:
How can I get the lane of the element

OleObject oSwimLane,var_Element
any lane

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.Pools.Add(-150,-150,500,250).Lane(0).Children.Count = 3
var_Element = oSwimLane.Elements.Add("Element")
	var_Element.CenterOnLane(false)
	lane = var_Element.LaneID(false)
	MessageBox("Information",string( oSwimLane.LaneByID(lane).Header.Caption ))
oSwimLane.EndUpdate()

22:
How can I define a different shape for elements

/*begin event AddElement(oleobject  Element) - A new element has been added to the surface.*/
/*
	oSwimLane = ole_1.Object
*/
/*end event AddElement*/

OleObject oSwimLane,var_Appearance,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Elements

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Appearance = oSwimLane.VisualAppearance
	var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwHIERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIgDZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyORMiwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQcgZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJlEEQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD4PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm0CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK4" &
 +"3AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEWTg0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA")
	var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwHIERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrLMIyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw3CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEIExhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5FIUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkOgOHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQiUZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh" &
 +"3AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkKSh6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg=")
	var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyDCEShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4ThHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXItCqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEcGQgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoSiUSIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQgsiKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJiiR4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGA" &
 +"hnECw+H2BwhkmSg7kMMIqHyb49hAECAg=")
	var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSFIcIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHolTbiIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRheC2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEUGgNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJFQOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4bgWCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAkisAAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQw" &
 +"Oj0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvksVp0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFFwJEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgRCjhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg")
	var_Appearance.Add(5,"gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoRioAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiXJgmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh8DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2BJRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5E4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G5BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA4dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5" &
 +"MnwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2b5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNHwDwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB")
oSwimLane.Background(90,RGB(255,255,255))
var_Elements = oSwimLane.Elements
	var_Elements.Add("Rectangular",0,0).Shape = 0
	var_Elements.Add("Round",82,0).Shape = 1
	var_Elements.Add("Rhomb",138,0).Shape = 2
	var_Elements.Add("Circle",196,0).Shape = 3
	var_Element = var_Elements.Add("EBN 1",0,36)
		var_Element.BackColor = 16777216 /*0x1000000*/
		var_Element.Border = -1
	var_Element1 = var_Elements.Add("EBN 2",54,36)
		var_Element1.BackColor = 33554432 /*0x2000000*/
		var_Element1.Border = -1
	var_Element2 = var_Elements.Add("EBN 3",108,36)
		var_Element2.BackColor = 50331648 /*0x3000000*/
		var_Element2.Border = -1
	var_Element3 = var_Elements.Add("EBN 4   ",160,36)
		var_Element3.BackColor = 67108864 /*0x4000000*/
		var_Element3.Border = -1
	var_Element4 = var_Elements.Add("EBN 5 ",220,36)
		var_Element4.BackColor = 83886080 /*0x5000000*/
		var_Element4.MinHeight = 64
		var_Element4.MinWidth = 64
		var_Element4.Border = -1
oSwimLane.ScrollPos(false,-160)
oSwimLane.EndUpdate()

21:
Is it possible to add an inner control on the surface

/*begin event OleEvent(oleobject  Element,oleobject  Ev) - Occurs once an inside control fires an event.*/
/*
	oSwimLane = ole_1.Object
	MessageBox("Information",string( String(Ev) ))
*/
/*end event OleEvent*/

OleObject oSwimLane,var_Element,var_Elements

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Element = var_Elements.Add("activex hosting")
		var_Element.Type = 2
		var_Element.Control = "Forms.CommandButton.1"
		var_Element.Caption = "Command Button"
		var_Element.Height = 64
		var_Element.Width = 128
		var_Element.ElementFormat = "14;" + CHAR(34) + "caption" + CHAR(34) + "/" + CHAR(34) + "client" + CHAR(34) + ""
		var_Element.CaptionAlign = 1

20:
How can I create a copy of the element
OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.Background(90,RGB(255,255,255))
oSwimLane.Elements.Add("Element 1",0,0).Copy().Caption = "Aka"

19:
How can I define an opaque background for elements

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.Background(90,RGB(255,255,255))
oSwimLane.Elements.Add("Element 1",0,0)
oSwimLane.Elements.Add("Element 2",16,16)

18:
How can I show a different context-menu for all elements
/*begin event ActionContextMenu(long  Action,long  ObjectType,any  ObjectID,long  CommandID,boolean  CommandChecked,any  CommandCaption,any  CommandValue,boolean  Cancel) - Occurs when the user selects an item from the object's context menu.*/
/*
	oSwimLane = ole_1.Object
	MessageBox("Information",string( String(Action) ))
	MessageBox("Information",string( String(ObjectID) ))
	MessageBox("Information",string( String(CommandID) ))
*/
/*end event ActionContextMenu*/

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.ContextMenu(4,"Item 1[id=1000],Item 2[id=2000]")
oSwimLane.Background(90,RGB(255,255,255))
oSwimLane.Elements.Add("Element 1",0,0)
oSwimLane.Elements.Add("Element 2",16,16)

17:
How can I show a different context-menu for element
OleObject oSwimLane

oSwimLane = ole_1.Object
MessageBox("Information",string( String(oSwimLane.Elements.Add("Element",0,0).InvokeContextMenu("Item 1[id=1000],Item 2[id=2000]")) ))

16:
How can I change the design-modes being shown on the control's toolbar

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.DesignModes = "Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2"

15:
How can I change the default header's background color

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
	var_Pool.Lane(0).Children.Count = 4
	var_Pool.Lane(1).Children.Count = 4
oSwimLane.Background(120,RGB(0,255,0))
oSwimLane.Background(124,RGB(0,192,0))
oSwimLane.EndUpdate()

14:
How can I remove the Design item from the control's toolbar, to be locked ( no-design )

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.ToolBarFormat = "-1,100,101"
oSwimLane.DesignMode = 0

13:
How can I remove/disable the Color and Display-Grid from the surface's context menu

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.ContextMenu(24,"Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all elements from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the surface])")

12:
How can I change the element's context-menu when the user right-clicks the element

/*begin event ActionContextMenu(long  Action,long  ObjectType,any  ObjectID,long  CommandID,boolean  CommandChecked,any  CommandCaption,any  CommandValue,boolean  Cancel) - Occurs when the user selects an item from the object's context menu.*/
/*
	ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0)
	oSwimLane = ole_1.Object
	MessageBox("Information",string( String(Action) ))
	MessageBox("Information",string( String(CommandCaption) ))
*/
/*end event ActionContextMenu*/

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
oSwimLane.Elements.Add("element",0,0)
oSwimLane.ContextMenu(4,"Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])")
oSwimLane.EndUpdate()

11:
How do I prevent showing the context-menu when user right-clicks the surface
OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.ContextMenu(24,"")

10:
How do I create parent-child (tree) lanes

OleObject oSwimLane,var_Lanes,var_Lanes1,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
	var_Pool.HeaderSize(1,32)
	var_Pool.HeaderVisible(3,false)
	var_Lanes = var_Pool.Lane(1).Children
		var_Lanes.Count = 2
		var_Lanes1 = var_Lanes.item(0).Children
			var_Lanes1.Count = 2
			var_Lanes1.item(0).Header.Caption = "Phase <b>1.1"
			var_Lanes1.item(1).Header.Caption = "Phase <b>1.2"
oSwimLane.EndUpdate()

9:
How do I create a pool with horizontal and lanes

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
	var_Pool.Lane(0).Children.Count = 4
	var_Pool.Lane(1).Children.Count = 4
oSwimLane.EndUpdate()

8:
How do I add programatically a pool with horizontal lanes

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
	var_Pool.Lane(0).Children.Count = 4
oSwimLane.EndUpdate()

7:
How do I add programatically a pool with vertical lanes

OleObject oSwimLane,var_Pool

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
	var_Pool.Lane(1).Children.Count = 4
oSwimLane.EndUpdate()

6:
How can I change the toolbar's visual appearance

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.VisualAppearance.Add(1,"c:\exontrol\images\normal.ebn")
oSwimLane.Background(148,16777216 /*0x1000000*/)
oSwimLane.Background(149,RGB(255,255,255))
oSwimLane.Background(150,RGB(40,40,40))
oSwimLane.Background(153,23093344 /*0x1606060*/)
oSwimLane.Background(154,RGB(240,240,240))
oSwimLane.Background(155,27304096 /*0x1a0a0a0*/)
oSwimLane.Background(156,RGB(255,255,255))

5:
How can I change the toolbar's background color

OleObject oSwimLane

oSwimLane = ole_1.Object
oSwimLane.Background(149,RGB(255,255,255))

4:
How can I fit or ensure that all elements are in the control's client area
OleObject oSwimLane,var_Elements

oSwimLane = ole_1.Object
var_Elements = oSwimLane.Elements
	var_Elements.Add("Element A",-500,-500).BackColor = RGB(0,255,0)
	var_Elements.Add("Element B",500,500).BackColor = RGB(255,0,0)
	var_Elements.Add("Element C",48,24)
oSwimLane.FitToClient()

3:
Context Menu - Microsoft Windows 8.1 - Ribbon Like

OleObject oSwimLane,var_Appearance

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Appearance = oSwimLane.VisualAppearance
	var_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn")
	var_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn")
	var_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn")
	var_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn")
	var_Appearance.Add(17,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn")
	var_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn")
	var_Appearance.Add(30,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio0.ebn")
	var_Appearance.Add(31,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio1.ebn")
	var_Appearance.Add(32,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn")
	var_Appearance.Add(33,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn")
	var_Appearance.Add(34,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn")
	var_Appearance.Add(35,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn")
oSwimLane.Background(99,16777216 /*0x1000000*/)
oSwimLane.Background(64,33488638 /*0x1fefefe*/)
oSwimLane.Background(102,234881024 /*0xe000000*/)
oSwimLane.Background(148,16777216 /*0x1000000*/)
oSwimLane.Background(149,RGB(255,255,255))
oSwimLane.Background(155,201326592 /*0xc000000*/)
oSwimLane.Background(153,234881024 /*0xe000000*/)
oSwimLane.Background(110,201326592 /*0xc000000*/)
oSwimLane.Background(112,587202560 /*0x23000000*/)
oSwimLane.Background(2 /*0x2 | */,570425344 /*0x22000000*/)
oSwimLane.Background(3 /*0x3 | */,587202560 /*0x23000000*/)
oSwimLane.Background(70,536870912 /*0x20000000*/)
oSwimLane.Background(71,553648128 /*0x21000000*/)
oSwimLane.Background(73,503316480 /*0x1e000000*/)
oSwimLane.Background(74,520093696 /*0x1f000000*/)
oSwimLane.EndUpdate()

2:
Context Menu - Microsoft Paint - Ribbon Like

OleObject oSwimLane,var_Appearance

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Appearance = oSwimLane.VisualAppearance
	var_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn")
	var_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn")
	var_Appearance.Add(3,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn")
	var_Appearance.Add(4,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn")
	var_Appearance.Add(5,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn")
	var_Appearance.Add(6,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn")
	var_Appearance.Add(7,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn")
	var_Appearance.Add(8,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn")
	var_Appearance.Add(9,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn")
	var_Appearance.Add(10,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn")
	var_Appearance.Add(11,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn")
	var_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn")
	var_Appearance.Add(13,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn")
	var_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn")
	var_Appearance.Add(15,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn")
	var_Appearance.Add(16,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn")
	var_Appearance.Add(17,"CP:16 0 0 0 1")
	var_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn")
	var_Appearance.Add(19,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn")
	var_Appearance.Add(20,"CP:19 0 0 0 1")
oSwimLane.Background(99,16777216 /*0x1000000*/)
oSwimLane.Background(101,RGB(21,66,139))
oSwimLane.Background(102,234881024 /*0xe000000*/)
oSwimLane.Background(64,33488638 /*0x1fefefe*/)
oSwimLane.Background(148,16777216 /*0x1000000*/)
oSwimLane.Background(149,RGB(255,255,255))
oSwimLane.Background(155,218103808 /*0xd000000*/)
oSwimLane.Background(153,16777216 /*0x1000000*/)
oSwimLane.Background(2 /*0x2 | */,218103808 /*0xd000000*/)
oSwimLane.Background(105,83886080 /*0x5000000*/)
oSwimLane.Background(106,100663296 /*0x6000000*/)
oSwimLane.Background(107,117440512 /*0x7000000*/)
oSwimLane.Background(108,134217728 /*0x8000000*/)
oSwimLane.Background(116,150994944 /*0x9000000*/)
oSwimLane.Background(117,167772160 /*0xa000000*/)
oSwimLane.Background(118,184549376 /*0xb000000*/)
oSwimLane.Background(110,201326592 /*0xc000000*/)
oSwimLane.Background(112,251658240 /*0xf000000*/)
oSwimLane.EndUpdate()

1:
Context Menu - Microsoft Office - Ribbon Like

OleObject oSwimLane,var_Appearance

oSwimLane = ole_1.Object
oSwimLane.BeginUpdate()
var_Appearance = oSwimLane.VisualAppearance
	var_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_background.ebn")
	var_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupt.ebn")
	var_Appearance.Add(3,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupo.ebn")
	var_Appearance.Add(4,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_grouphot.ebn")
	var_Appearance.Add(5,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameh.ebn")
	var_Appearance.Add(6,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehs.ebn")
	var_Appearance.Add(7,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehi.ebn")
	var_Appearance.Add(8,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehe.ebn")
	var_Appearance.Add(9,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevs.ebn")
	var_Appearance.Add(10,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevi.ebn")
	var_Appearance.Add(11,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameve.ebn")
	var_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_select.ebn")
	var_Appearance.Add(13,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_bordert.ebn")
	var_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttond.ebn")
	var_Appearance.Add(15,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttonu.ebn")
	var_Appearance.Add(16,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tab.ebn")
	var_Appearance.Add(17,"CP:16 0 0 0 1")
	var_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabhot.ebn")
	var_Appearance.Add(19,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabselhot.ebn")
	var_Appearance.Add(20,"CP:19 0 0 0 1")
oSwimLane.Background(99,16777216 /*0x1000000*/)
oSwimLane.Background(101,RGB(21,66,139))
oSwimLane.Background(64,33488638 /*0x1fefefe*/)
oSwimLane.Background(148,16777216 /*0x1000000*/)
oSwimLane.Background(149,RGB(255,255,255))
oSwimLane.Background(155,218103808 /*0xd000000*/)
oSwimLane.Background(153,16777216 /*0x1000000*/)
oSwimLane.Background(2 /*0x2 | */,218103808 /*0xd000000*/)
oSwimLane.Background(3 /*0x3 | */,16777216 /*0x1000000*/)
oSwimLane.Background(105,83886080 /*0x5000000*/)
oSwimLane.Background(106,100663296 /*0x6000000*/)
oSwimLane.Background(107,117440512 /*0x7000000*/)
oSwimLane.Background(108,134217728 /*0x8000000*/)
oSwimLane.Background(116,150994944 /*0x9000000*/)
oSwimLane.Background(117,167772160 /*0xa000000*/)
oSwimLane.Background(118,184549376 /*0xb000000*/)
oSwimLane.Background(110,201326592 /*0xc000000*/)
oSwimLane.Background(102,234881024 /*0xe000000*/)
oSwimLane.Background(112,251658240 /*0xf000000*/)
oSwimLane.EndUpdate()