53:
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
public void init()
{
	COM com_Elements;
	anytype var_Elements;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.AllowMoveNeighbors(2/*exMoveNeighborsHorizontally*/);
	exswimlane1.DefArrange(0/*exDefArrangeDir*/,COMVariant::createFromInt(1));
	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B ( move it )",COMVariant::createFromInt(16),COMVariant::createFromInt(32));
		com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(128),COMVariant::createFromInt(0));
	exswimlane1.EndUpdate();
}
52:
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
public void init()
{
	COM com_Elements;
	anytype var_Elements;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.AllowMoveNeighbors(1/*exMoveNeighborsVertically*/);
	exswimlane1.DefArrange(1/*exDefArrangeDX*/,COMVariant::createFromInt(0));
	exswimlane1.DefArrange(2/*exDefArrangeDY*/,COMVariant::createFromInt(0));
	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B ( move it )",COMVariant::createFromInt(0),COMVariant::createFromInt(32));
		com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(0),COMVariant::createFromInt(64));
	exswimlane1.EndUpdate();
}
51:
How do I enable the reserve-neighbors feature
public void init()
{
	COM com_Elements;
	anytype var_Elements;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.AllowMoveNeighbors(1/*exMoveNeighborsVertically*/);
	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B ( move it )",COMVariant::createFromInt(0),COMVariant::createFromInt(32));
		com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(0),COMVariant::createFromInt(64));
	exswimlane1.EndUpdate();
}
50:
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that

public void init()
{
	COM com_Element,com_Elements,com_Links;
	anytype var_Element,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A")); com_Element = var_Element;
		com_Element.ID("A");
		var_Element = COM::createFromObject(com_Elements.Add("Element B")); com_Element = var_Element;
		com_Element.ID("B");
		var_Element = COM::createFromObject(com_Elements.Add("Element C")); com_Element = var_Element;
		com_Element.ID("C");
		var_Element = COM::createFromObject(com_Elements.Add("Element D")); com_Element = var_Element;
		com_Element.ID("D");
		var_Element = COM::createFromObject(com_Elements.Add("Element E")); com_Element = var_Element;
		com_Element.ID("E");
		var_Element = COM::createFromObject(com_Elements.Add("Element E")); com_Element = var_Element;
		com_Element.ID("F");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("B"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("D"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("E"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("F"));
	exswimlane1.DefArrange(4/*exDefArrangeCompact*/,COMVariant::createFromBoolean(false));
	exswimlane1.Arrange();
}
49:
How can I move an element to a specified lane/phase/pool

public void init()
{
	COM com_Element,com_Element1,com_HeaderLane,com_Lane,com_Lanes,com_Pool;
	anytype var_Element,var_Element1,var_HeaderLane,var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.DefPoolHeaderCaptionFormat(true,"<fgcolor 808080>Faza <off -4><b><font ;6>%i");
	exswimlane1.DefPoolHeaderCaptionFormat(false,"<fgcolor 808080>Culoar <off -4><b><font ;6>%i");
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-100),COMVariant::createFromInt(-100),COMVariant::createFromInt(250),COMVariant::createFromInt(180)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		var_Lane = COM::createFromObject(com_Lanes).item(COMVariant::createFromInt(1)); com_Lane = var_Lane;
		var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
		com_HeaderLane.Caption("<fgcolor FF0000><b>NEW");
	var_Element = COM::createFromObject(exswimlane1.Elements()).Add("element 1",COMVariant::createFromInt(200),COMVariant::createFromInt(200)); com_Element = var_Element;
		com_Element.LaneID(true,"0:H.0,0:V.0");
	var_Element1 = COM::createFromObject(exswimlane1.Elements()).Add("element 2",COMVariant::createFromInt(200),COMVariant::createFromInt(200)); com_Element1 = var_Element1;
		com_Element1.LaneID(true,"0:H.2,0:V.2");
	exswimlane1.EndUpdate();
}
48:
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-2)

// AddLink event - A new link has been added to the links collection.
void onEvent_AddLink(COM   _Link)
{
	;
}

public void init()
{
	COM com_Elements,com_Links;
	anytype var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(48),COMVariant::createFromInt(48));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)));
}
47:
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)

public void init()
{
	COM com_Elements,com_Link,com_Links;
	anytype var_Elements,var_Link,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(48),COMVariant::createFromInt(48));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		var_Link = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2))); com_Link = var_Link;
			com_Link.StartPos(4/*DownAlignment*/);
			com_Link.EndPos(3/*UpAlignment*/);
}
46:
How do I enable the cross link support ( mixed )

public void init()
{
	COM com_Element,com_Element1,com_Elements,com_Link,com_Link1,com_Link2,com_Links;
	anytype var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(0),COMVariant::createFromInt(76));
		var_Element = com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(-76),COMVariant::createFromInt(32)); com_Element = var_Element;
			com_Element.AutoSize(false);
			com_Element.Height(32);
		var_Element1 = com_Elements.Add("Element <sha ;;0>D",COMVariant::createFromInt(76),COMVariant::createFromInt(32)); com_Element1 = var_Element1;
			com_Element1.AutoSize(false);
			com_Element1.Height(32);
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		var_Link = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2))); com_Link = var_Link;
			com_Link.StartPos(1/*CenterAlignment*/);
			com_Link.EndPos(1/*CenterAlignment*/);
		var_Link1 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1))); com_Link1 = var_Link1;
			com_Link1.StartPos(1/*CenterAlignment*/);
			com_Link1.EndPos(1/*CenterAlignment*/);
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)));
		var_Link2 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3))); com_Link2 = var_Link2;
			com_Link2.StartPos(0/*LeftAlignment*/);
			com_Link2.EndPos(2/*RightAlignment*/);
	exswimlane1.ShowLinks(97/*exShowCrossLinksMixt | exShowExtendedLinks*/);
}
45:
How do I enable the cross link support ( triangular )

