104
Fullfit the caption on the element's width

Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant(String("<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</s") +
"olidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)"),TNoParam(),TNoParam());
	var_Element->CaptionSingleLine = Exswimlanelib_tlb::CaptionSingleLineEnum::exCaptionBreakWrap;
	var_Element->BackColor = RGB(248,248,248);
	var_Element->AutoSize = false;
	var_Element->Width = 194;
	var_Element->Height = 76;
	var_Element->CaptionAlign = Exswimlanelib_tlb::ContentAlignmentEnum(0x4);

103
Wrap the caption by <br> or "\r\n" sequence only

Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant(String("<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</s") +
"olidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)"),TNoParam(),TNoParam());
	var_Element->CaptionSingleLine = Exswimlanelib_tlb::CaptionSingleLineEnum::exCaptionBreakWrap;
	var_Element->BackColor = RGB(248,248,248);

102
Display a custom tooltip
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	SwimLane1->ShowToolTip(L"new content",TVariant(""),TNoParam(),TVariant("+8"),TVariant("+8"));
}


101
Shows the tooltip of the object moved relative to its default position
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	SwimLane1->ShowToolTip(L"<null>",TVariant("<null>"),TNoParam(),TVariant("+8"),TVariant("+8"));
}

SwimLane1->Elements->Add(TVariant("Element with a Tooltip"),TNoParam(),TNoParam())->ToolTip = L"This is a bit of text that should be displayed when cursor hovers the element.";

100
Add a pool to cover all visible-elements

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Pools->Add(TNoParam(),TNoParam(),TNoParam(),TNoParam())->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,24);
SwimLane1->EndUpdate();

99
How can I ensure that a specified pool fits the surface's visible area
Exswimlanelib_tlb::IPoolsPtr var_Pools = SwimLane1->Pools;
	Exswimlanelib_tlb::IPatternPtr var_Pattern = var_Pools->Add(TNoParam(),TNoParam(),TNoParam(),TNoParam())->Pattern;
		var_Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternBDiagonal;
		var_Pattern->Color = RGB(224,224,224);
	var_Pools->Add(TVariant(2000),TNoParam(),TNoParam(),TNoParam())->EnsureVisible();

98
No property for the pool can be saved/restored through Undo/Redo feature

SwimLane1->AllowUndoRedo = true;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-54),TVariant(-47),TVariant(244),TVariant(112));
	long l = var_Pool->StartUpdatePool;
	Exswimlanelib_tlb::ILanePtr var_Lane = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical);
		var_Lane->Color = RGB(240,240,240);
		var_Lane->Children->Count = 2;
	var_Pool->EndUpdatePool(l);

97
Rename Undo/Redo commands into the control's toolbar

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->ToolBarFormat = L"-1,100,102,101,|,103,104";
SwimLane1->ToolBarCaption[103] = L"Anuleaza <img>4</img>";
SwimLane1->ToolBarCaption[104] = L"<img>5</img>Reface";
SwimLane1->ToolBarToolTip[103] = L"Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z.";
SwimLane1->ToolBarToolTip[104] = L"Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y.";
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->EndUpdate();

96
Add Undo/Redo commands to control's toolbar

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->ToolBarFormat = L"-1,100,102,101,|,103,104";
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->EndUpdate();

95
Clear Undo/Redo queue (method 2)

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
long c = SwimLane1->UndoRedoQueueLength;
SwimLane1->UndoRedoQueueLength = 0;
SwimLane1->UndoRedoQueueLength = c;
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

94
Clear Undo/Redo queue (method 1)

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->AllowUndoRedo = true;
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

