104 |
Fullfit the caption on the element's width
with AxSwimLane1 do begin with Elements.Add('<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</so' + 'lidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)',Nil,Nil) do begin CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionBreakWrap; BackColor := $f8f8f8; AutoSize := False; Width := 194; Height := 76; CaptionAlign := EXSWIMLANELib.ContentAlignmentEnum($4); end; end |
103 |
Wrap the caption by <br> or "\r\n" sequence only
|
102 |
Display a custom tooltip
|
101 |
Shows the tooltip of the object moved relative to its default position
|
100 |
Add a pool to cover all visible-elements
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Pools.Add(Nil,Nil,Nil,Nil).HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := 24; EndUpdate(); end |
99 |
How can I ensure that a specified pool fits the surface's visible area
|
98 |
No property for the pool can be saved/restored through Undo/Redo feature
with AxSwimLane1 do begin AllowUndoRedo := True; with Pools.Add(TObject(-54),TObject(-47),TObject(244),TObject(112)) do begin l := StartUpdatePool; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical] do begin Color := $f0f0f0; Children.Count := 2; end; EndUpdatePool(l); end; end |
97 |
Rename Undo/Redo commands into the control's toolbar
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; ToolBarFormat := '-1,100,102,101,|,103,104'; set_ToolBarCaption(103,'Anuleaza <img>4</img>'); set_ToolBarCaption(104,'<img>5</img>Reface'); set_ToolBarToolTip(103,'Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z.'); set_ToolBarToolTip(104,'Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y.'); Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); EndUpdate(); end |
96 |
Add Undo/Redo commands to control's toolbar
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; ToolBarFormat := '-1,100,102,101,|,103,104'; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); EndUpdate(); end |
95 |
Clear Undo/Redo queue (method 2)
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); c := UndoRedoQueueLength; UndoRedoQueueLength := 0; UndoRedoQueueLength := c; OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
94 |
Clear Undo/Redo queue (method 1)
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); AllowUndoRedo := True; OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
93 |
Removes Redo operations
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Undo(); RedoRemoveAction(TObject(10),Nil); OutputDebugString( get_RedoListAction(Nil,Nil) ); EndUpdate(); end |
92 |
Removes Undo operations
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); UndoRemoveAction(TObject(10),Nil); OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
91 |
Record the UI operations as a block of undo/redo operations
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; StartBlockUndoRedo(); Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); EndBlockUndoRedo(); OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
90 |
Groups the next to current Undo/Redo Actions in a single block
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); GroupUndoRedoActions(3); OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
89 |
Limits the number of entries within the Undo/Redo queue
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; UndoRedoQueueLength := 1; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
88 |
Lists the Redo actions that can be performed on the surface
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Undo(); OutputDebugString( get_RedoListAction(Nil,Nil) ); EndUpdate(); end |
87 |
Lists the Undo actions that can be performed on the surface
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); OutputDebugString( get_UndoListAction(Nil,Nil) ); EndUpdate(); end |
86 |
Checks whether the Undo operation is possible
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Undo(); OutputDebugString( 'CanRedo' ); OutputDebugString( CanRedo ); EndUpdate(); end |
85 |
Call Redo by code
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Undo(); Redo(); EndUpdate(); end |
84 |
Checks whether the Undo operation is possible
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); OutputDebugString( 'CanUndo' ); OutputDebugString( CanUndo ); EndUpdate(); end |
83 |
Call Undo by code
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Undo(); EndUpdate(); end |
82 |
Save the element's properties for Undo/Redo operations, by code
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; StartBlockUndoRedo(); with Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin h := StartUpdateLink; Color := $ff; Width := 2; ShowDir := False; ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight; EndUpdateLink(h); end; EndBlockUndoRedo(); EndUpdate(); end |
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. procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent); begin // Element.ShowCheckBox = True // Element.CheckBoxAlign = 2 end; with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; with Elements do begin Add('Check <b>1',TObject(-64),TObject(-64)); Add('Check <b>2',Nil,Nil).Checked := EXSWIMLANELib.CheckStateEnum.exChecked; end; StartBlockUndoRedo(); with Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin h := StartUpdateLink; Color := $ff; Width := 2; ShowDir := False; ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight; EndUpdateLink(h); end; EndBlockUndoRedo(); EndUpdate(); end |
80 |
Save the element's properties for Undo/Redo operations, by code
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Elements.Add('Item <b>1',TObject(-64),TObject(-64)); StartBlockUndoRedo(); with Elements.Add('Item <b>2',Nil,Nil) do begin h := StartUpdateElement; BackColor := $0; ForeColor := $ffffff; BorderColor := $ff; EndUpdateElement(h); end; EndBlockUndoRedo(); EndUpdate(); end |
79 |
No color is restored for the element when Undo/Redo operation is executed
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Elements.Add('Item <b>1',TObject(-64),TObject(-64)); StartBlockUndoRedo(); with Elements.Add('Item <b>2',Nil,Nil) do begin h := StartUpdateElement; BackColor := $0; ForeColor := $ffffff; BorderColor := $ff; EndUpdateElement(h); end; EndBlockUndoRedo(); EndUpdate(); end |
78 |
How can I ensure that a specified element fits the surface's visible area
|
77 |
LayoutEndChanging(exUndo), LayoutEndChanging(exRedo) or LayoutEndChanging(exUndoRedoUpdate) notifiy your application once a Undo/Redo operation is executed (CTRL+Z, CTRL+Y) or updated
|
76 |
Turn on the Undo/Redo feature
with AxSwimLane1 do begin BeginUpdate(); AllowUndoRedo := True; Pools.Add(TObject(-154),TObject(-82),TObject(244),TObject(122)); with Elements do begin Add('Item <b>1',TObject(-64),TObject(-64)); Add('Item <b>2',Nil,Nil); end; Links.Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); EndUpdate(); end |
75 |
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)
|
74 |
ImageSize property on 16 (default) (specifies the size of control' icons)
|
73 |
We want to have option to start/end connectors at the middle of each side of the elements
|
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. procedure TWinForm1.AxSwimLane1_ClickEvent(sender: System.Object; e: System.EventArgs); begin with AxSwimLane1 do begin e := (get_ElementFromPoint(-1,-1) as Object); X := -1; Y := -1; PointToPosition(X,Y); OutputDebugString( e ); OutputDebugString( X ); OutputDebugString( Y ); end end; with AxSwimLane1 do begin BeginUpdate(); with Elements do begin Add('Element 1',Nil,Nil); Add('Element 2',TObject(128),TObject(64)); end; FitToClient(); EndUpdate(); end |
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. procedure TWinForm1.AxSwimLane1_MouseMoveEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_MouseMoveEvent); begin with AxSwimLane1 do begin e := (get_ElementFromPoint(e.x,e.y) as Object); PointToPosition(e.x,e.y); OutputDebugString( e ); OutputDebugString( e.x ); OutputDebugString( e.y ); end end; with AxSwimLane1 do begin BeginUpdate(); with Elements do begin Add('Element 1',Nil,Nil); Add('Element 2',TObject(128),TObject(64)); end; FitToClient(); EndUpdate(); end |
70 |
How can I convert the screen position (mouse) to surface position
|
69 |
Is is possible to show just the positive coordinates
|
68 |
Cartesian coordinates (positive coordinates are shown top-right to the origin)
|
67 |
Default coordinates (positive coordinates are shown bottom-right to the origin)
|
66 |
Is it possible to customize the path of the links orthogonally similar with Microsoft Visio tool
|
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. procedure TWinForm1.AxSwimLane1_OLEDragDrop(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OLEDragDropEvent); begin with AxSwimLane1 do begin OutputDebugString( e.data ); end end; // OLEStartDrag event - Occurs when the OLEDrag method is called. procedure TWinForm1.AxSwimLane1_OLEStartDrag(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OLEStartDragEvent); begin // Data.SetData("some data to drag") end; with AxSwimLane1 do begin BeginUpdate(); OLEDropMode := EXSWIMLANELib.exOLEDropModeEnum.exOLEDropManual; with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do begin Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 2; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 1; end; with Elements do begin with Add('Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>',Nil,Nil) do begin CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap; AutoSize := False; X := -125; Y := -105; Width := 256; Height := 56; end; with Add('Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>',Nil,Nil) do begin CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap; AutoSize := False; X := -125; Width := 256; Height := 56; end; end; EndUpdate(); end |
64 |
Is it possible to disable customizing the path of a specified link
|
63 |
How do I let user customizes the link's path
with AxSwimLane1 do begin BeginUpdate(); AllowLinkControlPoint := EXSWIMLANELib.LinkControlPointEnum($ffffffe0 Or Integer(EXSWIMLANELib.LinkControlPointEnum.exOrthoArrange) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exMiddleControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exEndControlPoint) Or Integer(EXSWIMLANELib.LinkControlPointEnum.exStartControlPoint)); with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(164),TObject(64)); Add('Element <sha ;;0>B',TObject(0),TObject(132)); end; with Links do begin Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75'; Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(2)],Nil).CustomPath := '0.5,0.25,0.5,.75'; with Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do begin ShowLinkType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkRound; StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment; end; end; Zoom := 200; FitToClient(); EndUpdate(); end |
62 |
How can I generate a picture/image/graph from my diagram
with AxSwimLane1 do begin with Elements do begin Add('Element A',Nil,Nil).ID := 'A'; Add('Element B',Nil,Nil).ID := 'B'; Add('Element C',Nil,Nil).ID := 'C'; Add('Element D',Nil,Nil).ID := 'D'; Add('Element E',Nil,Nil).ID := 'E'; Add('Element E',Nil,Nil).ID := 'F'; end; with Links do begin Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil); end; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False)); Arrange(Nil); var_CopyTo := get_CopyTo('c:/temp/xtest.jpg'); OutputDebugString( '!!!check the file c:/temp/xtest.jpg!!!' ); end |
61 |
How can I generate a picture/image/graph from my diagram
with AxSwimLane1 do begin with Elements do begin Add('Element A',Nil,Nil).ID := 'A'; Add('Element B',Nil,Nil).ID := 'B'; Add('Element C',Nil,Nil).ID := 'C'; Add('Element D',Nil,Nil).ID := 'D'; Add('Element E',Nil,Nil).ID := 'E'; Add('Element E',Nil,Nil).ID := 'F'; end; with Links do begin Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil); end; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False)); Arrange(Nil); with (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print')) as EXPRINTLib.Print) do begin PrintExt := (AxSwimLane1.GetOcx() as EXSWIMLANELib.SwimLane).DefaultDispatch; CopyTo('c:/temp/xtest.jpg'); end; OutputDebugString( '!!!check the file c:/temp/xtest.jpg!!!' ); end |
60 |
How can I print the component
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(0),TObject(76)); with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do begin AutoSize := False; Height := 32; end; with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do begin AutoSize := False; Height := 32; end; end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil); with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment; end; end; with (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.Print')) as EXPRINTLib.Print) do begin PrintExt := (AxSwimLane1.GetOcx() as EXSWIMLANELib.SwimLane).DefaultDispatch; Preview(); end; end |
59 |
How can I show direct-links
|
58 |
How can I show straight-links
|
57 |
How can I show round-links
|
56 |
I've tried to insert a "<br>" in the Caption property text and it just ignores it
with AxSwimLane1 do begin BeginUpdate(); with Elements do begin with Add('caption',Nil,Nil) do begin CaptionSingleLine := EXSWIMLANELib.CaptionSingleLineEnum.exCaptionWordWrap; Caption := 'first caption<br>second caption<br>third caption'; end; end; EndUpdate(); end |
55 |
How do I align the extra-caption
with AxSwimLane1 do begin BeginUpdate(); with Elements do begin with Add('caption',Nil,Nil) do begin CaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exTopLeft; AutoSize := False; Width := 128; Height := 64; ExtraCaption := 'extra-caption'; ExtraCaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exBottomRight; end; end; EndUpdate(); end |
54 |
How can I add an extra caption
|
53 |
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
with AxSwimLane1 do begin BeginUpdate(); AllowMoveNeighbors := EXSWIMLANELib.MoveNeighborsEnum.exMoveNeighborsHorizontally; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDir,TObject(1)); with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B ( move it )',TObject(16),TObject(32)); Add('Element <sha ;;0>C',TObject(128),TObject(0)); end; EndUpdate(); end |
52 |
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
with AxSwimLane1 do begin BeginUpdate(); AllowMoveNeighbors := EXSWIMLANELib.MoveNeighborsEnum.exMoveNeighborsVertically; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDX,TObject(0)); set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDY,TObject(0)); with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B ( move it )',TObject(0),TObject(32)); Add('Element <sha ;;0>C',TObject(0),TObject(64)); end; EndUpdate(); end |
51 |
How do I enable the reserve-neighbors feature
|
50 |
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that
with AxSwimLane1 do begin with Elements do begin Add('Element A',Nil,Nil).ID := 'A'; Add('Element B',Nil,Nil).ID := 'B'; Add('Element C',Nil,Nil).ID := 'C'; Add('Element D',Nil,Nil).ID := 'D'; Add('Element E',Nil,Nil).ID := 'E'; Add('Element E',Nil,Nil).ID := 'F'; end; with Links do begin Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['E'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['F'],Nil); end; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeCompact,TObject(False)); Arrange(Nil); end |
49 |
How can I move an element to a specified lane/phase/pool
with AxSwimLane1 do begin BeginUpdate(); set_DefPoolHeaderCaptionFormat(True,'<fgcolor 808080>Faza <off -4><b><font ;6>%i'); set_DefPoolHeaderCaptionFormat(False,'<fgcolor 808080>Culoar <off -4><b><font ;6>%i'); with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(180)) do begin Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 3; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Item[TObject(1)].Header.Caption := '<fgcolor FF0000><b>NEW'; end; with Elements.Add('element 1',TObject(200),TObject(200)) do begin LaneID[True] := '0:H.0,0:V.0'; end; with Elements.Add('element 2',TObject(200),TObject(200)) do begin LaneID[True] := '0:H.2,0:V.2'; end; EndUpdate(); end |
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. procedure TWinForm1.AxSwimLane1_AddLink(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddLinkEvent); begin with AxSwimLane1 do begin with e.link do begin end; end end; with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(48),TObject(48)); end; with Links do begin Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); end; end |
47 |
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(48),TObject(48)); end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.DownAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.UpAlignment; end; end; end |
46 |
How do I enable the cross link support ( mixed )
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(0),TObject(76)); with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do begin AutoSize := False; Height := 32; end; with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do begin AutoSize := False; Height := 32; end; end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil); with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment; end; end; ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksMixt) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks); end |
45 |
How do I enable the cross link support ( triangular )
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(0),TObject(76)); with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do begin AutoSize := False; Height := 32; end; with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do begin AutoSize := False; Height := 32; end; end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil); with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment; end; end; ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksTriangle) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks); end |
44 |
How do I enable the cross link support ( rectangular )
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(0),TObject(76)); with Add('Element <sha ;;0>C',TObject(-76),TObject(32)) do begin AutoSize := False; Height := 32; end; with Add('Element <sha ;;0>D',TObject(76),TObject(32)) do begin AutoSize := False; Height := 32; end; end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; with Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(1)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; Add(AxSwimLane1.Elements.Item[TObject(3)],AxSwimLane1.Elements.Item[TObject(4)],Nil); with Add(AxSwimLane1.Elements.Item[TObject(4)],AxSwimLane1.Elements.Item[TObject(3)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.LeftAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.RightAlignment; end; end; ShowLinks := Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowCrossLinksRect) Or Integer(EXSWIMLANELib.ShowExtendedLinksEnum.exShowExtendedLinks); end |
43 |
How do I show a link frmo bottom to top, or reverse, not from left to right
with AxSwimLane1 do begin with Elements do begin Add('Element <sha ;;0>A',Nil,Nil); Add('Element <sha ;;0>B',TObject(0),TObject(64)); end; with Links do begin with Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil) do begin StartPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; EndPos := EXSWIMLANELib.AlignmentEnum.CenterAlignment; end; end; end |
42 |
Is it possible to control the links, so that they are always centered
|
41 |
What options to align the elements do I have if I use Arrange method
with AxSwimLane1 do begin BeginUpdate(); ShowGridLines := True; with Elements do begin h1 := Add('Top Alignment',Nil,Nil).ID; Add('Element',Nil,Nil); Add('Element',Nil,Nil); Add('Element',Nil,Nil); h2 := Add('Center Alignment',Nil,TObject(96)).ID; Add('Element',Nil,TObject(96)); Add('Element',Nil,TObject(96)); Add('Element',Nil,TObject(96)); h3 := Add('Bottom Alignment',Nil,TObject(178)).ID; Add('Element',Nil,TObject(192)); Add('Element',Nil,TObject(192)); Add('Element',Nil,TObject(192)); end; with Links do begin Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(2)],Nil); Add(AxSwimLane1.Elements.Item[TObject(1)],AxSwimLane1.Elements.Item[TObject(3)],Nil); Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(4)],Nil); Add(AxSwimLane1.Elements.Item[TObject(2)],AxSwimLane1.Elements.Item[TObject(3)],Nil); Add(AxSwimLane1.Elements.Item[TObject(5)],AxSwimLane1.Elements.Item[TObject(6)],Nil); Add(AxSwimLane1.Elements.Item[TObject(5)],AxSwimLane1.Elements.Item[TObject(7)],Nil); Add(AxSwimLane1.Elements.Item[TObject(6)],AxSwimLane1.Elements.Item[TObject(8)],Nil); Add(AxSwimLane1.Elements.Item[TObject(6)],AxSwimLane1.Elements.Item[TObject(7)],Nil); Add(AxSwimLane1.Elements.Item[TObject(9)],AxSwimLane1.Elements.Item[TObject(10)],Nil); Add(AxSwimLane1.Elements.Item[TObject(9)],AxSwimLane1.Elements.Item[TObject(11)],Nil); Add(AxSwimLane1.Elements.Item[TObject(10)],AxSwimLane1.Elements.Item[TObject(12)],Nil); Add(AxSwimLane1.Elements.Item[TObject(10)],AxSwimLane1.Elements.Item[TObject(11)],Nil); end; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(0)); Arrange(TObject(h1)); set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(1)); Arrange(TObject(h2)); set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeAlign,TObject(2)); Arrange(TObject(h3)); EndUpdate(); end |
40 |
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it
|
39 |
Is it possible to change the distance between elements, when calling the Arrange method
with AxSwimLane1 do begin with Elements do begin Add('Element A',Nil,Nil).ID := 'A'; Add('Element B',Nil,Nil).ID := 'B'; Add('Element C',Nil,Nil).ID := 'C'; Add('Element D',Nil,Nil).ID := 'D'; end; with Links do begin Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil); end; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDX,TObject(0)); set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDY,TObject(0)); Arrange(Nil); end |
38 |
How do I organize vertically the elements
with AxSwimLane1 do begin with Elements do begin Add('Element A',Nil,Nil).ID := 'A'; Add('Element B',Nil,Nil).ID := 'B'; Add('Element C',Nil,Nil).ID := 'C'; Add('Element D',Nil,Nil).ID := 'D'; end; with Links do begin Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['B'],Nil); Add(AxSwimLane1.Elements.Item['A'],AxSwimLane1.Elements.Item['C'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['D'],Nil); Add(AxSwimLane1.Elements.Item['B'],AxSwimLane1.Elements.Item['C'],Nil); end; ShowLinksType := EXSWIMLANELib.ShowLinkTypeEnum.exLinkStraight; set_DefArrange(EXSWIMLANELib.DefArrangeEnum.exDefArrangeDir,TObject(1)); Arrange(Nil); end |
37 |
How can I add programatically a link
|
36 |
How do I get the link from the cursor
|
35 |
Is there a way to create a link which has the same start and end element
|
34 |
How can I show the pool's caption not-rotated or mirrored
with AxSwimLane1 do begin BeginUpdate(); AllowDesignHeader := EXSWIMLANELib.AllowDesignHeaderEnum.exDesignHeaderSingle; with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do begin HeaderCaptionSupportRotate := False; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := 48; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderRight] := 48; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3; end; EndUpdate(); end |
33 |
How can I prevent creating sub-lanes or sub-phases
|
32 |
How do I show a complete frame/border around the header
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do begin HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do begin Count := 3; Item[TObject(1)].Header.Pattern.Type := EXSWIMLANELib.PatternEnum.exPatternFrameThick; end; end; EndUpdate(); end |
31 |
How do I show a complete frame/border around the lane
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(150)) do begin HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do begin Count := 3; Item[TObject(1)].Pattern.Type := EXSWIMLANELib.PatternEnum.exPatternFrameThick; end; end; EndUpdate(); end |
30 |
How can I define sub-lanes
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-150),TObject(-150),TObject(300),TObject(250)) do begin HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := 32; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do begin Count := 3; Item[TObject(1)].Children.Count := 2; end; end; EndUpdate(); end |
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. procedure TWinForm1.AxSwimLane1_AddPool(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddPoolEvent); begin // 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 end; with AxSwimLane1 do begin BeginUpdate(); Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)); EndUpdate(); end |
28 |
How do I prevent showing headers when the user creates new pools
// AddPool event - A new pool has been added to the surface. procedure TWinForm1.AxSwimLane1_AddPool(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddPoolEvent); begin with AxSwimLane1 do begin with e.pool do begin end; end end; with AxSwimLane1 do begin BeginUpdate(); Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)).Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3; EndUpdate(); end |
27 |
How can I display icons on headers
with AxSwimLane1 do begin BeginUpdate(); Images('gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' + 'Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0' + 'ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN' + 'AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA='); with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)) do begin HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderLeft] := False; HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderRight] := False; HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := False; HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 24; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do begin Count := 3; Item[TObject(0)].Header.Caption := '<img>1</img> A'; Item[TObject(1)].Header.Caption := '<img>2</img> B'; Item[TObject(2)].Header.Caption := '<img>3</img> C'; end; end; EndUpdate(); end |
26 |
How do I change the Lane and Phase strings being displayed on the lanes
with AxSwimLane1 do begin BeginUpdate(); set_DefPoolHeaderCaptionFormat(True,'<fgcolor 808080>Faza <off -4><b><font ;6>%i'); set_DefPoolHeaderCaptionFormat(False,'<fgcolor 808080>Culoar <off -4><b><font ;6>%i'); with Pools.Add(TObject(-100),TObject(-100),TObject(250),TObject(250)) do begin Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 3; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Item[TObject(1)].Header.Caption := '<fgcolor FF0000><b>NEW'; end; EndUpdate(); end |
25 |
How can I enlarge the node while AutoSize property is True (method 2)
|
24 |
How can I enlarge the node while AutoSize property is True (method 1)
|
23 |
How can I get the lane of the element
with AxSwimLane1 do begin BeginUpdate(); Pools.Add(TObject(-150),TObject(-150),TObject(500),TObject(250)).Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 3; with Elements.Add('Element',Nil,Nil) do begin CenterOnLane(False); lane := LaneID[False]; OutputDebugString( AxSwimLane1.LaneByID[TObject(lane)].Header.Caption ); end; EndUpdate(); end |
22 |
How can I define a different shape for elements
// AddElement event - A new element has been added to the surface. procedure TWinForm1.AxSwimLane1_AddElement(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_AddElementEvent); begin with AxSwimLane1 do begin with e.element do begin end; end end; with AxSwimLane1 do begin BeginUpdate(); with VisualAppearance do begin Add(1,'gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwHI' + 'ERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIgD' + 'ZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyORM' + 'iwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQc' + 'gZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJlE' + 'EQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD4' + 'PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm0' + 'CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK43' + 'AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEWT' + 'g0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA'); Add(2,'gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwHI' + 'ERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrLM' + 'IyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw3' + 'CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEIE' + 'xhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5F' + 'IUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkOg' + 'OHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQiU' + 'ZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh3' + 'AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkKS' + 'h6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg='); Add(3,'gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyDC' + 'EShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4T' + 'hHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXIt' + 'CqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEcG' + 'QgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoSi' + 'USIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQg' + 'siKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJii' + 'R4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGAh' + 'nECw+H2BwhkmSg7kMMIqHyb49hAECAg='); Add(4,'gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSFI' + 'cIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHolT' + 'biIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRhe' + 'C2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEUG' + 'gNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJF' + 'QOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4bg' + 'WCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAkis' + 'AAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQwO' + 'j0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvksV' + 'p0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFFw' + 'JEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgRC' + 'jhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg'); Add(5,'gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoRi' + 'oAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiXJ' + 'gmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh8' + 'DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2B' + 'JRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5E' + '4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G5' + 'BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA4' + 'dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5M' + 'nwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2b' + '5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNHw' + 'DwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB'); end; set_Background(EXSWIMLANELib.BackgroundPartEnum.exElementBackColor,$ffffff); with Elements do begin Add('Rectangular',TObject(0),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRectangular; Add('Round',TObject(82),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRound; Add('Rhomb',TObject(138),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeRhomb; Add('Circle',TObject(196),TObject(0)).Shape := EXSWIMLANELib.ShapeEnum.exShapeCircle; with Add('EBN 1',TObject(0),TObject(36)) do begin BackColor := $1000000; Border := EXSWIMLANELib.LinesStyleEnum.exNoLines; end; with Add('EBN 2',TObject(54),TObject(36)) do begin BackColor := $2000000; Border := EXSWIMLANELib.LinesStyleEnum.exNoLines; end; with Add('EBN 3',TObject(108),TObject(36)) do begin BackColor := $3000000; Border := EXSWIMLANELib.LinesStyleEnum.exNoLines; end; with Add('EBN 4 ',TObject(160),TObject(36)) do begin BackColor := $4000000; Border := EXSWIMLANELib.LinesStyleEnum.exNoLines; end; with Add('EBN 5 ',TObject(220),TObject(36)) do begin BackColor := $5000000; MinHeight := 64; MinWidth := 64; Border := EXSWIMLANELib.LinesStyleEnum.exNoLines; end; end; set_ScrollPos(False,-160); EndUpdate(); end |
21 |
Is it possible to add an inner control on the surface
// OleEvent event - Occurs once an inside control fires an event. procedure TWinForm1.AxSwimLane1_OleEvent(sender: System.Object; e: AxEXSWIMLANELib._ISwimLaneEvents_OleEventEvent); begin with AxSwimLane1 do begin OutputDebugString( e.ev ); end end; with AxSwimLane1 do begin with Elements do begin with Add('activex hosting',Nil,Nil) do begin Type := EXSWIMLANELib.ElementHostTypeEnum.exElementHostControl; Control := 'Forms.CommandButton.1'; Caption := 'Command Button'; Height := 64; Width := 128; ElementFormat := '14;"caption"/"client"'; CaptionAlign := EXSWIMLANELib.ContentAlignmentEnum.exTopCenter; end; end; end |
20 |
How can I create a copy of the element
|
19 |
How can I define an opaque background for elements
|
18 |
How can I show a different context-menu for all elements
|
17 |
How can I show a different context-menu for element
|
16 |
How can I change the design-modes being shown on the control's toolbar
|
15 |
How can I change the default header's background color
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do begin Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 4; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 4; end; set_Background(EXSWIMLANELib.BackgroundPartEnum.exPoolHorizontalHeaderBackColor,$ff00); set_Background(EXSWIMLANELib.BackgroundPartEnum.exPoolVerticalHeaderBackColor,$c000); EndUpdate(); end |
14 |
How can I remove the Design item from the control's toolbar, to be locked ( no-design )
with AxSwimLane1 do begin ToolBarFormat := '-1,100,101'; DesignMode := EXSWIMLANELib.DesignModeEnum.exDesignLock; end |
13 |
How can I remove/disable the Color and Display-Grid from the surface's context menu
|
12 |
How can I change the element's context-menu when the user right-clicks the element
|
11 |
How do I prevent showing the context-menu when user right-clicks the surface
|
10 |
How do I create parent-child (tree) lanes
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do begin HeaderSize[EXSWIMLANELib.HeaderPosEnum.exHeaderTop] := 32; HeaderVisible[EXSWIMLANELib.HeaderPosEnum.exHeaderBottom] := False; with Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children do begin Count := 2; with Item[TObject(0)].Children do begin Count := 2; Item[TObject(0)].Header.Caption := 'Phase <b>1.1'; Item[TObject(1)].Header.Caption := 'Phase <b>1.2'; end; end; end; EndUpdate(); end |
9 |
How do I create a pool with horizontal and lanes
with AxSwimLane1 do begin BeginUpdate(); with Pools.Add(TObject(-250),TObject(-150),TObject(500),TObject(250)) do begin Lane[EXSWIMLANELib.LaneTypeEnum.exLaneHorizontal].Children.Count := 4; Lane[EXSWIMLANELib.LaneTypeEnum.exLaneVertical].Children.Count := 4; end; EndUpdate(); end |
8 |
How do I add programatically a pool with horizontal lanes
|
7 |
How do I add programatically a pool with vertical lanes
|
6 |
How can I change the toolbar's visual appearance
with AxSwimLane1 do begin VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn'); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarAppearance,$1000000); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarBackColor,$ffffff); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarForeColor,$282828); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownBackColor,$1606060); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonDownForeColor,$f0f0f0); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotBackColor,$1a0a0a0); set_Background(EXSWIMLANELib.BackgroundPartEnum.exToolBarButtonHotForeColor,$ffffff); end |
5 |
How can I change the toolbar's background color
|