public void init()
{
	COM com_Element,com_Element1,com_Elements,com_Link,com_Link1,com_Link2,com_Links;
	anytype var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(0),COMVariant::createFromInt(76));
		var_Element = com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(-76),COMVariant::createFromInt(32)); com_Element = var_Element;
			com_Element.AutoSize(false);
			com_Element.Height(32);
		var_Element1 = com_Elements.Add("Element <sha ;;0>D",COMVariant::createFromInt(76),COMVariant::createFromInt(32)); com_Element1 = var_Element1;
			com_Element1.AutoSize(false);
			com_Element1.Height(32);
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		var_Link = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2))); com_Link = var_Link;
			com_Link.StartPos(1/*CenterAlignment*/);
			com_Link.EndPos(1/*CenterAlignment*/);
		var_Link1 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1))); com_Link1 = var_Link1;
			com_Link1.StartPos(1/*CenterAlignment*/);
			com_Link1.EndPos(1/*CenterAlignment*/);
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)));
		var_Link2 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3))); com_Link2 = var_Link2;
			com_Link2.StartPos(0/*LeftAlignment*/);
			com_Link2.EndPos(2/*RightAlignment*/);
	exswimlane1.ShowLinks(65/*exShowCrossLinksTriangle | exShowExtendedLinks*/);
}
44:
How do I enable the cross link support ( rectangular )

public void init()
{
	COM com_Element,com_Element1,com_Elements,com_Link,com_Link1,com_Link2,com_Links;
	anytype var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(0),COMVariant::createFromInt(76));
		var_Element = com_Elements.Add("Element <sha ;;0>C",COMVariant::createFromInt(-76),COMVariant::createFromInt(32)); com_Element = var_Element;
			com_Element.AutoSize(false);
			com_Element.Height(32);
		var_Element1 = com_Elements.Add("Element <sha ;;0>D",COMVariant::createFromInt(76),COMVariant::createFromInt(32)); com_Element1 = var_Element1;
			com_Element1.AutoSize(false);
			com_Element1.Height(32);
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		var_Link = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2))); com_Link = var_Link;
			com_Link.StartPos(1/*CenterAlignment*/);
			com_Link.EndPos(1/*CenterAlignment*/);
		var_Link1 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1))); com_Link1 = var_Link1;
			com_Link1.StartPos(1/*CenterAlignment*/);
			com_Link1.EndPos(1/*CenterAlignment*/);
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)));
		var_Link2 = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3))); com_Link2 = var_Link2;
			com_Link2.StartPos(0/*LeftAlignment*/);
			com_Link2.EndPos(2/*RightAlignment*/);
	exswimlane1.ShowLinks(33/*exShowCrossLinksRect | exShowExtendedLinks*/);
}
43:
How do I show a link frmo bottom to top, or reverse, not from left to right

public void init()
{
	COM com_Elements,com_Link,com_Links;
	anytype var_Elements,var_Link,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(0),COMVariant::createFromInt(64));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		var_Link = com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2))); com_Link = var_Link;
			com_Link.StartPos(1/*CenterAlignment*/);
			com_Link.EndPos(1/*CenterAlignment*/);
}
42:
Is it possible to control the links, so that they are always centered

public void init()
{
	COM com_Element,com_Elements,com_Links;
	anytype var_Element,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A")); com_Element = var_Element;
		com_Element.ID("A");
		var_Element = COM::createFromObject(com_Elements.Add("Element B")); com_Element = var_Element;
		com_Element.ID("B");
		var_Element = COM::createFromObject(com_Elements.Add("Element C")); com_Element = var_Element;
		com_Element.ID("C");
		var_Element = COM::createFromObject(com_Elements.Add("Element D")); com_Element = var_Element;
		com_Element.ID("D");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("B"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("D"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("C"));
	exswimlane1.ShowLinks(-1/*exShowLinks*/);
	exswimlane1.DefArrange(0/*exDefArrangeDir*/,COMVariant::createFromInt(1));
	exswimlane1.Arrange();
}
41:
What options to align the elements do I have if I use Arrange method

public void init()
{
	COM com_Elements,com_Links;
	COMVariant h1,h2,h3;
	anytype var_Elements,var_Links;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.ShowGridLines(true);
	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		h1 = com_Elements.Add("Top Alignment").ID();
		com_Elements.Add("Element");
		com_Elements.Add("Element");
		com_Elements.Add("Element");
		h2 = com_Elements.Add("Center Alignment",,COMVariant::createFromInt(96)).ID();
		com_Elements.Add("Element",,COMVariant::createFromInt(96));
		com_Elements.Add("Element",,COMVariant::createFromInt(96));
		com_Elements.Add("Element",,COMVariant::createFromInt(96));
		h3 = com_Elements.Add("Bottom Alignment",,COMVariant::createFromInt(178)).ID();
		com_Elements.Add("Element",,COMVariant::createFromInt(192));
		com_Elements.Add("Element",,COMVariant::createFromInt(192));
		com_Elements.Add("Element",,COMVariant::createFromInt(192));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(4)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(3)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(5)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(6)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(5)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(7)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(6)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(8)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(6)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(7)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(9)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(10)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(9)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(11)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(10)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(12)));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(10)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(11)));
	exswimlane1.DefArrange(3/*exDefArrangeAlign*/,COMVariant::createFromInt(0));
	exswimlane1.Arrange(h1);
	exswimlane1.DefArrange(3/*exDefArrangeAlign*/,COMVariant::createFromInt(1));
	exswimlane1.Arrange(h2);
	exswimlane1.DefArrange(3/*exDefArrangeAlign*/,COMVariant::createFromInt(2));
	exswimlane1.Arrange(h3);
	exswimlane1.EndUpdate();
}
40:
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it