93
Removes Redo operations

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Undo();
SwimLane1->RedoRemoveAction(TVariant(10),TNoParam());
OutputDebugString( SwimLane1->RedoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

92
Removes Undo operations

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->UndoRemoveAction(TVariant(10),TNoParam());
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

91
Record the UI operations as a block of undo/redo operations

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->StartBlockUndoRedo();
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->EndBlockUndoRedo();
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

90
Groups the next to current Undo/Redo Actions in a single block

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->GroupUndoRedoActions(3);
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

89
Limits the number of entries within the Undo/Redo queue

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->UndoRedoQueueLength = 1;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

88
Lists the Redo actions that can be performed on the surface

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Undo();
OutputDebugString( SwimLane1->RedoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

87
Lists the Undo actions that can be performed on the surface

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
OutputDebugString( SwimLane1->UndoListAction[TNoParam(),TNoParam()] );
SwimLane1->EndUpdate();

86
Checks whether the Undo operation is possible

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Undo();
OutputDebugString( L"CanRedo" );
OutputDebugString( PChar(SwimLane1->CanRedo) );
SwimLane1->EndUpdate();

85
Call Redo by code

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Undo();
SwimLane1->Redo();
SwimLane1->EndUpdate();

84
Checks whether the Undo operation is possible

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
OutputDebugString( L"CanUndo" );
OutputDebugString( PChar(SwimLane1->CanUndo) );
SwimLane1->EndUpdate();

83
Call Undo by code

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->Undo();
SwimLane1->EndUpdate();

82
Save the element's properties for Undo/Redo operations, by code

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->StartBlockUndoRedo();
Exswimlanelib_tlb::ILinkPtr var_Link = SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	long h = var_Link->StartUpdateLink;
	var_Link->Color = RGB(255,0,0);
	var_Link->Width = 2;
	var_Link->ShowDir = false;
	var_Link->ShowLinkType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkStraight;
	var_Link->EndUpdateLink(h);
SwimLane1->EndBlockUndoRedo();
SwimLane1->EndUpdate();

81
No color is restored for the link when Undo/Redo operation is executed

// AddElement event - A new element has been added to the surface.
void __fastcall TForm1::SwimLane1AddElement(TObject *Sender,Exswimlanelib_tlb::IElement   *Element)
{
	// Element.ShowCheckBox = True
	// Element.CheckBoxAlign = 2
}

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Check <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Check <b>2"),TNoParam(),TNoParam())->Checked = Exswimlanelib_tlb::CheckStateEnum::exChecked;
SwimLane1->StartBlockUndoRedo();
Exswimlanelib_tlb::ILinkPtr var_Link = SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	long h = var_Link->StartUpdateLink;
	var_Link->Color = RGB(255,0,0);
	var_Link->Width = 2;
	var_Link->ShowDir = false;
	var_Link->ShowLinkType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkStraight;
	var_Link->EndUpdateLink(h);
SwimLane1->EndBlockUndoRedo();
SwimLane1->EndUpdate();

80
Save the element's properties for Undo/Redo operations, by code

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
SwimLane1->StartBlockUndoRedo();
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
	long h = var_Element->StartUpdateElement;
	var_Element->BackColor = RGB(0,0,0);
	var_Element->ForeColor = RGB(255,255,255);
	var_Element->BorderColor = RGB(255,0,0);
	var_Element->EndUpdateElement(h);
SwimLane1->EndBlockUndoRedo();
SwimLane1->EndUpdate();

79
No color is restored for the element when Undo/Redo operation is executed

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
SwimLane1->StartBlockUndoRedo();
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
	long h = var_Element->StartUpdateElement;
	var_Element->BackColor = RGB(0,0,0);
	var_Element->ForeColor = RGB(255,255,255);
	var_Element->BorderColor = RGB(255,0,0);
	var_Element->EndUpdateElement(h);
SwimLane1->EndBlockUndoRedo();
SwimLane1->EndUpdate();

78
How can I ensure that a specified element fits the surface's visible area

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IPatternPtr var_Pattern = var_Elements->Add(TVariant("Element A"),TVariant(-100),TNoParam())->Pattern;
		var_Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternBDiagonal;
		var_Pattern->Color = RGB(224,224,224);
	var_Elements->Add(TVariant("Element B"),TVariant(2000),TNoParam())->EnsureVisible();

77
LayoutEndChanging(exUndo), LayoutEndChanging(exRedo) or LayoutEndChanging(exUndoRedoUpdate) notifiy your application once a Undo/Redo operation is executed (CTRL+Z, CTRL+Y) or updated
// LayoutEndChanging event - Notifies your application once the control's layout has been changed.
void __fastcall TForm1::SwimLane1LayoutEndChanging(TObject *Sender,Exswimlanelib_tlb::LayoutChangingEnum   Operation)
{
	OutputDebugString( L"LayoutEndChanging" );
	OutputDebugString( L"Operation" );
}

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->EndUpdate();

76
Turn on the Undo/Redo feature

SwimLane1->BeginUpdate();
SwimLane1->AllowUndoRedo = true;
SwimLane1->Pools->Add(TVariant(-154),TVariant(-82),TVariant(244),TVariant(122));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Item <b>1"),TVariant(-64),TVariant(-64));
	var_Elements->Add(TVariant("Item <b>2"),TNoParam(),TNoParam());
SwimLane1->Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->EndUpdate();

75
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddElement event - A new element has been added to the surface.
void __fastcall TForm1::SwimLane1AddElement(TObject *Sender,Exswimlanelib_tlb::IElement   *Element)
{
	// Element.ShowCheckBox = True
}

SwimLane1->BeginUpdate();
SwimLane1->ImageSize = 32;
SwimLane1->Font->Size = TVariant(long(16));
SwimLane1->ContextMenuFont->Size = TVariant(long(16));
SwimLane1->Images(TVariant(String("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOq") +
"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"));
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7E" +
"MRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDx" +
"RDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFY" +
"FoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4U" +
"kmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" +
"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A" +
"0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh" +
"8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2" +
"UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ=="));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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" +
"gRBCCQAgQEA=="));
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj") +
"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"));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH") +
"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKB" +
"UrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo" +
"3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDs" +
"YYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoV" +
"mWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" +
"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZi" +
"Se41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbh" +
"FCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA=="));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exCheckBoxState0] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exCheckBoxState1] = 0x2000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exCheckBoxState2] = 0x3000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelBackColor] = 0x4000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exContextMenuSelForeColor] = RGB(1,0,0);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element Check 2"),TNoParam(),TNoParam());
		var_Element->Checked = Exswimlanelib_tlb::CheckStateEnum::exChecked;
		var_Element->Pictures = L"1,2";
SwimLane1->Home();
SwimLane1->EndUpdate();

