181 |
exUndo, An Undo operation is performed (CTR + Z), exRedo, A Redo operation is performed (CTR + Y). exUndoRedoUpdate, The Undo/Redo queue is updated
|
180 |
exLinkObjects, the user creates an element on the surface. The AllowLinkObjects property specifies the keys combination to allow user to link elements on the surface
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 9 ? `exLinkObjects` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 9 ? `exLinkObjects` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .EndUpdate DEBUGOUT( "Hold SHIFT, click an element, and drag to another element to create a link between them" ) endwith |
179 |
exEditObject, the user edits the element's caption
*** Click event - Occurs when the user presses and then releases the left mouse button over the control. *** LPARAMETERS nop *** ElementFromPoint(-1,-1).Edit(0) *** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 8 ? `exEditObject` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 8 ? `exEditObject` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Click an element to edit its caption" ) endwith |
178 |
exCreateObject, the user creates an element on the surface. The AllowCreateObject property specifies the keys combination to allow user to create elements on the surface
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 7 ? `exCreateObject` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 7 ? `exCreateObject` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2").Selected = .T. .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Double-click on the surface and immediately drag to a new position to create an element" ) endwith |
177 |
exSelectNothing, the user clicks an empty zone of the surface. The AllowSelectNothing property specifies the keys combination to allow user to select nothing on the surface
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 6 ? `exSelectNothing` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 6 ? `exSelectNothing` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowSelectNothing = .T. .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2").Selected = .T. .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Select an element, and then click outside to select nothing" ) endwith |
176 |
exSelectObject, the user clicks the object to get it selected. The AllowSelectObject property specifies the keys combination to allow user to select the object
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 5 ? `exSelectObject` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 5 ? `exSelectObject` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate var_s = "Hold ALT and click, then drag to select elements within the drawn rectangle. Click an element to select it. CTRL + CLick to unse" var_s = var_s + "lect it" DEBUGOUT( var_s ) endwith |
175 |
exMoveObject, the user moves the object. The AllowMoveObject property specifies the keys combination to allow user to move the object
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 4 ? `exMoveObject` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 4 ? `exMoveObject` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Move an element" ) endwith |
174 |
exResizeObject, the user resizes the object. The AllowResizeObject property specifies the keys combination to allow user to resize the object
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 3 ? `exResizeObject` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 3 ? `exResizeObject` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64).AutoSize = .F. .Add("Node <b>2").AutoSize = .F. .Add("Node <b>3",64,-64).AutoSize = .F. endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Resize an element" ) endwith |
173 |
exSurfaceHome, the user clicks the Home button on the control's toolbar, so the surface is restored to original position. The Home method has the same effect
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 2 ? `exSurfaceHome` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 2 ? `exSurfaceHome` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Click the Home button" ) endwith |
172 |
exSurfaceZoom, the user magnifies or shrinks the surface. The AllowZoomSurface property specifies the keys combination to allow user to zoom the surface
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 1 ? `exSurfaceZoom` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 1 ? `exSurfaceZoom` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Click and drag the surface to reposition it" ) endwith |
171 |
exSurfaceMove, the user scrolls or moves the surface. The AllowMoveSurface property specifies the keys combination to allow user to move / scroll the surface
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( .FormatABC("value = 0 ? `exSurfaceMove` : value",Operation) ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( .FormatABC("value = 0 ? `exSurfaceMove` : value",Operation) ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate DEBUGOUT( "Click and drag the surface to reposition it" ) endwith |
170 |
FormatABC method formats the A,B,C values based on the giving expression and returns the result
|
169 |
FreezeEvents(Freeze) method prevents firing any event. For instance, FreezeEvents(True) freezes the control's events, no no event is fired, until the FreezeEvents(False) is called
|
168 |
The exAllowChangeFrom(0x20)/exAllowChangeTo(0x40) flag of LinkControlPointEnum type allows the user to adjust the link's from/to element by dragging and dropping the start control point (requires the exStartControlPoint/exEndControlPoint flag)
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( Operation ) DEBUGOUT( .FocusLink.ID ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( Operation ) DEBUGOUT( .FocusLink.ID ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 99 && LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") .Add("Node <b>3",64,-64) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .FocusLink = "L1" .EndUpdate endwith |
167 |
The LayoutStartChanging(exFocusLink)/LayoutEndChanging(exFocusLink) event notifies your application when the user focuses on a new link
*** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( Operation ) DEBUGOUT( .FocusLink ) endwith *** LayoutStartChanging event - Occurs when the control's layout is about to be changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutStartChanging" ) DEBUGOUT( Operation ) DEBUGOUT( .FocusLink ) endwith with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = 3 && LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Node <b>1",-64,-64) .Add("Node <b>2") endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2),"L1") .EndUpdate endwith |
166 |
Focus a link
|
165 |
The caption is displayed on the back, so the picture overrides it. How can I place the caption on the foreground
|
164 |
Draws a frame arround the link's arrow
with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = -1 && 0xffffff80 Or LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",164,64) .Add("Element <sha ;;0>B",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" with .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(1)) .ShowLinkType = 3 && ShowLinkTypeEnum.exLinkStraight Or ShowLinkTypeEnum.exLinkDirect .StartPos = 0 .ArrowSize = 8 .ArrowColor = RGB(255,255,255) .ArrowFrameColor = RGB(0,0,0) endwith endwith .FitToClient .EndUpdate endwith |
163 |
Draws a frame arround the arrow for all links
with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = -1 && 0xffffff80 Or LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint .LinksArrowSize = 8 .LinksArrowColor = RGB(255,255,255) .LinksArrowFrameColor = RGB(0,0,0) with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",164,64) .Add("Element <sha ;;0>B",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" with .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(1)) .ShowLinkType = 3 && ShowLinkTypeEnum.exLinkStraight Or ShowLinkTypeEnum.exLinkDirect .StartPos = 0 endwith endwith .FitToClient .EndUpdate endwith |
162 |
Change the size to display the arrow of the link
|
161 |
Change the size to display the arrows for all links
|
160 |
Extends the caption on the element's width
|
159 |
Gets the width/height of the element to fit its content ( as if the AutoSize property is True )
*** AnchorClick event - Occurs when an anchor element is clicked. *** LPARAMETERS AnchorID,Options with thisform.Surface1 with .Elements.Item("Account") .Height = .AutoHeight endwith endwith with thisform.Surface1 var_s = "<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECMY" var_s = var_s + "AjsCMwAM4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtuo" var_s = var_s + "NXjoAAEBA=>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECM" var_s = var_s + "wAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEB" var_s = var_s + "A==>▲</a><br>+ withdraw(amount: Currency)" with .Elements.Add(var_s) .ID = "Account" .X = -128 .CaptionSingleLine = 1 .AutoSize = .F. .Width = 256 .Height = .AutoHeight .CaptionAlign = 4 && 0x4 endwith endwith |
158 |
Expandable-caption
*** AnchorClick event - Occurs when an anchor element is clicked. *** LPARAMETERS AnchorID,Options with thisform.Surface1 DEBUGOUT( AnchorID ) endwith with thisform.Surface1 var_s = "<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECMY" var_s = var_s + "AjsCMwAM4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtuo" var_s = var_s + "NXjoAAEBA=>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECM" var_s = var_s + "wAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEB" var_s = var_s + "A==>▲</a><br>+ withdraw(amount: Currency)" with .Elements.Add(var_s) .ID = "Account" .X = -256 .Y = -164 .CaptionSingleLine = 1 .CaptionAlign = 4 && 0x4 endwith var_s1 = "<solidline> <c><b>Person</b></solidline><br>+ name: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECMYAjsCMwA" var_s1 = var_s1 + "M4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtuoNXjoAAE" var_s1 = var_s1 + "BA=>▲</a><br><solidline># birth: Date</solidline><br>+ getCurrentAge(): int<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAHA" var_s1 = var_s1 + "AGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a>" with .Elements.Add(var_s1) .ID = "Person" .Y = -164 .CaptionSingleLine = 1 endwith var_s2 = "<solidline> <c><b>Student</b></solidline><br><solidline>+ classes: List<Course> <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAEC" var_s2 = var_s2 + "McTi4AMwAM4AjMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1" var_s2 = var_s2 + "Ln1QtVSjQAAEBA==>▲</a></solidline><br>- attend(class: Course)<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAM" var_s2 = var_s2 + "oAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a><br>- sleep()" with .Elements.Add(var_s2) .ID = "Student" .Y = -64 .CaptionSingleLine = 1 endwith with .Links.Add(thisform.Surface1.Elements.Item("Account"),thisform.Surface1.Elements.Item("Student")) .Caption = "<fgcolor A0A0A0><solidline 808080> <c><b>Link</b></solidline><br># count: number <r><a ;exp=12992>➤</a>" endwith endwith |
157 |
Expandable-caption
|
156 |
Fullfit the caption on the element's width
with thisform.Surface1 var_s = "<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</so" var_s = var_s + "lidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)" with .Elements.Add(var_s) .CaptionSingleLine = 1 .BackColor = RGB(248,248,248) .AutoSize = .F. .Width = 194 .Height = 76 .CaptionAlign = 4 && 0x4 endwith endwith |
155 |
Wrap the caption by <br> or "\r\n" sequence only
with thisform.Surface1 var_s = "<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</so" var_s = var_s + "lidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)" with .Elements.Add(var_s) .CaptionSingleLine = 1 .BackColor = RGB(248,248,248) endwith endwith |
154 |
Display a custom tooltip
|
153 |
Shows the tooltip of the object moved relative to its default position
|
152 |
Rename Undo/Redo commands into the control's toolbar
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. .ToolBarFormat = "-1,100,101,|,103,104" .Object.ToolBarCaption(100) = "<img>1</img>Acasa" .Object.ToolBarCaption(103) = "Anuleaza <img>3</img>" .Object.ToolBarCaption(104) = "<img>4</img>Reface" .Object.ToolBarToolTip(100) = "Restabileste vizualizarea la origine." .Object.ToolBarToolTip(101) = "Mareste vizualizarea." .Object.ToolBarToolTip(103) = "Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z." .Object.ToolBarToolTip(104) = "Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y." with .Elements .Add("Item <b>1",-64,-48) .Add("Item <b>2",32,32) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .EndUpdate endwith |
151 |
Add Undo/Redo commands to control's toolbar
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. .ToolBarFormat = "-1,100,101,|,103,104" with .Elements .Add("Item <b>1",-64,-48) .Add("Item <b>2",32,32) endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .EndUpdate endwith |
150 |
Clear Undo/Redo queue (method 2)
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. with .Elements .Add("Item <b>1",-64,-64) .Add("Item <b>2") endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) c = .UndoRedoQueueLength .UndoRedoQueueLength = 0 .UndoRedoQueueLength = c DEBUGOUT( .UndoListAction() ) .EndUpdate endwith |
149 |
Clear Undo/Redo queue (method 1)
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. with .Elements .Add("Item <b>1",-64,-64) .Add("Item <b>2") endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .AllowUndoRedo = .T. DEBUGOUT( .UndoListAction() ) .EndUpdate endwith |
148 |
Removes Redo operations
|
147 |
Removes Undo operations
|
146 |
Record the UI operations as a block of undo/redo operations
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. .StartBlockUndoRedo with .Elements .Add("Item <b>1",-64,-64) .Add("Item <b>2") endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .EndBlockUndoRedo DEBUGOUT( .UndoListAction() ) .EndUpdate endwith |
145 |
Groups the next to current Undo/Redo Actions in a single block
|
144 |
Limits the number of entries within the Undo/Redo queue
|
143 |
Lists the Redo actions that can be performed on the surface
|
142 |
Lists the Undo actions that can be performed on the surface
|
141 |
Checks whether the Undo operation is possible
|
140 |
Call Redo by code
|
139 |
Checks whether the Undo operation is possible
|
138 |
Call Undo by code
|
137 |
Save the element's properties for Undo/Redo operations, by code
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. with .Elements .Add("Item <b>1",-64,-64) .Add("Item <b>2") endwith .StartBlockUndoRedo with .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) h = .StartUpdateLink .Color = RGB(255,0,0) .Width = 2 .ShowDir = .F. .ShowLinkType = 2 .EndUpdateLink(h) endwith .EndBlockUndoRedo .EndUpdate endwith |
136 |
No color is restored for the link when Undo/Redo operation is executed
*** AddElement event - A new element has been added to the surface. *** LPARAMETERS Element *** Element.ShowCheckBox = True *** Element.CheckBoxAlign = 2 with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. with .Elements .Add("Check <b>1",-64,-64) .Add("Check <b>2").Checked = 1 endwith .StartBlockUndoRedo with .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) h = .StartUpdateLink .Color = RGB(255,0,0) .Width = 2 .ShowDir = .F. .ShowLinkType = 2 .EndUpdateLink(h) endwith .EndBlockUndoRedo .EndUpdate endwith |
135 |
Save the element's properties for Undo/Redo operations, by code
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. .Elements.Add("Item <b>1",-64,-64) .StartBlockUndoRedo with .Elements.Add("Item <b>2") h = .StartUpdateElement .BackColor = RGB(0,0,0) .ForeColor = RGB(255,255,255) .BorderColor = RGB(255,0,0) .EndUpdateElement(h) endwith .EndBlockUndoRedo .EndUpdate endwith |
134 |
No color is restored for the element when Undo/Redo operation is executed
with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. .Elements.Add("Item <b>1",-64,-64) .StartBlockUndoRedo with .Elements.Add("Item <b>2") h = .StartUpdateElement .BackColor = RGB(0,0,0) .ForeColor = RGB(255,255,255) .BorderColor = RGB(255,0,0) .EndUpdateElement(h) endwith .EndBlockUndoRedo .EndUpdate endwith |
133 |
How can I ensure that a specified element fits the surface's visible area
with thisform.Surface1 with .Elements with .Add("Element A",-100).Pattern .Type = 6 .Color = RGB(224,224,224) endwith .Add("Element B",2000).EnsureVisible endwith endwith |
132 |
LayoutEndChanging(exUndo), LayoutEndChanging(exRedo) or LayoutEndChanging(exUndoRedoUpdate) notifiy your application once a Undo/Redo operation is executed (CTRL+Z, CTRL+Y) or updated
*** AddElement event - A new element has been added to the surface. *** LPARAMETERS Element *** Element.ShowCheckBox = True *** Element.CheckBoxAlign = 2 *** LayoutEndChanging event - Notifies your application once the control's layout has been changed. *** LPARAMETERS Operation with thisform.Surface1 DEBUGOUT( "LayoutEndChanging" ) DEBUGOUT( Operation ) endwith with thisform.Surface1 .BeginUpdate .AllowUndoRedo = .T. with .Elements .Add("Check <b>1",-64,-64) .Add("Check <b>2").Checked = 1 endwith .Links.Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .EndUpdate endwith |
131 |
Turn on the Undo/Redo feature
|
130 |
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)
|
129 |
ImageSize property on 16 (default) (specifies the size of control' icons)
|
128 |
We want to have option to start/end connectors at the middle of each side of the elements
|
127 |
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. *** LPARAMETERS nop with thisform.Surface1 e = .ElementFromPoint(-1,-1) X = -1 Y = -1 .PointToPosition(X,Y) DEBUGOUT( e ) DEBUGOUT( X ) DEBUGOUT( Y ) endwith with thisform.Surface1 .BeginUpdate with .Elements .Add("Element 1") .Add("Element 2",128,64) endwith .FitToClient .EndUpdate endwith |
126 |
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. *** LPARAMETERS Button,Shift,X,Y with thisform.Surface1 e = .ElementFromPoint(X,Y) .PointToPosition(X,Y) DEBUGOUT( e ) DEBUGOUT( X ) DEBUGOUT( Y ) endwith with thisform.Surface1 .BeginUpdate with .Elements .Add("Element 1") .Add("Element 2",128,64) endwith .FitToClient .EndUpdate endwith |
125 |
How can I convert the screen position (mouse) to surface position
*** MouseMove event - Occurs when the user moves the mouse. *** LPARAMETERS Button,Shift,X,Y with thisform.Surface1 DEBUGOUT( "Point " ) DEBUGOUT( X ) DEBUGOUT( Y ) .PointToPosition(X,Y) DEBUGOUT( "Position " ) DEBUGOUT( X ) DEBUGOUT( Y ) endwith with thisform.Surface1 .BeginUpdate with .Elements .Add("Element <sha ;;0>1") .Add("Element <sha ;;0>2",164,64) .Add("Element <sha ;;0>3",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)) .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(1)) endwith .FitToClient .AxisStyle = 192 && 0xc0 .AxisColor = RGB(128,128,128) .EndUpdate endwith |
124 |
Is is possible to show just the positive coordinates
with thisform.Surface1 .BeginUpdate .Coord = 17 && CoordEnum.exAllowPositiveOnly Or CoordEnum.exCartesian .AxisColor = RGB(128,128,128) .AxisStyle = 259 && LinesStyleEnum.exLinesThick Or LinesStyleEnum.exLinesDot4 .ShowLinks = -1 with .Elements .Add("Element <sha ;;0>1") .Add("Element <sha ;;0>2",164,64) .Add("Element <sha ;;0>3",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)) endwith .FitToClient .EndUpdate endwith |
123 |
Cartesian coordinates (positive coordinates are shown top-right to the origin)
|
122 |
Default coordinates (positive coordinates are shown bottom-right to the origin)
|
121 |
Is it possible to customize the path of the links orthogonally similar with Microsoft Visio tool
|
120 |
Does your control supports OLE Drag and Drop
|
119 |
Is it possible to disable customizing the path of a specified link
with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = -1 && 0xffffff80 Or LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",164,64) .Add("Element <sha ;;0>B",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" with .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(1)) .ShowLinkType = 3 && ShowLinkTypeEnum.exLinkStraight Or ShowLinkTypeEnum.exLinkDirect .StartPos = 0 .Color = RGB(128,128,128) .AllowControlPoint = 0 endwith endwith .Zoom = 200 .FitToClient .EndUpdate endwith |
118 |
How do I let user customizes the link's path
with thisform.Surface1 .BeginUpdate .AllowLinkControlPoint = -1 && 0xffffff80 Or LinkControlPointEnum.exAllowChangeTo Or LinkControlPointEnum.exAllowChangeFrom Or LinkControlPointEnum.exOrthoArrange Or LinkControlPointEnum.exMiddleControlPoint Or LinkControlPointEnum.exControlPoint Or LinkControlPointEnum.exEndControlPoint Or LinkControlPointEnum.exStartControlPoint with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",164,64) .Add("Element <sha ;;0>B",0,132) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75" with .Add(thisform.Surface1.Elements.Item(3),thisform.Surface1.Elements.Item(1)) .ShowLinkType = 3 && ShowLinkTypeEnum.exLinkStraight Or ShowLinkTypeEnum.exLinkDirect .StartPos = 0 endwith endwith .Zoom = 200 .FitToClient .EndUpdate endwith |
117 |
How can I generate a picture/image/graph from my diagram
|
116 |
How can I generate a picture/image/graph from my diagram
with thisform.Surface1 with .Elements .Add("Element A").ID = "A" .Add("Element B").ID = "B" .Add("Element C").ID = "C" .Add("Element D").ID = "D" .Add("Element E").ID = "E" .Add("Element E").ID = "F" endwith with .Links .Add(thisform.Surface1.Elements.Item("A"),thisform.Surface1.Elements.Item("B")) .Add(thisform.Surface1.Elements.Item("A"),thisform.Surface1.Elements.Item("C")) .Add(thisform.Surface1.Elements.Item("B"),thisform.Surface1.Elements.Item("D")) .Add(thisform.Surface1.Elements.Item("B"),thisform.Surface1.Elements.Item("C")) .Add(thisform.Surface1.Elements.Item("A"),thisform.Surface1.Elements.Item("E")) .Add(thisform.Surface1.Elements.Item("A"),thisform.Surface1.Elements.Item("F")) endwith .Object.DefArrange(4) = .F. .Arrange() with CreateObject("Exontrol.Print") .PrintExt = thisform.Surface1.Object .CopyTo("c:/temp/xtest.jpg") endwith DEBUGOUT( "!!!check the file c:/temp/xtest.jpg!!!" ) endwith |
115 |
How can I print the component
|
114 |
How can I show direct-links
|
113 |
How can I show straight-links
|
112 |
How can I show round-links
|
111 |
I've tried to insert a "<br>" in the Caption property text and it just ignores it
with thisform.Surface1 .BeginUpdate with .Elements with .Add("caption") .CaptionSingleLine = .F. .Caption = "first caption<br>second caption<br>third caption" endwith endwith .EndUpdate endwith |
110 |
How do I align the extra-caption
with thisform.Surface1 .BeginUpdate with .Elements with .Add("caption") .AutoSize = .F. .Width = 128 .Height = 64 .ExtraCaption = "extra-caption" .ExtraCaptionAlign = 34 endwith endwith .EndUpdate endwith |
109 |
How can I add an extra caption
|
108 |
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
with thisform.Surface1 .BeginUpdate .AllowMoveNeighbors = 2 .Object.DefArrange(0) = 1 .AllowInsertObject = .F. with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B ( move it )",16,32) .Add("Element <sha ;;0>C",128,0) endwith .EndUpdate endwith |
107 |
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
with thisform.Surface1 .BeginUpdate .AllowMoveNeighbors = 1 .Object.DefArrange(1) = 0 .Object.DefArrange(2) = 0 .AllowInsertObject = .F. with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B ( move it )",0,32) .Add("Element <sha ;;0>C",0,64) endwith .EndUpdate endwith |
106 |
How do I enable the reserve-neighbors feature
|
105 |
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that
|
104 |
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. *** LPARAMETERS Link with thisform.Surface1 with Link endwith endwith with thisform.Surface1 with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",48,48) endwith with .Links .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) endwith endwith |
103 |
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)
with thisform.Surface1 with .Elements .Add("Element <sha ;;0>A") .Add("Element <sha ;;0>B",48,48) endwith with .Links with .Add(thisform.Surface1.Elements.Item(1),thisform.Surface1.Elements.Item(2)) .StartPos = 4 .EndPos = 3 endwith endwith endwith |
102 |
How do I enable the cross link support ( mixed )
|
101 |
How do I enable the cross link support ( triangular )
|