181 |
exUndo, An Undo operation is performed (CTR + Z), exRedo, A Redo operation is performed (CTR + Y). exUndoRedoUpdate, The Undo/Redo queue is updated
// LayoutEndChanging event - Notifies your application once the control's layout has been changed. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value case (default:value;32:`exUndoRedoUpdate`;33:`exUndo`;34:`exRedo`)",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value case (default:value;32:`exUndoRedoUpdate`;33:`exUndo`;34:`exRedo`)",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Press CTRL+Z to Undo, CTRL+Y to Redo" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 9 ? `exLinkObjects` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 9 ? `exLinkObjects` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Hold SHIFT, click an element, and drag to another element to create a link between them" ); |
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. private void exsurface1_Click(object sender) { // ElementFromPoint(-1,-1).Edit(0) } //this.exsurface1.Click += new exontrol.EXSURFACELib.exg2antt.ClickEventHandler(this.exsurface1_Click); // LayoutEndChanging event - Notifies your application once the control's layout has been changed. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 8 ? `exEditObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 8 ? `exEditObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Click an element to edit its caption" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 7 ? `exCreateObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 7 ? `exCreateObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null).Selected = true; var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Double-click on the surface and immediately drag to a new position to create an element" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 6 ? `exSelectNothing` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 6 ? `exSelectNothing` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowSelectNothing = true; exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null).Selected = true; var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Select an element, and then click outside to select nothing" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 5 ? `exSelectObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 5 ? `exSelectObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Hold ALT and click, then drag to select elements within the drawn rectangle. Click an element to select it. CTRL + CLick to uns" + "elect it" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 4 ? `exMoveObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 4 ? `exMoveObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Move an element" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 3 ? `exResizeObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 3 ? `exResizeObject` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64).AutoSize = false; var_Elements.Add("Node <b>2",null,null).AutoSize = false; var_Elements.Add("Node <b>3",64,-64).AutoSize = false; exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Resize an element" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 2 ? `exSurfaceHome` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 2 ? `exSurfaceHome` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Click the Home button" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 1 ? `exSurfaceZoom` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 1 ? `exSurfaceZoom` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Click and drag the surface to reposition it" ); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 0 ? `exSurfaceMove` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( exsurface1.FormatABC("value = 0 ? `exSurfaceMove` : value",Operation,null,null).ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); System.Diagnostics.Debug.Print( "Click and drag the surface to reposition it" ); |
170 |
FormatABC method formats the A,B,C values based on the giving expression and returns the result
System.Diagnostics.Debug.Print( exsurface1.FormatABC("value format ``",1000,null,null).ToString() ); |
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
// Event event - Notifies the application once the control fires an event. private void exsurface1_Event(object sender,int EventID) { System.Diagnostics.Debug.Print( exsurface1.get_EventParam(-2).ToString() ); } //this.exsurface1.Event += new exontrol.EXSURFACELib.exg2antt.EventEventHandler(this.exsurface1_Event); exsurface1.FreezeEvents(true); System.Diagnostics.Debug.Print( "No event is fired after FreezeEvents(True) call" ); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); System.Diagnostics.Debug.Print( exsurface1.FocusLink.ID.ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); System.Diagnostics.Debug.Print( exsurface1.FocusLink.ID.ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); var_Elements.Add("Node <b>3",64,-64); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.FocusLink = "L1"; exsurface1.EndUpdate(); |
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. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); System.Diagnostics.Debug.Print( exsurface1.FocusLink.ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); System.Diagnostics.Debug.Print( exsurface1.FocusLink.ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.EndUpdate(); |
166 |
Focus a link
// LayoutEndChanging event - Notifies your application once the control's layout has been changed. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); // LayoutStartChanging event - Occurs when the control's layout is about to be changed. private void exsurface1_LayoutStartChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutStartChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); } //this.exsurface1.LayoutStartChanging += new exontrol.EXSURFACELib.exg2antt.LayoutStartChangingEventHandler(this.exsurface1_LayoutStartChanging); exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Node <b>1",-64,-64); var_Elements.Add("Node <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],"L1"); exsurface1.FocusLink = "L1"; exsurface1.EndUpdate(); |
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
|
163 |
Draws a frame arround the arrow for all links
|
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. private void exsurface1_AnchorClick(object sender,string AnchorID,string Options) { exontrol.EXSURFACELib.Element var_Element = exsurface1.Elements["Account"]; var_Element.Height = var_Element.AutoHeight; } //this.exsurface1.AnchorClick += new exontrol.EXSURFACELib.exg2antt.AnchorClickEventHandler(this.exsurface1_AnchorClick); exontrol.EXSURFACELib.Element var_Element = exsurface1.Elements.Add("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECM" + "YAjsCMwAM4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtu" + "oNXjoAAEBA=>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AEC" + "MwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAE" + "BA==>▲</a><br>+ withdraw(amount: Currency)",null,null); var_Element.ID = "Account"; var_Element.X = -128; var_Element.CaptionSingleLine = exontrol.EXSURFACELib.CaptionSingleLineEnum.exCaptionBreakWrap; var_Element.AutoSize = false; var_Element.Width = 256; var_Element.Height = var_Element.AutoHeight; var_Element.CaptionAlign = (exontrol.EXSURFACELib.ContentAlignmentEnum)0x4; |
158 |
Expandable-caption
// AnchorClick event - Occurs when an anchor element is clicked. private void exsurface1_AnchorClick(object sender,string AnchorID,string Options) { System.Diagnostics.Debug.Print( AnchorID.ToString() ); } //this.exsurface1.AnchorClick += new exontrol.EXSURFACELib.exg2antt.AnchorClickEventHandler(this.exsurface1_AnchorClick); exontrol.EXSURFACELib.Element var_Element = exsurface1.Elements.Add("<solidline> <c><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECM" + "YAjsCMwAM4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtu" + "oNXjoAAEBA=>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AEC" + "MwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAE" + "BA==>▲</a><br>+ withdraw(amount: Currency)",null,null); var_Element.ID = "Account"; var_Element.X = -256; var_Element.Y = -164; var_Element.CaptionSingleLine = exontrol.EXSURFACELib.CaptionSingleLineEnum.exCaptionBreakWrap; var_Element.CaptionAlign = (exontrol.EXSURFACELib.ContentAlignmentEnum)0x4; exontrol.EXSURFACELib.Element var_Element1 = exsurface1.Elements.Add("<solidline> <c><b>Person</b></solidline><br>+ name: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAAgAA4AAwisXjMYH0TAECMYAjsCMw" + "AM4AkMGhEGOUei0Yl8bkQAOAAlsGmsSlp0h0SgkCF8DgsNhUMhEKiESkYAoMlk8phssmcCltLMNTAFOlFDlc2l0amMxjomAAjAA5AA2tMaHcfplZk1blVDqtuoNXjoAA" + "EBA=>▲</a><br><solidline># birth: Date</solidline><br>+ getCurrentAge(): int<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAH" + "AAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a>",null,null); var_Element1.ID = "Person"; var_Element1.Y = -164; var_Element1.CaptionSingleLine = exontrol.EXSURFACELib.CaptionSingleLineEnum.exCaptionBreakWrap; exontrol.EXSURFACELib.Element var_Element2 = exsurface1.Elements.Add("<solidline> <c><b>Student</b></solidline><br><solidline>+ classes: List<Course> <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAE" + "CMcTi4AMwAM4AjMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq" + "1Ln1QtVSjQAAEBA==>▲</a></solidline><br>- attend(class: Course)<r><a 2;e64=gA8ABjAA+AECMwAM8DABvABshoAOQAEAAHAAGEWjEajMGNoA" + "MoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>▲</a><br>- sleep()",null,null); var_Element2.ID = "Student"; var_Element2.Y = -64; var_Element2.CaptionSingleLine = exontrol.EXSURFACELib.CaptionSingleLineEnum.exCaptionBreakWrap; exontrol.EXSURFACELib.Link var_Link = exsurface1.Links.Add(exsurface1.Elements["Account"],exsurface1.Elements["Student"],null); var_Link.Caption = "<fgcolor A0A0A0><solidline 808080> <c><b>Link</b></solidline><br># count: number <r><a ;exp=12992>➤</a>"; |
157 |
Expandable-caption
|
156 |
Fullfit the caption on the element's width
|
155 |
Wrap the caption by <br> or "\r\n" sequence only
|
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
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.ToolBarFormat = "-1,100,101,|,103,104"; exsurface1.set_ToolBarCaption(100,"<img>1</img>Acasa"); exsurface1.set_ToolBarCaption(103,"Anuleaza <img>3</img>"); exsurface1.set_ToolBarCaption(104,"<img>4</img>Reface"); exsurface1.set_ToolBarToolTip(100,"Restabileste vizualizarea la origine."); exsurface1.set_ToolBarToolTip(101,"Mareste vizualizarea."); exsurface1.set_ToolBarToolTip(103,"Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z."); exsurface1.set_ToolBarToolTip(104,"Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y."); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-48); var_Elements.Add("Item <b>2",32,32); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.EndUpdate(); |
151 |
Add Undo/Redo commands to control's toolbar
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.ToolBarFormat = "-1,100,101,|,103,104"; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-48); var_Elements.Add("Item <b>2",32,32); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.EndUpdate(); |
150 |
Clear Undo/Redo queue (method 2)
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); int c = exsurface1.UndoRedoQueueLength; exsurface1.UndoRedoQueueLength = 0; exsurface1.UndoRedoQueueLength = c; System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
149 |
Clear Undo/Redo queue (method 1)
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.AllowUndoRedo = true; System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
148 |
Removes Redo operations
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.Undo(); exsurface1.RedoRemoveAction(10,null); System.Diagnostics.Debug.Print( exsurface1.get_RedoListAction(null,null) ); exsurface1.EndUpdate(); |
147 |
Removes Undo operations
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.UndoRemoveAction(10,null); System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
146 |
Record the UI operations as a block of undo/redo operations
|
145 |
Groups the next to current Undo/Redo Actions in a single block
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.GroupUndoRedoActions(3); System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
144 |
Limits the number of entries within the Undo/Redo queue
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.UndoRedoQueueLength = 1; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
143 |
Lists the Redo actions that can be performed on the surface
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.Undo(); System.Diagnostics.Debug.Print( exsurface1.get_RedoListAction(null,null) ); exsurface1.EndUpdate(); |
142 |
Lists the Undo actions that can be performed on the surface
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); System.Diagnostics.Debug.Print( exsurface1.get_UndoListAction(null,null) ); exsurface1.EndUpdate(); |
141 |
Checks whether the Undo operation is possible
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.Undo(); System.Diagnostics.Debug.Print( "CanRedo" ); System.Diagnostics.Debug.Print( exsurface1.CanRedo.ToString() ); exsurface1.EndUpdate(); |
140 |
Call Redo by code
|
139 |
Checks whether the Undo operation is possible
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); System.Diagnostics.Debug.Print( "CanUndo" ); System.Diagnostics.Debug.Print( exsurface1.CanUndo.ToString() ); exsurface1.EndUpdate(); |
138 |
Call Undo by code
|
137 |
Save the element's properties for Undo/Redo operations, by code
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Item <b>1",-64,-64); var_Elements.Add("Item <b>2",null,null); exsurface1.StartBlockUndoRedo(); exontrol.EXSURFACELib.Link var_Link = exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); int h = var_Link.StartUpdateLink; var_Link.Color = Color.FromArgb(255,0,0); var_Link.Width = 2; var_Link.ShowDir = false; var_Link.ShowLinkType = exontrol.EXSURFACELib.ShowLinkTypeEnum.exLinkStraight; var_Link.EndUpdateLink(h); exsurface1.EndBlockUndoRedo(); exsurface1.EndUpdate(); |
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. private void exsurface1_AddElement(object sender,exontrol.EXSURFACELib.Element Element) { // Element.ShowCheckBox = True // Element.CheckBoxAlign = 2 } //this.exsurface1.AddElement += new exontrol.EXSURFACELib.exg2antt.AddElementEventHandler(this.exsurface1_AddElement); exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Check <b>1",-64,-64); var_Elements.Add("Check <b>2",null,null).Checked = exontrol.EXSURFACELib.CheckStateEnum.exChecked; exsurface1.StartBlockUndoRedo(); exontrol.EXSURFACELib.Link var_Link = exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); int h = var_Link.StartUpdateLink; var_Link.Color = Color.FromArgb(255,0,0); var_Link.Width = 2; var_Link.ShowDir = false; var_Link.ShowLinkType = exontrol.EXSURFACELib.ShowLinkTypeEnum.exLinkStraight; var_Link.EndUpdateLink(h); exsurface1.EndBlockUndoRedo(); exsurface1.EndUpdate(); |
135 |
Save the element's properties for Undo/Redo operations, by code
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.Elements.Add("Item <b>1",-64,-64); exsurface1.StartBlockUndoRedo(); exontrol.EXSURFACELib.Element var_Element = exsurface1.Elements.Add("Item <b>2",null,null); int h = var_Element.StartUpdateElement; var_Element.BackColor = Color.FromArgb(0,0,0); var_Element.ForeColor = Color.FromArgb(255,255,255); var_Element.BorderColor = Color.FromArgb(255,0,0); var_Element.EndUpdateElement(h); exsurface1.EndBlockUndoRedo(); exsurface1.EndUpdate(); |
134 |
No color is restored for the element when Undo/Redo operation is executed
exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exsurface1.Elements.Add("Item <b>1",-64,-64); exsurface1.StartBlockUndoRedo(); exontrol.EXSURFACELib.Element var_Element = exsurface1.Elements.Add("Item <b>2",null,null); int h = var_Element.StartUpdateElement; var_Element.BackColor = Color.FromArgb(0,0,0); var_Element.ForeColor = Color.FromArgb(255,255,255); var_Element.BorderColor = Color.FromArgb(255,0,0); var_Element.EndUpdateElement(h); exsurface1.EndBlockUndoRedo(); exsurface1.EndUpdate(); |
133 |
How can I ensure that a specified element fits the surface's visible area
|
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. private void exsurface1_AddElement(object sender,exontrol.EXSURFACELib.Element Element) { // Element.ShowCheckBox = True // Element.CheckBoxAlign = 2 } //this.exsurface1.AddElement += new exontrol.EXSURFACELib.exg2antt.AddElementEventHandler(this.exsurface1_AddElement); // LayoutEndChanging event - Notifies your application once the control's layout has been changed. private void exsurface1_LayoutEndChanging(object sender,exontrol.EXSURFACELib.LayoutChangingEnum Operation) { System.Diagnostics.Debug.Print( "LayoutEndChanging" ); System.Diagnostics.Debug.Print( Operation.ToString() ); } //this.exsurface1.LayoutEndChanging += new exontrol.EXSURFACELib.exg2antt.LayoutEndChangingEventHandler(this.exsurface1_LayoutEndChanging); exsurface1.BeginUpdate(); exsurface1.AllowUndoRedo = true; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Check <b>1",-64,-64); var_Elements.Add("Check <b>2",null,null).Checked = exontrol.EXSURFACELib.CheckStateEnum.exChecked; exsurface1.Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); exsurface1.EndUpdate(); |
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. private void exsurface1_Click(object sender) { Object e = (exsurface1.get_ElementFromPoint(-1,-1) as Object); string X = -1; string Y = -1; exsurface1.PointToPosition(X,Y); System.Diagnostics.Debug.Print( e.ToString() ); System.Diagnostics.Debug.Print( X.ToString() ); System.Diagnostics.Debug.Print( Y.ToString() ); } //this.exsurface1.Click += new exontrol.EXSURFACELib.exg2antt.ClickEventHandler(this.exsurface1_Click); exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element 1",null,null); var_Elements.Add("Element 2",128,64); exsurface1.FitToClient(); exsurface1.EndUpdate(); |
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. private void exsurface1_MouseMoveEvent(object sender,short Button,short Shift,int X,int Y) { Object e = (exsurface1.get_ElementFromPoint(X,Y) as Object); exsurface1.PointToPosition(X,Y); System.Diagnostics.Debug.Print( e.ToString() ); System.Diagnostics.Debug.Print( X.ToString() ); System.Diagnostics.Debug.Print( Y.ToString() ); } //this.exsurface1.MouseMoveEvent += new exontrol.EXSURFACELib.exg2antt.MouseMoveEventHandler(this.exsurface1_MouseMoveEvent); exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element 1",null,null); var_Elements.Add("Element 2",128,64); exsurface1.FitToClient(); exsurface1.EndUpdate(); |
125 |
How can I convert the screen position (mouse) to surface position
// MouseMove event - Occurs when the user moves the mouse. private void exsurface1_MouseMoveEvent(object sender,short Button,short Shift,int X,int Y) { System.Diagnostics.Debug.Print( "Point " ); System.Diagnostics.Debug.Print( X.ToString() ); System.Diagnostics.Debug.Print( Y.ToString() ); exsurface1.PointToPosition(X,Y); System.Diagnostics.Debug.Print( "Position " ); System.Diagnostics.Debug.Print( X.ToString() ); System.Diagnostics.Debug.Print( Y.ToString() ); } //this.exsurface1.MouseMoveEvent += new exontrol.EXSURFACELib.exg2antt.MouseMoveEventHandler(this.exsurface1_MouseMoveEvent); exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>1",null,null); var_Elements.Add("Element <sha ;;0>2",164,64); var_Elements.Add("Element <sha ;;0>3",0,132); exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; var_Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); var_Links.Add(exsurface1.Elements[3],exsurface1.Elements[2],null); var_Links.Add(exsurface1.Elements[3],exsurface1.Elements[1],null); exsurface1.FitToClient(); exsurface1.AxisStyle = (exontrol.EXSURFACELib.LinesStyleEnum)0xc0; exsurface1.AxisColor = Color.FromArgb(128,128,128); exsurface1.EndUpdate(); |
124 |
Is is possible to show just the positive coordinates
|
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
|
118 |
How do I let user customizes the link's path
exsurface1.BeginUpdate(); exsurface1.AllowLinkControlPoint = (exontrol.EXSURFACELib.LinkControlPointEnum)0xffffff80 | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeTo | exontrol.EXSURFACELib.LinkControlPointEnum.exAllowChangeFrom | exontrol.EXSURFACELib.LinkControlPointEnum.exOrthoArrange | exontrol.EXSURFACELib.LinkControlPointEnum.exMiddleControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exEndControlPoint | exontrol.EXSURFACELib.LinkControlPointEnum.exStartControlPoint; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B",164,64); var_Elements.Add("Element <sha ;;0>B",0,132); exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; var_Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null).CustomPath = "0.5,0.25,0.5,.75"; var_Links.Add(exsurface1.Elements[3],exsurface1.Elements[2],null).CustomPath = "0.5,0.25,0.5,.75"; exontrol.EXSURFACELib.Link var_Link = var_Links.Add(exsurface1.Elements[3],exsurface1.Elements[1],null); var_Link.ShowLinkType = exontrol.EXSURFACELib.ShowLinkTypeEnum.exLinkStraight | exontrol.EXSURFACELib.ShowLinkTypeEnum.exLinkDirect; var_Link.StartPos = exontrol.EXSURFACELib.AlignmentEnum.LeftAlignment; exsurface1.Zoom = 200; exsurface1.FitToClient(); exsurface1.EndUpdate(); |
117 |
How can I generate a picture/image/graph from my diagram
exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element A",null,null).ID = "A"; var_Elements.Add("Element B",null,null).ID = "B"; var_Elements.Add("Element C",null,null).ID = "C"; var_Elements.Add("Element D",null,null).ID = "D"; var_Elements.Add("Element E",null,null).ID = "E"; var_Elements.Add("Element E",null,null).ID = "F"; exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["B"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["C"],null); var_Links.Add(exsurface1.Elements["B"],exsurface1.Elements["D"],null); var_Links.Add(exsurface1.Elements["B"],exsurface1.Elements["C"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["E"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["F"],null); exsurface1.set_DefArrange(exontrol.EXSURFACELib.DefArrangeEnum.exDefArrangeCompact,false); exsurface1.Arrange(null); object var_CopyTo = exsurface1.get_CopyTo("c:/temp/xtest.jpg"); System.Diagnostics.Debug.Print( "!!!check the file c:/temp/xtest.jpg!!!" ); |
116 |
How can I generate a picture/image/graph from my diagram
exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element A",null,null).ID = "A"; var_Elements.Add("Element B",null,null).ID = "B"; var_Elements.Add("Element C",null,null).ID = "C"; var_Elements.Add("Element D",null,null).ID = "D"; var_Elements.Add("Element E",null,null).ID = "E"; var_Elements.Add("Element E",null,null).ID = "F"; exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["B"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["C"],null); var_Links.Add(exsurface1.Elements["B"],exsurface1.Elements["D"],null); var_Links.Add(exsurface1.Elements["B"],exsurface1.Elements["C"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["E"],null); var_Links.Add(exsurface1.Elements["A"],exsurface1.Elements["F"],null); exsurface1.set_DefArrange(exontrol.EXSURFACELib.DefArrangeEnum.exDefArrangeCompact,false); exsurface1.Arrange(null); // Add 'exontrol.exprint.dll(ExPrint.dll)' reference to your project. // Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project. exontrol.EXPRINTLib.exprint var_Print = new exontrol.EXPRINTLib.exprint(); var_Print.PrintExt = (exsurface1 as exontrol.EXSURFACELib.exsurface); var_Print.CopyTo("c:/temp/xtest.jpg"); System.Diagnostics.Debug.Print( "!!!check the file c:/temp/xtest.jpg!!!" ); |
115 |
How can I print the component
exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B",0,76); exontrol.EXSURFACELib.Element var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32); var_Element.AutoSize = false; var_Element.Height = 32; exontrol.EXSURFACELib.Element var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32); var_Element1.AutoSize = false; var_Element1.Height = 32; exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; exontrol.EXSURFACELib.Link var_Link = var_Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); var_Link.StartPos = exontrol.EXSURFACELib.AlignmentEnum.CenterAlignment; var_Link.EndPos = exontrol.EXSURFACELib.AlignmentEnum.CenterAlignment; exontrol.EXSURFACELib.Link var_Link1 = var_Links.Add(exsurface1.Elements[2],exsurface1.Elements[1],null); var_Link1.StartPos = exontrol.EXSURFACELib.AlignmentEnum.CenterAlignment; var_Link1.EndPos = exontrol.EXSURFACELib.AlignmentEnum.CenterAlignment; var_Links.Add(exsurface1.Elements[3],exsurface1.Elements[4],null); exontrol.EXSURFACELib.Link var_Link2 = var_Links.Add(exsurface1.Elements[4],exsurface1.Elements[3],null); var_Link2.StartPos = exontrol.EXSURFACELib.AlignmentEnum.LeftAlignment; var_Link2.EndPos = exontrol.EXSURFACELib.AlignmentEnum.RightAlignment; // Add 'exontrol.exprint.dll(ExPrint.dll)' reference to your project. // Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project. exontrol.EXPRINTLib.exprint var_Print = new exontrol.EXPRINTLib.exprint(); var_Print.PrintExt = (exsurface1 as exontrol.EXSURFACELib.exsurface); var_Print.Preview(); |
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
exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; exontrol.EXSURFACELib.Element var_Element = var_Elements.Add("caption",null,null); var_Element.CaptionSingleLine = exontrol.EXSURFACELib.CaptionSingleLineEnum.exCaptionWordWrap; var_Element.Caption = "first caption<br>second caption<br>third caption"; exsurface1.EndUpdate(); |
110 |
How do I align the extra-caption
exsurface1.BeginUpdate(); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; exontrol.EXSURFACELib.Element var_Element = var_Elements.Add("caption",null,null); var_Element.AutoSize = false; var_Element.Width = 128; var_Element.Height = 64; var_Element.ExtraCaption = "extra-caption"; var_Element.ExtraCaptionAlign = exontrol.EXSURFACELib.ContentAlignmentEnum.exBottomRight; exsurface1.EndUpdate(); |
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
exsurface1.BeginUpdate(); exsurface1.AllowMoveNeighbors = exontrol.EXSURFACELib.MoveNeighborsEnum.exMoveNeighborsHorizontally; exsurface1.set_DefArrange(exontrol.EXSURFACELib.DefArrangeEnum.exDefArrangeDir,1); exsurface1.AllowInsertObject = false; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B ( move it )",16,32); var_Elements.Add("Element <sha ;;0>C",128,0); exsurface1.EndUpdate(); |
107 |
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
exsurface1.BeginUpdate(); exsurface1.AllowMoveNeighbors = exontrol.EXSURFACELib.MoveNeighborsEnum.exMoveNeighborsVertically; exsurface1.set_DefArrange(exontrol.EXSURFACELib.DefArrangeEnum.exDefArrangeDX,0); exsurface1.set_DefArrange(exontrol.EXSURFACELib.DefArrangeEnum.exDefArrangeDY,0); exsurface1.AllowInsertObject = false; exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B ( move it )",0,32); var_Elements.Add("Element <sha ;;0>C",0,64); exsurface1.EndUpdate(); |
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. private void exsurface1_AddLink(object sender,exontrol.EXSURFACELib.Link Link) { } //this.exsurface1.AddLink += new exontrol.EXSURFACELib.exg2antt.AddLinkEventHandler(this.exsurface1_AddLink); exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B",48,48); exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; var_Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); |
103 |
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)
exontrol.EXSURFACELib.Elements var_Elements = exsurface1.Elements; var_Elements.Add("Element <sha ;;0>A",null,null); var_Elements.Add("Element <sha ;;0>B",48,48); exontrol.EXSURFACELib.Links var_Links = exsurface1.Links; exontrol.EXSURFACELib.Link var_Link = var_Links.Add(exsurface1.Elements[1],exsurface1.Elements[2],null); var_Link.StartPos = exontrol.EXSURFACELib.AlignmentEnum.DownAlignment; var_Link.EndPos = exontrol.EXSURFACELib.AlignmentEnum.UpAlignment; |
102 |
How do I enable the cross link support ( mixed )
|
101 |
How do I enable the cross link support ( triangular )
|