74
ImageSize property on 16 (default) (specifies the size of control' icons)

// AddElement event - A new element has been added to the surface.
void __fastcall TForm1::SwimLane1AddElement(TObject *Sender,Exswimlanelib_tlb::IElement   *Element)
{
	// Element.ShowCheckBox = True
}

SwimLane1->BeginUpdate();
SwimLane1->ImageSize = 16;
SwimLane1->Images(TVariant(String("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq") +
"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="));
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element Check 2"),TNoParam(),TNoParam());
		var_Element->Checked = Exswimlanelib_tlb::CheckStateEnum::exChecked;
		var_Element->Pictures = L"1,2";
SwimLane1->Home();
SwimLane1->EndUpdate();

73
We want to have option to start/end connectors at the middle of each side of the elements
SwimLane1->BeginUpdate();
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowLinks;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

72
How can I determine the position the user clicks within the element's boundaries (Click event)

// Click event - Occurs when the user presses and then releases the left mouse button over the control.
void __fastcall TForm1::SwimLane1Click(TObject *Sender)
{
	_tlb::ObjectPtr e = SwimLane1->ElementFromPoint[-1,-1];
	String X = -1;
	String Y = -1;
	SwimLane1->PointToPosition(X,Y);
	OutputDebugString( L"e" );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
}

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element 1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element 2"),TVariant(128),TVariant(64));
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

71
How can I determine the position the user clicks within the element's boundaries (MouseMove event)

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	_tlb::ObjectPtr e = SwimLane1->ElementFromPoint[X,Y];
	SwimLane1->PointToPosition(X,Y);
	OutputDebugString( L"e" );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
}

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element 1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element 2"),TVariant(128),TVariant(64));
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

70
How can I convert the screen position (mouse) to surface position

// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	OutputDebugString( L"Point " );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
	SwimLane1->PointToPosition(X,Y);
	OutputDebugString( L"Position " );
	OutputDebugString( L"X" );
	OutputDebugString( L"Y" );
}

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
SwimLane1->FitToClient();
SwimLane1->AxisStyle = Exswimlanelib_tlb::LinesStyleEnum::exLinesSolid;
SwimLane1->AxisColor = RGB(128,128,128);
SwimLane1->EndUpdate();

69
Is is possible to show just the positive coordinates

SwimLane1->BeginUpdate();
SwimLane1->Coord = Exswimlanelib_tlb::CoordEnum::exAllowPositiveOnly | Exswimlanelib_tlb::CoordEnum::exCartesian;
SwimLane1->AxisColor = RGB(128,128,128);
SwimLane1->AxisStyle = Exswimlanelib_tlb::LinesStyleEnum::exLinesThick | Exswimlanelib_tlb::LinesStyleEnum::exLinesDot;
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowLinks;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

68
Cartesian coordinates (positive coordinates are shown top-right to the origin)

SwimLane1->BeginUpdate();
SwimLane1->Coord = Exswimlanelib_tlb::CoordEnum::exCartesian;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

67
Default coordinates (positive coordinates are shown bottom-right to the origin)

SwimLane1->BeginUpdate();
SwimLane1->Coord = Exswimlanelib_tlb::CoordEnum::exDefCoord;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

66
Is it possible to customize the path of the links orthogonally similar with Microsoft Visio tool

SwimLane1->BeginUpdate();
SwimLane1->AllowLinkControlPoint = Exswimlanelib_tlb::LinkControlPointEnum::exOrthoArrange | Exswimlanelib_tlb::LinkControlPointEnum::exMiddleControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exEndControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exStartControlPoint;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>1"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>2"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>3"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
SwimLane1->Zoom = 200;
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

65
Does your control supports OLE Drag and Drop
// OLEDragDrop event - Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
void __fastcall TForm1::SwimLane1OLEDragDrop(TObject *Sender,Exswimlanelib_tlb::IExDataObject   *Data,long *   Effect,short   Button,short   Shift,int   X,int   Y)
{
	OutputDebugString( L"Data" );
}

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::SwimLane1OLEStartDrag(TObject *Sender,Exswimlanelib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("some data to drag")
}

SwimLane1->BeginUpdate();
SwimLane1->OLEDropMode = Exswimlanelib_tlb::exOLEDropModeEnum::exOLEDropManual;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 2;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 1;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>"),TNoParam(),TNoParam());
		var_Element->CaptionSingleLine = Exswimlanelib_tlb::CaptionSingleLineEnum::exCaptionWordWrap;
		var_Element->AutoSize = false;
		var_Element->X = -125;
		var_Element->Y = -105;
		var_Element->Width = 256;
		var_Element->Height = 56;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>"),TNoParam(),TNoParam());
		var_Element1->CaptionSingleLine = Exswimlanelib_tlb::CaptionSingleLineEnum::exCaptionWordWrap;
		var_Element1->AutoSize = false;
		var_Element1->X = -125;
		var_Element1->Width = 256;
		var_Element1->Height = 56;
SwimLane1->EndUpdate();

64
Is it possible to disable customizing the path of a specified link

SwimLane1->BeginUpdate();
SwimLane1->AllowLinkControlPoint = Exswimlanelib_tlb::LinkControlPointEnum(0xffffffe0 | Exswimlanelib_tlb::LinkControlPointEnum::exOrthoArrange | Exswimlanelib_tlb::LinkControlPointEnum::exMiddleControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exEndControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exStartControlPoint);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam())->set_CustomPath(TVariant("0.5,0.25,0.5,.75"));
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam())->set_CustomPath(TVariant("0.5,0.25,0.5,.75"));
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link->ShowLinkType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkRound;
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
		var_Link->Color = RGB(128,128,128);
		var_Link->AllowControlPoint = Exswimlanelib_tlb::LinkControlPointEnum::exNoControlPoint;