public void init()
{
	COM com_Element,com_Elements,com_Links;
	anytype var_Element,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A")); com_Element = var_Element;
		com_Element.ID("A");
		var_Element = COM::createFromObject(com_Elements.Add("Element B")); com_Element = var_Element;
		com_Element.ID("B");
		var_Element = COM::createFromObject(com_Elements.Add("Element C")); com_Element = var_Element;
		com_Element.ID("C");
		var_Element = COM::createFromObject(com_Elements.Add("Element D")); com_Element = var_Element;
		com_Element.ID("D");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("B"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("D"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("C"));
	exswimlane1.Arrange();
}
39:
Is it possible to change the distance between elements, when calling the Arrange method

public void init()
{
	COM com_Element,com_Elements,com_Links;
	anytype var_Element,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A")); com_Element = var_Element;
		com_Element.ID("A");
		var_Element = COM::createFromObject(com_Elements.Add("Element B")); com_Element = var_Element;
		com_Element.ID("B");
		var_Element = COM::createFromObject(com_Elements.Add("Element C")); com_Element = var_Element;
		com_Element.ID("C");
		var_Element = COM::createFromObject(com_Elements.Add("Element D")); com_Element = var_Element;
		com_Element.ID("D");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("B"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("D"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("C"));
	exswimlane1.DefArrange(1/*exDefArrangeDX*/,COMVariant::createFromInt(0));
	exswimlane1.DefArrange(2/*exDefArrangeDY*/,COMVariant::createFromInt(0));
	exswimlane1.Arrange();
}
38:
How do I organize vertically the elements

public void init()
{
	COM com_Element,com_Elements,com_Links;
	anytype var_Element,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A")); com_Element = var_Element;
		com_Element.ID("A");
		var_Element = COM::createFromObject(com_Elements.Add("Element B")); com_Element = var_Element;
		com_Element.ID("B");
		var_Element = COM::createFromObject(com_Elements.Add("Element C")); com_Element = var_Element;
		com_Element.ID("C");
		var_Element = COM::createFromObject(com_Elements.Add("Element D")); com_Element = var_Element;
		com_Element.ID("D");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("B"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("A"),COM::createFromObject(exswimlane1.Elements()).item("C"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("D"));
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item("B"),COM::createFromObject(exswimlane1.Elements()).item("C"));
	exswimlane1.ShowLinksType(2/*exLinkStraight*/);
	exswimlane1.DefArrange(0/*exDefArrangeDir*/,COMVariant::createFromInt(1));
	exswimlane1.Arrange();
}
37:
How can I add programatically a link

public void init()
{
	COM com_Elements,com_Links;
	anytype var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(96),COMVariant::createFromInt(24));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)));
}
36:
How do I get the link from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	COM com_l;
	anytype l;
	;
	l = COM::createFromObject(exswimlane1.LinkFromPoint(-1,-1)); com_l = l;
	print( l );
}

public void init()
{
	COM com_Elements,com_Links,com_l;
	anytype l,var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element <sha ;;0>A");
		com_Elements.Add("Element <sha ;;0>B",COMVariant::createFromInt(96),COMVariant::createFromInt(24));
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(2)));
}
35:
Is there a way to create a link which has the same start and end element

public void init()
{
	COM com_Elements,com_Links;
	anytype var_Elements,var_Links;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		com_Elements.Add("Element");
	var_Links = exswimlane1.Links(); com_Links = var_Links;
		com_Links.Add(COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)),COM::createFromObject(exswimlane1.Elements()).item(COMVariant::createFromInt(1)));
}
34:
How can I show the pool's caption not-rotated or mirrored

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.AllowDesignHeader(4/*exDesignHeaderSingle*/);
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(300),COMVariant::createFromInt(150)); com_Pool = var_Pool;
		com_Pool.HeaderCaptionSupportRotate(false);
		com_Pool.HeaderSize(0/*exHeaderLeft*/,48);
		com_Pool.HeaderSize(2/*exHeaderRight*/,48);
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
	exswimlane1.EndUpdate();
}
33:
How can I prevent creating sub-lanes or sub-phases

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.AllowDesignHeader(4/*exDesignHeaderSingle*/);
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(300),COMVariant::createFromInt(150)); com_Pool = var_Pool;
		com_Pool.HeaderSize(0/*exHeaderLeft*/,32);
		com_Pool.HeaderSize(2/*exHeaderRight*/,32);
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
	exswimlane1.EndUpdate();
}
32:
How do I show a complete frame/border around the header

public void init()
{
	COM com_HeaderLane,com_Lane,com_Lanes,com_Pattern,com_Pool;
	anytype var_HeaderLane,var_Lane,var_Lanes,var_Pattern,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(300),COMVariant::createFromInt(150)); com_Pool = var_Pool;
		com_Pool.HeaderSize(1/*exHeaderTop*/,32);
		com_Pool.HeaderSize(3/*exHeaderBottom*/,32);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = com_Lane.Children(); com_Lanes = var_Lanes;
			com_Lanes.Count(3);
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(1))); com_Lane = var_Lane;
			var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
			var_Pattern = COM::createFromObject(com_HeaderLane).Pattern(); com_Pattern = var_Pattern;
			com_Pattern.Type(768/*exPatternFrameThick*/);
	exswimlane1.EndUpdate();
}
31:
How do I show a complete frame/border around the lane