SwimLane1->Zoom = 200;
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

63
How do I let user customizes the link's path

SwimLane1->BeginUpdate();
SwimLane1->AllowLinkControlPoint = Exswimlanelib_tlb::LinkControlPointEnum(0xffffffe0 | Exswimlanelib_tlb::LinkControlPointEnum::exOrthoArrange | Exswimlanelib_tlb::LinkControlPointEnum::exMiddleControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exEndControlPoint | Exswimlanelib_tlb::LinkControlPointEnum::exStartControlPoint);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(164),TVariant(64));
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(132));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam())->set_CustomPath(TVariant("0.5,0.25,0.5,.75"));
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam())->set_CustomPath(TVariant("0.5,0.25,0.5,.75"));
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link->ShowLinkType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkRound;
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
SwimLane1->Zoom = 200;
SwimLane1->FitToClient();
SwimLane1->EndUpdate();

62
How can I generate a picture/image/graph from my diagram
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("E"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("F"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("E")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("F")),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeCompact] = TVariant(false);
SwimLane1->Arrange(TNoParam());
TVariant var_CopyTo = TVariant(SwimLane1->CopyTo[L"c:/temp/xtest.jpg"]);
OutputDebugString( L"!!!check the file c:/temp/xtest.jpg!!!" );

61
How can I generate a picture/image/graph from my diagram
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("E"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("F"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("E")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("F")),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeCompact] = TVariant(false);
SwimLane1->Arrange(TNoParam());
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		ExPrint 1.0 Control Library

	TypeLib: ExPrint.dll

	to define the namespace: Exprintlib_tlb
*/
//#include "EXPRINTLIB_TLB.h"
Exprintlib_tlb::IExPrintPtr var_Print = Variant::CreateObject(L"Exontrol.Print");
	var_Print->PrintExt = (IUnknown*)SwimLane1->DefaultDispatch;
	var_Print->CopyTo(L"c:/temp/xtest.jpg");
OutputDebugString( L"!!!check the file c:/temp/xtest.jpg!!!" );

60
How can I print the component
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(76));
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(-76),TVariant(32));
		var_Element->AutoSize = false;
		var_Element->Height = 32;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Element <sha ;;0>D"),TVariant(76),TVariant(32));
		var_Element1->AutoSize = false;
		var_Element1->Height = 32;
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	Exswimlanelib_tlb::ILinkPtr var_Link1 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link1->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link1->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
	Exswimlanelib_tlb::ILinkPtr var_Link2 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(4)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
		var_Link2->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
		var_Link2->EndPos = Exswimlanelib_tlb::AlignmentEnum::RightAlignment;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		ExPrint 1.0 Control Library

	TypeLib: ExPrint.dll

	to define the namespace: Exprintlib_tlb
*/
//#include "EXPRINTLIB_TLB.h"
Exprintlib_tlb::IExPrintPtr var_Print = Variant::CreateObject(L"Exontrol.Print");
	var_Print->PrintExt = (IUnknown*)SwimLane1->DefaultDispatch;
	var_Print->Preview();

59
How can I show direct-links

SwimLane1->ShowLinksType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkDirect;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TVariant(128),TVariant(64))->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TVariant(128),TVariant(-64))->set_ID(TVariant("C"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());

58
How can I show straight-links

SwimLane1->ShowLinksType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkStraight;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TVariant(128),TVariant(64))->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TVariant(128),TVariant(-64))->set_ID(TVariant("C"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());

57
How can I show round-links

SwimLane1->ShowLinksType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkRound;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TVariant(128),TVariant(64))->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TVariant(128),TVariant(-64))->set_ID(TVariant("C"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());

56
I've tried to insert a "<br>" in the Caption property text and it just ignores it

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("caption"),TNoParam(),TNoParam());
		var_Element->CaptionSingleLine = Exswimlanelib_tlb::CaptionSingleLineEnum::exCaptionWordWrap;
		var_Element->Caption = L"first caption<br>second caption<br>third caption";
SwimLane1->EndUpdate();

55
How do I align the extra-caption

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("caption"),TNoParam(),TNoParam());
		var_Element->CaptionAlign = Exswimlanelib_tlb::ContentAlignmentEnum::exTopLeft;
		var_Element->AutoSize = false;
		var_Element->Width = 128;
		var_Element->Height = 64;
		var_Element->ExtraCaption = L"extra-caption";
		var_Element->ExtraCaptionAlign = Exswimlanelib_tlb::ContentAlignmentEnum::exBottomRight;
SwimLane1->EndUpdate();

54
How can I add an extra caption

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("caption"),TNoParam(),TNoParam())->ExtraCaption = L"extra-caption";
SwimLane1->EndUpdate();

53
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
SwimLane1->BeginUpdate();
SwimLane1->AllowMoveNeighbors = Exswimlanelib_tlb::MoveNeighborsEnum::exMoveNeighborsHorizontally;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDir] = TVariant(1);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B ( move it )"),TVariant(16),TVariant(32));
	var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(128),TVariant(0));
SwimLane1->EndUpdate();

52
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
SwimLane1->BeginUpdate();
SwimLane1->AllowMoveNeighbors = Exswimlanelib_tlb::MoveNeighborsEnum::exMoveNeighborsVertically;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDX] = TVariant(0);
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDY] = TVariant(0);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B ( move it )"),TVariant(0),TVariant(32));
	var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(0),TVariant(64));
SwimLane1->EndUpdate();

51
How do I enable the reserve-neighbors feature
SwimLane1->BeginUpdate();
SwimLane1->AllowMoveNeighbors = Exswimlanelib_tlb::MoveNeighborsEnum::exMoveNeighborsVertically;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B ( move it )"),TVariant(0),TVariant(32));
	var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(0),TVariant(64));
SwimLane1->EndUpdate();

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("E"));
	var_Elements->Add(TVariant("Element E"),TNoParam(),TNoParam())->set_ID(TVariant("F"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("E")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("F")),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeCompact] = TVariant(false);
SwimLane1->Arrange(TNoParam());

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

SwimLane1->BeginUpdate();
SwimLane1->DefPoolHeaderCaptionFormat[true] = L"<fgcolor 808080>Faza <off -4><b><font ;6>%i";
SwimLane1->DefPoolHeaderCaptionFormat[false] = L"<fgcolor 808080>Culoar <off -4><b><font ;6>%i";
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(180));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 3;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->get_Item(TVariant(1))->Header->Caption = L"<fgcolor FF0000><b>NEW";
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("element 1"),TVariant(200),TVariant(200));
	var_Element->set_LaneID(true,TVariant("0:H.0,0:V.0"));
Exswimlanelib_tlb::IElementPtr var_Element1 = SwimLane1->Elements->Add(TVariant("element 2"),TVariant(200),TVariant(200));
	var_Element1->set_LaneID(true,TVariant("0:H.2,0:V.2"));
SwimLane1->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 __fastcall TForm1::SwimLane1AddLink(TObject *Sender,Exswimlanelib_tlb::ILink   *Link)
{
}

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(48),TVariant(48));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(48),TVariant(48));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::DownAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::UpAlignment;

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(76));
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(-76),TVariant(32));
		var_Element->AutoSize = false;
		var_Element->Height = 32;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Element <sha ;;0>D"),TVariant(76),TVariant(32));
		var_Element1->AutoSize = false;
		var_Element1->Height = 32;
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	Exswimlanelib_tlb::ILinkPtr var_Link1 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link1->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link1->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
	Exswimlanelib_tlb::ILinkPtr var_Link2 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(4)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
		var_Link2->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
		var_Link2->EndPos = Exswimlanelib_tlb::AlignmentEnum::RightAlignment;
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowCrossLinksMixt | Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowExtendedLinks;

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(76));
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(-76),TVariant(32));
		var_Element->AutoSize = false;
		var_Element->Height = 32;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Element <sha ;;0>D"),TVariant(76),TVariant(32));
		var_Element1->AutoSize = false;
		var_Element1->Height = 32;
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	Exswimlanelib_tlb::ILinkPtr var_Link1 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link1->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link1->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
	Exswimlanelib_tlb::ILinkPtr var_Link2 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(4)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
		var_Link2->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
		var_Link2->EndPos = Exswimlanelib_tlb::AlignmentEnum::RightAlignment;
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowCrossLinksTriangle | Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowExtendedLinks;

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(76));
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("Element <sha ;;0>C"),TVariant(-76),TVariant(32));
		var_Element->AutoSize = false;
		var_Element->Height = 32;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("Element <sha ;;0>D"),TVariant(76),TVariant(32));
		var_Element1->AutoSize = false;
		var_Element1->Height = 32;
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	Exswimlanelib_tlb::ILinkPtr var_Link1 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());
		var_Link1->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link1->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(3)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
	Exswimlanelib_tlb::ILinkPtr var_Link2 = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(4)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
		var_Link2->StartPos = Exswimlanelib_tlb::AlignmentEnum::LeftAlignment;
		var_Link2->EndPos = Exswimlanelib_tlb::AlignmentEnum::RightAlignment;
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowCrossLinksRect | Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowExtendedLinks;

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(0),TVariant(64));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	Exswimlanelib_tlb::ILinkPtr var_Link = var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
		var_Link->StartPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;
		var_Link->EndPos = Exswimlanelib_tlb::AlignmentEnum::CenterAlignment;

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->ShowLinks = Exswimlanelib_tlb::ShowExtendedLinksEnum::exShowLinks;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDir] = TVariant(1);
SwimLane1->Arrange(TNoParam());

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