public void init()
{
	COM com_Lane,com_Lanes,com_Pattern,com_Pool;
	anytype var_Lane,var_Lanes,var_Pattern,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(300),COMVariant::createFromInt(150)); com_Pool = var_Pool;
		com_Pool.HeaderSize(1/*exHeaderTop*/,32);
		com_Pool.HeaderSize(3/*exHeaderBottom*/,32);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = com_Lane.Children(); com_Lanes = var_Lanes;
			com_Lanes.Count(3);
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(1))); com_Lane = var_Lane;
			var_Pattern = COM::createFromObject(com_Lane).Pattern(); com_Pattern = var_Pattern;
			com_Pattern.Type(768/*exPatternFrameThick*/);
	exswimlane1.EndUpdate();
}
30:
How can I define sub-lanes

public void init()
{
	COM com_Lane,com_Lanes,com_Lanes1,com_Pool;
	anytype var_Lane,var_Lanes,var_Lanes1,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(300),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		com_Pool.HeaderSize(1/*exHeaderTop*/,32);
		com_Pool.HeaderSize(3/*exHeaderBottom*/,32);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = com_Lane.Children(); com_Lanes = var_Lanes;
			com_Lanes.Count(3);
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(1))); com_Lane = var_Lane;
			var_Lanes1 = COM::createFromObject(com_Lane).Children(); com_Lanes1 = var_Lanes1;
			com_Lanes1.Count(2);
	exswimlane1.EndUpdate();
}
29:
How can I add default lanes when the user creates a new pool
// AddPool event - A new pool has been added to the surface.
void onEvent_AddPool(COM   _Pool)
{
	// 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
	;
}

public void init()
{
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.Pools().Add(COMVariant::createFromInt(-100),COMVariant::createFromInt(-100),COMVariant::createFromInt(250),COMVariant::createFromInt(250));
	exswimlane1.EndUpdate();
}
28:
How do I prevent showing headers when the user creates new pools

// AddPool event - A new pool has been added to the surface.
void onEvent_AddPool(COM   _Pool)
{
	;
}

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-100),COMVariant::createFromInt(-100),COMVariant::createFromInt(250),COMVariant::createFromInt(250)); com_Pool = var_Pool;
	var_Lane = COM::createFromObject(com_Pool).Lane(0/*exLaneHorizontal*/); com_Lane = var_Lane;
	var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
	com_Lanes.Count(3);
	exswimlane1.EndUpdate();
}
27:
How can I display icons on headers

public void init()
{
	COM com_HeaderLane,com_Lane,com_Lanes,com_Pool;
	anytype var_HeaderLane,var_Lane,var_Lanes,var_Pool;
	str var_s;
	;

	super();

	exswimlane1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	exswimlane1.Images(COMVariant::createFromStr(var_s));
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-100),COMVariant::createFromInt(-100),COMVariant::createFromInt(250),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		com_Pool.HeaderVisible(0/*exHeaderLeft*/,false);
		com_Pool.HeaderVisible(2/*exHeaderRight*/,false);
		com_Pool.HeaderVisible(3/*exHeaderBottom*/,false);
		com_Pool.HeaderSize(1/*exHeaderTop*/,24);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = com_Lane.Children(); com_Lanes = var_Lanes;
			com_Lanes.Count(3);
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(0))); com_Lane = var_Lane;
			var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
			com_HeaderLane.Caption("<img>1</img> A");
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(1))); com_Lane = var_Lane;
			var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
			com_HeaderLane.Caption("<img>2</img> B");
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(2))); com_Lane = var_Lane;
			var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
			com_HeaderLane.Caption("<img>3</img> C");
	exswimlane1.EndUpdate();
}
26:
How do I change the Lane and Phase strings being displayed on the lanes

public void init()
{
	COM com_HeaderLane,com_Lane,com_Lanes,com_Pool;
	anytype var_HeaderLane,var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.DefPoolHeaderCaptionFormat(true,"<fgcolor 808080>Faza <off -4><b><font ;6>%i");
	exswimlane1.DefPoolHeaderCaptionFormat(false,"<fgcolor 808080>Culoar <off -4><b><font ;6>%i");
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-100),COMVariant::createFromInt(-100),COMVariant::createFromInt(250),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(3);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		var_Lane = COM::createFromObject(com_Lanes).item(COMVariant::createFromInt(1)); com_Lane = var_Lane;
		var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
		com_HeaderLane.Caption("<fgcolor FF0000><b>NEW");
	exswimlane1.EndUpdate();
}
25:
How can I enlarge the node while AutoSize property is True (method 2)

public void init()
{
	COM com_Element;
	anytype var_Element;
	;

	super();

	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	var_Element = COM::createFromObject(exswimlane1.Elements()).Add("Element",COMVariant::createFromInt(0),COMVariant::createFromInt(0)); com_Element = var_Element;
	var_Element = COM::createFromObject(com_Element).Copy(); com_Element = var_Element;
		com_Element.Caption("Enlarged Element");
		com_Element.InflateSize(16);
}
24:
How can I enlarge the node while AutoSize property is True (method 1)

public void init()
{
	COM com_Element;
	anytype var_Element;
	;

	super();

	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	var_Element = COM::createFromObject(exswimlane1.Elements()).Add("Element",COMVariant::createFromInt(0),COMVariant::createFromInt(0)); com_Element = var_Element;
	var_Element = COM::createFromObject(com_Element).Copy(); com_Element = var_Element;
		com_Element.Caption("Enlarged Element");
		com_Element.Padding(-1/*exPaddingAll*/,16);
}
23:
How can I get the lane of the element

public void init()
{
	COM com_Element,com_Lane,com_Lanes,com_Pool;
	COMVariant lane;
	anytype var_Element,var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-150),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
	var_Lane = COM::createFromObject(com_Pool).Lane(0/*exLaneHorizontal*/); com_Lane = var_Lane;
	var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
	com_Lanes.Count(3);
	var_Element = COM::createFromObject(exswimlane1.Elements()).Add("Element"); com_Element = var_Element;
		com_Element.CenterOnLane(false);
		lane = com_Element.LaneID(false);
		print( exswimlane1.LaneByID(lane).Header().Caption() );
	exswimlane1.EndUpdate();
}
22:
How can I define a different shape for elements