SwimLane1->BeginUpdate();
SwimLane1->ShowGridLines = true;
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	TVariant h1 = TVariant(var_Elements->Add(TVariant("Top Alignment"),TNoParam(),TNoParam())->get_ID());
	var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
	TVariant h2 = TVariant(var_Elements->Add(TVariant("Center Alignment"),TNoParam(),TVariant(96))->get_ID());
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(96));
	TVariant h3 = TVariant(var_Elements->Add(TVariant("Bottom Alignment"),TNoParam(),TVariant(178))->get_ID());
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
	var_Elements->Add(TVariant("Element"),TNoParam(),TVariant(192));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(4)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(2)),SwimLane1->Elements->get_Item(TVariant(3)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(5)),SwimLane1->Elements->get_Item(TVariant(6)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(5)),SwimLane1->Elements->get_Item(TVariant(7)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(6)),SwimLane1->Elements->get_Item(TVariant(8)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(6)),SwimLane1->Elements->get_Item(TVariant(7)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(9)),SwimLane1->Elements->get_Item(TVariant(10)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(9)),SwimLane1->Elements->get_Item(TVariant(11)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(10)),SwimLane1->Elements->get_Item(TVariant(12)),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(10)),SwimLane1->Elements->get_Item(TVariant(11)),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(0);
SwimLane1->Arrange(TVariant(h1));
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(1);
SwimLane1->Arrange(TVariant(h2));
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeAlign] = TVariant(2);
SwimLane1->Arrange(TVariant(h3));
SwimLane1->EndUpdate();

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->Arrange(TNoParam());

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDX] = TVariant(0);
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDY] = TVariant(0);
SwimLane1->Arrange(TNoParam());

38
How do I organize vertically the elements

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element A"),TNoParam(),TNoParam())->set_ID(TVariant("A"));
	var_Elements->Add(TVariant("Element B"),TNoParam(),TNoParam())->set_ID(TVariant("B"));
	var_Elements->Add(TVariant("Element C"),TNoParam(),TNoParam())->set_ID(TVariant("C"));
	var_Elements->Add(TVariant("Element D"),TNoParam(),TNoParam())->set_ID(TVariant("D"));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("B")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("A")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("D")),TNoParam());
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant("B")),SwimLane1->Elements->get_Item(TVariant("C")),TNoParam());
SwimLane1->ShowLinksType = Exswimlanelib_tlb::ShowLinkTypeEnum::exLinkStraight;
SwimLane1->DefArrange[Exswimlanelib_tlb::DefArrangeEnum::exDefArrangeDir] = TVariant(1);
SwimLane1->Arrange(TNoParam());

37
How can I add programatically a link

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(96),TVariant(24));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());

36
How do I get the link from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::SwimLane1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	_tlb::ObjectPtr l = SwimLane1->LinkFromPoint[-1,-1];
	OutputDebugString( L"l" );
}

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element <sha ;;0>A"),TNoParam(),TNoParam());
	var_Elements->Add(TVariant("Element <sha ;;0>B"),TVariant(96),TVariant(24));
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(2)),TNoParam());

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

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
Exswimlanelib_tlb::ILinksPtr var_Links = SwimLane1->Links;
	var_Links->Add(SwimLane1->Elements->get_Item(TVariant(1)),SwimLane1->Elements->get_Item(TVariant(1)),TNoParam());

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

SwimLane1->BeginUpdate();
SwimLane1->AllowDesignHeader = Exswimlanelib_tlb::AllowDesignHeaderEnum::exDesignHeaderSingle;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
	var_Pool->HeaderCaptionSupportRotate = false;
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,48);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,48);
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();

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

SwimLane1->BeginUpdate();
SwimLane1->AllowDesignHeader = Exswimlanelib_tlb::AllowDesignHeaderEnum::exDesignHeaderSingle;
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,32);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,32);
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();

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

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
	Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
		var_Lanes->Count = 3;
		var_Lanes->get_Item(TVariant(1))->Header->Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternFrameThick;
SwimLane1->EndUpdate();

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

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(150));
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
	Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
		var_Lanes->Count = 3;
		var_Lanes->get_Item(TVariant(1))->Pattern->Type = Exswimlanelib_tlb::PatternEnum::exPatternFrameThick;
SwimLane1->EndUpdate();

30
How can I define sub-lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(300),TVariant(250));
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,32);
	Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
		var_Lanes->Count = 3;
		var_Lanes->get_Item(TVariant(1))->Children->Count = 2;
SwimLane1->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 __fastcall TForm1::SwimLane1AddPool(TObject *Sender,Exswimlanelib_tlb::IPool   *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
}

SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
SwimLane1->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 __fastcall TForm1::SwimLane1AddPool(TObject *Sender,Exswimlanelib_tlb::IPool   *Pool)
{
}

SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250))->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
SwimLane1->EndUpdate();

27
How can I display icons on headers

SwimLane1->BeginUpdate();
SwimLane1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
	var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderLeft,false);
	var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderRight,false);
	var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,false);
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,24);
	Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
		var_Lanes->Count = 3;
		var_Lanes->get_Item(TVariant(0))->Header->Caption = L"<img>1</img> A";
		var_Lanes->get_Item(TVariant(1))->Header->Caption = L"<img>2</img> B";
		var_Lanes->get_Item(TVariant(2))->Header->Caption = L"<img>3</img> C";
SwimLane1->EndUpdate();

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

SwimLane1->BeginUpdate();
SwimLane1->DefPoolHeaderCaptionFormat[true] = L"<fgcolor 808080>Faza <off -4><b><font ;6>%i";
SwimLane1->DefPoolHeaderCaptionFormat[false] = L"<fgcolor 808080>Culoar <off -4><b><font ;6>%i";
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-100),TVariant(-100),TVariant(250),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 3;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->get_Item(TVariant(1))->Header->Caption = L"<fgcolor FF0000><b>NEW";
SwimLane1->EndUpdate();

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

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam());
	var_Element->Caption = L"Enlarged Element";
	var_Element->InflateSize = 16;

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

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam());
	var_Element->Caption = L"Enlarged Element";
	var_Element->set_Padding(Exswimlanelib_tlb::PaddingEdgeEnum::exPaddingAll,16);

23
How can I get the lane of the element

SwimLane1->BeginUpdate();
SwimLane1->Pools->Add(TVariant(-150),TVariant(-150),TVariant(500),TVariant(250))->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 3;
Exswimlanelib_tlb::IElementPtr var_Element = SwimLane1->Elements->Add(TVariant("Element"),TNoParam(),TNoParam());
	var_Element->CenterOnLane(false);
	TVariant lane = TVariant(var_Element->get_LaneID(false));
	OutputDebugString( SwimLane1->get_LaneByID(TVariant(lane))->Header->Caption );
SwimLane1->EndUpdate();

22
How can I define a different shape for elements

// AddElement event - A new element has been added to the surface.
void __fastcall TForm1::SwimLane1AddElement(TObject *Sender,Exswimlanelib_tlb::IElement   *Element)
{
}

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IAppearancePtr var_Appearance = SwimLane1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwH") +
"IERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIg" +
"DZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyOR" +
"MiwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQ" +
"cgZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJl" +
"EEQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD" +
"4PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm" +
"0CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK4" +
"3AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEW" +
"Tg0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA"));
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwH") +
"IERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrL" +
"MIyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw" +
"3CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEI" +
"ExhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5" +
"FIUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkO" +
"gOHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQi" +
"UZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh" +
"3AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkK" +
"Sh6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg="));
	var_Appearance->Add(3,TVariant(String("gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyD") +
"CEShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4" +
"ThHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXI" +
"tCqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEc" +
"GQgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoS" +
"iUSIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQ" +
"gsiKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJi" +
"iR4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGA" +
"hnECw+H2BwhkmSg7kMMIqHyb49hAECAg="));
	var_Appearance->Add(4,TVariant(String("gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSF") +
"IcIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHol" +
"TbiIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRh" +
"eC2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEU" +
"GgNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJ" +
"FQOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4b" +
"gWCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAki" +
"sAAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQw" +
"Oj0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvks" +
"Vp0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFF" +
"wJEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgR" +
"CjhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg"));
	var_Appearance->Add(5,TVariant(String("gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoR") +
"ioAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiX" +
"JgmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh" +
"8DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2" +
"BJRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5" +
"E4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G" +
"5BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA" +
"4dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5" +
"MnwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2" +
"b5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNH" +
"wDwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	var_Elements->Add(TVariant("Rectangular"),TVariant(0),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRectangular;
	var_Elements->Add(TVariant("Round"),TVariant(82),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRound;
	var_Elements->Add(TVariant("Rhomb"),TVariant(138),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeRhomb;
	var_Elements->Add(TVariant("Circle"),TVariant(196),TVariant(0))->Shape = Exswimlanelib_tlb::ShapeEnum::exShapeCircle;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("EBN 1"),TVariant(0),TVariant(36));
		var_Element->BackColor = 0x1000000;
		var_Element->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
	Exswimlanelib_tlb::IElementPtr var_Element1 = var_Elements->Add(TVariant("EBN 2"),TVariant(54),TVariant(36));
		var_Element1->BackColor = 0x2000000;
		var_Element1->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
	Exswimlanelib_tlb::IElementPtr var_Element2 = var_Elements->Add(TVariant("EBN 3"),TVariant(108),TVariant(36));
		var_Element2->BackColor = 0x3000000;
		var_Element2->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
	Exswimlanelib_tlb::IElementPtr var_Element3 = var_Elements->Add(TVariant("EBN 4   "),TVariant(160),TVariant(36));
		var_Element3->BackColor = 0x4000000;
		var_Element3->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
	Exswimlanelib_tlb::IElementPtr var_Element4 = var_Elements->Add(TVariant("EBN 5 "),TVariant(220),TVariant(36));
		var_Element4->BackColor = 0x5000000;
		var_Element4->MinHeight = 64;
		var_Element4->MinWidth = 64;
		var_Element4->Border = Exswimlanelib_tlb::LinesStyleEnum::exNoLines;
SwimLane1->ScrollPos[false] = -160;
SwimLane1->EndUpdate();

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

// OleEvent event - Occurs once an inside control fires an event.
void __fastcall TForm1::SwimLane1OleEvent(TObject *Sender,Exswimlanelib_tlb::IElement   *Element,Exswimlanelib_tlb::IOleEvent   *Ev)
{
	OutputDebugString( L"Ev" );
}

Exswimlanelib_tlb::IElementsPtr var_Elements = SwimLane1->Elements;
	Exswimlanelib_tlb::IElementPtr var_Element = var_Elements->Add(TVariant("activex hosting"),TNoParam(),TNoParam());
		var_Element->Type = Exswimlanelib_tlb::ElementHostTypeEnum::exElementHostControl;
		var_Element->Control = L"Forms.CommandButton.1";
		var_Element->Caption = L"Command Button";
		var_Element->Height = 64;
		var_Element->Width = 128;
		var_Element->ElementFormat = L"14;\"caption\"/\"client\"";
		var_Element->CaptionAlign = Exswimlanelib_tlb::ContentAlignmentEnum::exTopCenter;

20
How can I create a copy of the element
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0))->Copy(TNoParam(),TNoParam())->Caption = L"Aka";

19
How can I define an opaque background for elements

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0));
SwimLane1->Elements->Add(TVariant("Element 2"),TVariant(16),TVariant(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 __fastcall TForm1::SwimLane1ActionContextMenu(TObject *Sender,Exswimlanelib_tlb::ContextMenuObjectActionEnum   Action,Exswimlanelib_tlb::ContextMenuObjectTypeEnum   ObjectType,Variant   ObjectID,long   CommandID,VARIANT_BOOL   CommandChecked,Variant   CommandCaption,Variant   CommandValue,VARIANT_BOOL *   Cancel)
{
	OutputDebugString( L"Action" );
	OutputDebugString( L"ObjectID" );
	OutputDebugString( L"CommandID" );
}

SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuElement] = L"Item 1[id=1000],Item 2[id=2000]";
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exElementBackColor] = RGB(255,255,255);
SwimLane1->Elements->Add(TVariant("Element 1"),TVariant(0),TVariant(0));
SwimLane1->Elements->Add(TVariant("Element 2"),TVariant(16),TVariant(16));