// AddElement event - A new element has been added to the surface.
void onEvent_AddElement(COM   _Element)
{
	;
}

public void init()
{
	COM com_Appearance,com_Element,com_Element1,com_Element2,com_Element3,com_Element4,com_Elements;
	anytype var_Appearance,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Elements;
	str var_s,var_s1,var_s2,var_s3,var_s4;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Appearance = exswimlane1.VisualAppearance(); com_Appearance = var_Appearance;
		var_s = "gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwHI";
		var_s = var_s + "ERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIgD";
		var_s = var_s + "ZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyORM";
		var_s = var_s + "iwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQc";
		var_s = var_s + "gZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJlE";
		var_s = var_s + "EQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD4";
		var_s = var_s + "PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm0";
		var_s = var_s + "CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK43";
		var_s = var_s + "AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEWT";
		var_s = var_s + "g0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA";
		com_Appearance.Add(1,COMVariant::createFromStr(var_s));
		var_s1 = "gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwHI";
		var_s1 = var_s1 + "ERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrLM";
		var_s1 = var_s1 + "IyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw3";
		var_s1 = var_s1 + "CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEIE";
		var_s1 = var_s1 + "xhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5F";
		var_s1 = var_s1 + "IUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkOg";
		var_s1 = var_s1 + "OHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQiU";
		var_s1 = var_s1 + "ZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh3";
		var_s1 = var_s1 + "AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkKS";
		var_s1 = var_s1 + "h6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg=";
		com_Appearance.Add(2,COMVariant::createFromStr(var_s1));
		var_s2 = "gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyDC";
		var_s2 = var_s2 + "EShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4T";
		var_s2 = var_s2 + "hHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXIt";
		var_s2 = var_s2 + "CqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEcG";
		var_s2 = var_s2 + "QgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoSi";
		var_s2 = var_s2 + "USIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQg";
		var_s2 = var_s2 + "siKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJii";
		var_s2 = var_s2 + "R4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGAh";
		var_s2 = var_s2 + "nECw+H2BwhkmSg7kMMIqHyb49hAECAg=";
		com_Appearance.Add(3,COMVariant::createFromStr(var_s2));
		var_s3 = "gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSFI";
		var_s3 = var_s3 + "cIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHolT";
		var_s3 = var_s3 + "biIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRhe";
		var_s3 = var_s3 + "C2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEUG";
		var_s3 = var_s3 + "gNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJF";
		var_s3 = var_s3 + "QOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4bg";
		var_s3 = var_s3 + "WCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAkis";
		var_s3 = var_s3 + "AAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQwO";
		var_s3 = var_s3 + "j0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvksV";
		var_s3 = var_s3 + "p0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFFw";
		var_s3 = var_s3 + "JEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgRC";
		var_s3 = var_s3 + "jhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg";
		com_Appearance.Add(4,COMVariant::createFromStr(var_s3));
		var_s4 = "gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoRi";
		var_s4 = var_s4 + "oAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiXJ";
		var_s4 = var_s4 + "gmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh8";
		var_s4 = var_s4 + "DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2B";
		var_s4 = var_s4 + "JRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5E";
		var_s4 = var_s4 + "4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G5";
		var_s4 = var_s4 + "BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA4";
		var_s4 = var_s4 + "dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5M";
		var_s4 = var_s4 + "nwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2b";
		var_s4 = var_s4 + "5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNHw";
		var_s4 = var_s4 + "DwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB";
		com_Appearance.Add(5,COMVariant::createFromStr(var_s4));
	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Rectangular",COMVariant::createFromInt(0),COMVariant::createFromInt(0))); com_Element = var_Element;
		com_Element.Shape(0/*exShapeRectangular*/);
		var_Element = COM::createFromObject(com_Elements.Add("Round",COMVariant::createFromInt(82),COMVariant::createFromInt(0))); com_Element = var_Element;
		com_Element.Shape(1/*exShapeRound*/);
		var_Element = COM::createFromObject(com_Elements.Add("Rhomb",COMVariant::createFromInt(138),COMVariant::createFromInt(0))); com_Element = var_Element;
		com_Element.Shape(2/*exShapeRhomb*/);
		var_Element = COM::createFromObject(com_Elements.Add("Circle",COMVariant::createFromInt(196),COMVariant::createFromInt(0))); com_Element = var_Element;
		com_Element.Shape(3/*exShapeCircle*/);
		var_Element = com_Elements.Add("EBN 1",COMVariant::createFromInt(0),COMVariant::createFromInt(36)); com_Element = var_Element;
			com_Element.BackColor(0x1000000);
			com_Element.Border(-1/*exNoLines*/);
		var_Element1 = com_Elements.Add("EBN 2",COMVariant::createFromInt(54),COMVariant::createFromInt(36)); com_Element1 = var_Element1;
			com_Element1.BackColor(0x2000000);
			com_Element1.Border(-1/*exNoLines*/);
		var_Element2 = com_Elements.Add("EBN 3",COMVariant::createFromInt(108),COMVariant::createFromInt(36)); com_Element2 = var_Element2;
			com_Element2.BackColor(0x3000000);
			com_Element2.Border(-1/*exNoLines*/);
		var_Element3 = com_Elements.Add("EBN 4   ",COMVariant::createFromInt(160),COMVariant::createFromInt(36)); com_Element3 = var_Element3;
			com_Element3.BackColor(0x4000000);
			com_Element3.Border(-1/*exNoLines*/);
		var_Element4 = com_Elements.Add("EBN 5 ",COMVariant::createFromInt(220),COMVariant::createFromInt(36)); com_Element4 = var_Element4;
			com_Element4.BackColor(0x5000000);
			com_Element4.MinHeight(64);
			com_Element4.MinWidth(64);
			com_Element4.Border(-1/*exNoLines*/);
	exswimlane1.ScrollPos(false,-160);
	exswimlane1.EndUpdate();
}
21:
Is it possible to add an inner control on the surface