17
How can I show a different context-menu for element
OutputDebugString( PChar(SwimLane1->Elements->Add(TVariant("Element"),TVariant(0),TVariant(0))->InvokeContextMenu(TVariant("Item 1[id=1000],Item 2[id=2000]"))) );

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

SwimLane1->DesignModes = L"Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2";

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

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exPoolHorizontalHeaderBackColor] = RGB(0,255,0);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exPoolVerticalHeaderBackColor] = RGB(0,192,0);
SwimLane1->EndUpdate();

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

SwimLane1->ToolBarFormat = L"-1,100,101";
SwimLane1->DesignMode = Exswimlanelib_tlb::DesignModeEnum::exDesignLock;

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

SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuSurface] = TVariant(String("Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all elemen") +
"ts from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the su" +
"rface])");

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 __fastcall TForm1::SwimLane1ActionContextMenu(TObject *Sender,Exswimlanelib_tlb::ContextMenuObjectActionEnum   Action,Exswimlanelib_tlb::ContextMenuObjectTypeEnum   ObjectType,Variant   ObjectID,long   CommandID,VARIANT_BOOL   CommandChecked,Variant   CommandCaption,Variant   CommandValue,VARIANT_BOOL *   Cancel)
{
	// ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0)
	OutputDebugString( L"Action" );
	OutputDebugString( L"CommandCaption" );
}

SwimLane1->BeginUpdate();
SwimLane1->Elements->Add(TVariant("element"),TVariant(0),TVariant(0));
SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuElement] = L"Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])";
SwimLane1->EndUpdate();

11
How do I prevent showing the context-menu when user right-clicks the surface
SwimLane1->ContextMenu[Exswimlanelib_tlb::ContextMenuObjectTypeEnum::exContextMenuSurface] = L"";

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

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->set_HeaderSize(Exswimlanelib_tlb::HeaderPosEnum::exHeaderTop,32);
	var_Pool->set_HeaderVisible(Exswimlanelib_tlb::HeaderPosEnum::exHeaderBottom,false);
	Exswimlanelib_tlb::ILanesPtr var_Lanes = var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children;
		var_Lanes->Count = 2;
		Exswimlanelib_tlb::ILanesPtr var_Lanes1 = var_Lanes->get_Item(TVariant(0))->Children;
			var_Lanes1->Count = 2;
			var_Lanes1->get_Item(TVariant(0))->Header->Caption = L"Phase <b>1.1";
			var_Lanes1->get_Item(TVariant(1))->Header->Caption = L"Phase <b>1.2";
SwimLane1->EndUpdate();

9
How do I create a pool with horizontal and lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->EndUpdate();

8
How do I add programatically a pool with horizontal lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneHorizontal)->Children->Count = 4;
SwimLane1->EndUpdate();

7
How do I add programatically a pool with vertical lanes

SwimLane1->BeginUpdate();
Exswimlanelib_tlb::IPoolPtr var_Pool = SwimLane1->Pools->Add(TVariant(-250),TVariant(-150),TVariant(500),TVariant(250));
	var_Pool->get_Lane(Exswimlanelib_tlb::LaneTypeEnum::exLaneVertical)->Children->Count = 4;
SwimLane1->EndUpdate();

6
How can I change the toolbar's visual appearance

SwimLane1->VisualAppearance->Add(1,TVariant("c:\\exontrol\\images\\normal.ebn"));
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarAppearance] = 0x1000000;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarForeColor] = RGB(40,40,40);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownBackColor] = 0x1606060;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonDownForeColor] = RGB(240,240,240);
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotBackColor] = 0x1a0a0a0;
SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarButtonHotForeColor] = RGB(255,255,255);

5
How can I change the toolbar's background color

SwimLane1->Background[Exswimlanelib_tlb::BackgroundPartEnum::exToolBarBackColor] = RGB(255,255,255);