// OleEvent event - Occurs once an inside control fires an event.
void onEvent_OleEvent(COM   _Element,COM   _Ev)
{
	;
	print( _Ev );
}

public void init()
{
	COM com_Element,com_Elements;
	anytype var_Element,var_Elements;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = com_Elements.Add("activex hosting"); com_Element = var_Element;
			com_Element.Type(2/*exElementHostControl*/);
			com_Element.Control("Forms.CommandButton.1");
			com_Element.Caption("Command Button");
			com_Element.Height(64);
			com_Element.Width(128);
			com_Element.ElementFormat("14;\"caption\"/\"client\"");
			com_Element.CaptionAlign(1/*exTopCenter*/);
}
20:
How can I create a copy of the element
public void init()
{
	COM com_Element;
	anytype var_Element;
	;

	super();

	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	var_Element = COM::createFromObject(exswimlane1.Elements()).Add("Element 1",COMVariant::createFromInt(0),COMVariant::createFromInt(0)); com_Element = var_Element;
	var_Element = COM::createFromObject(com_Element).Copy(); com_Element = var_Element;
	com_Element.Caption("Aka");
}
19:
How can I define an opaque background for elements

public void init()
{
	;

	super();

	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Elements().Add("Element 1",COMVariant::createFromInt(0),COMVariant::createFromInt(0));
	exswimlane1.Elements().Add("Element 2",COMVariant::createFromInt(16),COMVariant::createFromInt(16));
}
18:
How can I show a different context-menu for all elements
// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
void onEvent_ActionContextMenu(int   _Action,int   _ObjectType,COMVariant   _ObjectID,int   _CommandID,boolean   _CommandChecked,COMVariant   _CommandCaption,COMVariant   _CommandValue,COMVariant /*bool*/   _Cancel)
{
	;
	print( _Action );
	print( _ObjectID );
	print( _CommandID );
}

public void init()
{
	;

	super();

	exswimlane1.ContextMenu(4/*exContextMenuElement*/,"Item 1[id=1000],Item 2[id=2000]");
	exswimlane1.Background(90/*exElementBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Elements().Add("Element 1",COMVariant::createFromInt(0),COMVariant::createFromInt(0));
	exswimlane1.Elements().Add("Element 2",COMVariant::createFromInt(16),COMVariant::createFromInt(16));
}
17:
How can I show a different context-menu for element
public void init()
{
	;

	super();

	print( exswimlane1.Elements().Add("Element",COMVariant::createFromInt(0),COMVariant::createFromInt(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

public void init()
{
	;

	super();

	exswimlane1.DesignModes("Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2");
}
15:
How can I change the default header's background color

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-250),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
	exswimlane1.Background(120/*exPoolHorizontalHeaderBackColor*/,WinApi::RGB2int(0,255,0));
	exswimlane1.Background(124/*exPoolVerticalHeaderBackColor*/,WinApi::RGB2int(0,192,0));
	exswimlane1.EndUpdate();
}
14:
How can I remove the Design item from the control's toolbar, to be locked ( no-design )

public void init()
{
	;

	super();

	exswimlane1.ToolBarFormat("-1,100,101");
	exswimlane1.DesignMode(0/*exDesignLock*/);
}
13:
How can I remove/disable the Color and Display-Grid from the surface's context menu

public void init()
{
	str var_s;
	;

	super();

	var_s = "Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all element";
	var_s = var_s + "s from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the sur";
	var_s = var_s + "face])";
	exswimlane1.ContextMenu(24/*exContextMenuSurface*/,var_s);
}
12:
How can I change the element's context-menu when the user right-clicks the element

// ActionContextMenu event - Occurs when the user selects an item from the object's context menu.
void onEvent_ActionContextMenu(int   _Action,int   _ObjectType,COMVariant   _ObjectID,int   _CommandID,boolean   _CommandChecked,COMVariant   _CommandCaption,COMVariant   _CommandValue,COMVariant /*bool*/   _Cancel)
{
	// ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0)
	;
	print( _Action );
	print( _CommandCaption );
}

public void init()
{
	;

	super();

	exswimlane1.BeginUpdate();
	exswimlane1.Elements().Add("element",COMVariant::createFromInt(0),COMVariant::createFromInt(0));
	exswimlane1.ContextMenu(4/*exContextMenuElement*/,"Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])");
	exswimlane1.EndUpdate();
}
11:
How do I prevent showing the context-menu when user right-clicks the surface
public void init()
{
	;

	super();

	exswimlane1.ContextMenu(24/*exContextMenuSurface*/,"");
}
10:
How do I create parent-child (tree) lanes

public void init()
{
	COM com_HeaderLane,com_Lane,com_Lanes,com_Lanes1,com_Pool;
	anytype var_HeaderLane,var_Lane,var_Lanes,var_Lanes1,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-250),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		com_Pool.HeaderSize(1/*exHeaderTop*/,32);
		com_Pool.HeaderVisible(3/*exHeaderBottom*/,false);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = com_Lane.Children(); com_Lanes = var_Lanes;
			com_Lanes.Count(2);
			var_Lane = COM::createFromObject(com_Lanes.item(COMVariant::createFromInt(0))); com_Lane = var_Lane;
			var_Lanes1 = com_Lane.Children(); com_Lanes1 = var_Lanes1;
				com_Lanes1.Count(2);
				var_Lane = COM::createFromObject(com_Lanes1.item(COMVariant::createFromInt(0))); com_Lane = var_Lane;
				var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
				com_HeaderLane.Caption("Phase <b>1.1");
				var_Lane = COM::createFromObject(com_Lanes1.item(COMVariant::createFromInt(1))); com_Lane = var_Lane;
				var_HeaderLane = COM::createFromObject(com_Lane).Header(); com_HeaderLane = var_HeaderLane;
				com_HeaderLane.Caption("Phase <b>1.2");
	exswimlane1.EndUpdate();
}
9:
How do I create a pool with horizontal and lanes

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-250),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
	exswimlane1.EndUpdate();
}
8:
How do I add programatically a pool with horizontal lanes

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-250),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(0/*exLaneHorizontal*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
	exswimlane1.EndUpdate();
}
7:
How do I add programatically a pool with vertical lanes

public void init()
{
	COM com_Lane,com_Lanes,com_Pool;
	anytype var_Lane,var_Lanes,var_Pool;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Pool = COM::createFromObject(exswimlane1.Pools()).Add(COMVariant::createFromInt(-250),COMVariant::createFromInt(-150),COMVariant::createFromInt(500),COMVariant::createFromInt(250)); com_Pool = var_Pool;
		var_Lane = COM::createFromObject(com_Pool.Lane(1/*exLaneVertical*/)); com_Lane = var_Lane;
		var_Lanes = COM::createFromObject(com_Lane).Children(); com_Lanes = var_Lanes;
		com_Lanes.Count(4);
	exswimlane1.EndUpdate();
}
6:
How can I change the toolbar's visual appearance

public void init()
{
	;

	super();

	exswimlane1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exswimlane1.Background(148/*exToolBarAppearance*/,0x1000000);
	exswimlane1.Background(149/*exToolBarBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Background(150/*exToolBarForeColor*/,WinApi::RGB2int(40,40,40));
	exswimlane1.Background(153/*exToolBarButtonDownBackColor*/,0x1606060);
	exswimlane1.Background(154/*exToolBarButtonDownForeColor*/,WinApi::RGB2int(240,240,240));
	exswimlane1.Background(155/*exToolBarButtonHotBackColor*/,0x1a0a0a0);
	exswimlane1.Background(156/*exToolBarButtonHotForeColor*/,WinApi::RGB2int(255,255,255));
}
5:
How can I change the toolbar's background color

public void init()
{
	;

	super();

	exswimlane1.Background(149/*exToolBarBackColor*/,WinApi::RGB2int(255,255,255));
}
4:
How can I fit or ensure that all elements are in the control's client area
public void init()
{
	COM com_Element,com_Elements;
	anytype var_Element,var_Elements;
	;

	super();

	var_Elements = exswimlane1.Elements(); com_Elements = var_Elements;
		var_Element = COM::createFromObject(com_Elements.Add("Element A",COMVariant::createFromInt(-500),COMVariant::createFromInt(-500))); com_Element = var_Element;
		com_Element.BackColor(WinApi::RGB2int(0,255,0));
		var_Element = COM::createFromObject(com_Elements.Add("Element B",COMVariant::createFromInt(500),COMVariant::createFromInt(500))); com_Element = var_Element;
		com_Element.BackColor(WinApi::RGB2int(255,0,0));
		com_Elements.Add("Element C",COMVariant::createFromInt(48),COMVariant::createFromInt(24));
	exswimlane1.FitToClient();
}
3:
Context Menu - Microsoft Windows 8.1 - Ribbon Like

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Appearance = exswimlane1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_background.ebn");
		com_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_groupt.ebn");
		com_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_hot.ebn");
		com_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_select.ebn");
		com_Appearance.Add(17,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tab.ebn");
		com_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_tabhot.ebn");
		com_Appearance.Add(30,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio0.ebn");
		com_Appearance.Add(31,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_radio1.ebn");
		com_Appearance.Add(32,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check0.ebn");
		com_Appearance.Add(33,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_check1.ebn");
		com_Appearance.Add(34,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttonu.ebn");
		com_Appearance.Add(35,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSFlat-Ribbon/msfr_buttond.ebn");
	exswimlane1.Background(99/*exContextMenuAppearance*/,0x1000000);
	exswimlane1.Background(64/*exToolTipAppearance*/,0x1fefefe);
	exswimlane1.Background(102/*exContextMenuSelBackColor*/,0xe000000);
	exswimlane1.Background(148/*exToolBarAppearance*/,0x1000000);
	exswimlane1.Background(149/*exToolBarBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Background(155/*exToolBarButtonHotBackColor*/,0xc000000);
	exswimlane1.Background(153/*exToolBarButtonDownBackColor*/,0xe000000);
	exswimlane1.Background(110/*exContextMenuHotBackColor*/,0xc000000);
	exswimlane1.Background(112/*exContextMenuSelHotBackColor*/,0x23000000);
	exswimlane1.Background(2,0x22000000);
	exswimlane1.Background(3,0x23000000);
	exswimlane1.Background(70/*exCheckBoxState0*/,0x20000000);
	exswimlane1.Background(71/*exCheckBoxState1*/,0x21000000);
	exswimlane1.Background(73/*exRadioButtonState0*/,0x1e000000);
	exswimlane1.Background(74/*exRadioButtonState1*/,0x1f000000);
	exswimlane1.EndUpdate();
}
2:
Context Menu - Microsoft Paint - Ribbon Like

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Appearance = exswimlane1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_background.ebn");
		com_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupt.ebn");
		com_Appearance.Add(3,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_groupo.ebn");
		com_Appearance.Add(4,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_grouphot.ebn");
		com_Appearance.Add(5,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameh.ebn");
		com_Appearance.Add(6,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehs.ebn");
		com_Appearance.Add(7,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehi.ebn");
		com_Appearance.Add(8,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framehe.ebn");
		com_Appearance.Add(9,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevs.ebn");
		com_Appearance.Add(10,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_framevi.ebn");
		com_Appearance.Add(11,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_frameve.ebn");
		com_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_select.ebn");
		com_Appearance.Add(13,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_bordert.ebn");
		com_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttond.ebn");
		com_Appearance.Add(15,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_buttonu.ebn");
		com_Appearance.Add(16,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tab.ebn");
		com_Appearance.Add(17,"CP:16 0 0 0 1");
		com_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabhot.ebn");
		com_Appearance.Add(19,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSPaint-Ribbon/mspr_tabselhot.ebn");
		com_Appearance.Add(20,"CP:19 0 0 0 1");
	exswimlane1.Background(99/*exContextMenuAppearance*/,0x1000000);
	exswimlane1.Background(101/*exContextMenuForeColor*/,WinApi::RGB2int(21,66,139));
	exswimlane1.Background(102/*exContextMenuSelBackColor*/,0xe000000);
	exswimlane1.Background(64/*exToolTipAppearance*/,0x1fefefe);
	exswimlane1.Background(148/*exToolBarAppearance*/,0x1000000);
	exswimlane1.Background(149/*exToolBarBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Background(155/*exToolBarButtonHotBackColor*/,0xd000000);
	exswimlane1.Background(153/*exToolBarButtonDownBackColor*/,0x1000000);
	exswimlane1.Background(2,0xd000000);
	exswimlane1.Background(105/*exContextMenuGroupPopupFrameSingle*/,0x5000000);
	exswimlane1.Background(106/*exContextMenuGroupPopupFrameHStart*/,0x6000000);
	exswimlane1.Background(107/*exContextMenuGroupPopupFrameHIntermediate*/,0x7000000);
	exswimlane1.Background(108/*exContextMenuGroupPopupFrameHEnd*/,0x8000000);
	exswimlane1.Background(116/*exContextMenuGroupPopupFrameVStart*/,0x9000000);
	exswimlane1.Background(117/*exContextMenuGroupPopupFrameVIntermediate*/,0xa000000);
	exswimlane1.Background(118/*exContextMenuGroupPopupFrameVEnd*/,0xb000000);
	exswimlane1.Background(110/*exContextMenuHotBackColor*/,0xc000000);
	exswimlane1.Background(112/*exContextMenuSelHotBackColor*/,0xf000000);
	exswimlane1.EndUpdate();
}
1:
Context Menu - Microsoft Office - Ribbon Like

public void init()
{
	COM com_Appearance;
	anytype var_Appearance;
	;

	super();

	exswimlane1.BeginUpdate();
	var_Appearance = exswimlane1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_background.ebn");
		com_Appearance.Add(2,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupt.ebn");
		com_Appearance.Add(3,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_groupo.ebn");
		com_Appearance.Add(4,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_grouphot.ebn");
		com_Appearance.Add(5,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameh.ebn");
		com_Appearance.Add(6,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehs.ebn");
		com_Appearance.Add(7,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehi.ebn");
		com_Appearance.Add(8,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framehe.ebn");
		com_Appearance.Add(9,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevs.ebn");
		com_Appearance.Add(10,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_framevi.ebn");
		com_Appearance.Add(11,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_frameve.ebn");
		com_Appearance.Add(12,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_select.ebn");
		com_Appearance.Add(13,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_bordert.ebn");
		com_Appearance.Add(14,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttond.ebn");
		com_Appearance.Add(15,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_buttonu.ebn");
		com_Appearance.Add(16,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tab.ebn");
		com_Appearance.Add(17,"CP:16 0 0 0 1");
		com_Appearance.Add(18,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabhot.ebn");
		com_Appearance.Add(19,"C:/Program Files/Exontrol/ExSwimLane/Sample/EBN/MSOffice-Ribbon/msor_tabselhot.ebn");
		com_Appearance.Add(20,"CP:19 0 0 0 1");
	exswimlane1.Background(99/*exContextMenuAppearance*/,0x1000000);
	exswimlane1.Background(101/*exContextMenuForeColor*/,WinApi::RGB2int(21,66,139));
	exswimlane1.Background(64/*exToolTipAppearance*/,0x1fefefe);
	exswimlane1.Background(148/*exToolBarAppearance*/,0x1000000);
	exswimlane1.Background(149/*exToolBarBackColor*/,WinApi::RGB2int(255,255,255));
	exswimlane1.Background(155/*exToolBarButtonHotBackColor*/,0xd000000);
	exswimlane1.Background(153/*exToolBarButtonDownBackColor*/,0x1000000);
	exswimlane1.Background(2,0xd000000);
	exswimlane1.Background(3,0x1000000);
	exswimlane1.Background(105/*exContextMenuGroupPopupFrameSingle*/,0x5000000);
	exswimlane1.Background(106/*exContextMenuGroupPopupFrameHStart*/,0x6000000);
	exswimlane1.Background(107/*exContextMenuGroupPopupFrameHIntermediate*/,0x7000000);
	exswimlane1.Background(108/*exContextMenuGroupPopupFrameHEnd*/,0x8000000);
	exswimlane1.Background(116/*exContextMenuGroupPopupFrameVStart*/,0x9000000);
	exswimlane1.Background(117/*exContextMenuGroupPopupFrameVIntermediate*/,0xa000000);
	exswimlane1.Background(118/*exContextMenuGroupPopupFrameVEnd*/,0xb000000);
	exswimlane1.Background(110/*exContextMenuHotBackColor*/,0xc000000);
	exswimlane1.Background(102/*exContextMenuSelBackColor*/,0xe000000);
	exswimlane1.Background(112/*exContextMenuSelHotBackColor*/,0xf000000);
	exswimlane1.EndUpdate();
}