Introduction

FlowChartX Programmer's Guide
Introduction

FlowChartX is a general-purpose software component that can be used to display various types of diagrams and charts, in many different formats. It is implemented as an ActiveX control and can be easily integrated into any application targeting Microsoft Windows. By providing your software with ready to use capabilities for visualizing and editing relational data, FlowChartX saves you from hundreds of hours of coding and debugging efforts.

FlowChartX can give graphical representation to:

  • Workflow processes
  • Object hierarchies and relationships
  • Graphs and networks
  • Entity-relationship / database diagrams
  • IVR systems
  • Industrial automation processes
  • Genealogy trees
  • Algorithms and flowcharts
  • Organizational charts
  • XML documents
  • Classification hierarchies
  • And much more

FlowChartX provides intuitive user-interaction model for creating or editing diagrams. In addition, its programmatic interface places at your disposal many useful functions, ranging from printing and XML serialization to path-finding and automatic layout algorithms.

The control has been tested with numerous development environments and programming languages, and is used by companies from all around the world to create applications in Visual C++, Visual Basic, C# or VB.NET, Visual FoxPro, Borland Delphi, VBA, PowerBuilder, Advantage Gen, Progress 4GL, Clarion, Cosmos/COOL, and more.

© 2019 MindFusion


FlowChartX Features

FlowChartX Features

The FlowChartX control

  • Redistribution is royalty free
  • A native 64-bit version available
  • Is digitally signed
  • Is written in C++ using ATL and WTL
  • Can be purchased with source code

User interaction

  • Several user interaction modes
  • Scrolling and zooming
  • Additional Overview control
  • Automatic scrolling while dragging objects with the mouse
  • Alignment to grid
  • Node alignment guides
  • Multiple selection
  • Tool-tips
  • Docking points can be defined for nodes
  • Undo / redo ( [image] a feature of FlowChartX Pro edition)
  • Clipboard operations ( [image] a feature of FlowChartX Pro edition)

Programming

  • Programmatic access to the diagram objects and selections
  • Numerous properties for customizing appearance and behavior
  • Numerous utility methods
  • Rich event set

Store and retrieve diagrams into/from

  • Files on disk
  • OLE streams
  • ASCII strings
  • XML documents

Output

  • To screen using the Windows GDI or GDI+
  • Printing and print preview
  • Integrate diagrams into VSVIEW reports
  • Create metafile or bitmap images

Import and export

  • Export images in BMP, JPEG, GIF, TIFF, PNG formats
  • Export metafiles
  • Import Visio 2003 VDX files ( [image] a feature of FlowChartX Pro edition)
  • Export Visio 2003 VDX files ( [image] a feature of FlowChartX Pro edition)
  • Export SVG files ( [image] a feature of FlowChartX Pro edition)

Diagram elements

  • 87 predefined node shapes
  • Shapes can be rotated
  • Tables with unlimited number of rows and columns
  • Table cells can span several rows and columns
  • Arrows can comprise multiple segments
  • Arrow segments can be straight lines or curves

Automatic layout

  • Directional tree layout
  • Radial tree layout
  • Spring-Embedder graph layout
  • Fractal tree layout ( [image] a feature of FlowChartX Pro edition)
  • Layered graph layout ( [image] a feature of FlowChartX Pro edition)
  • Grid graph layout ( [image] a feature of FlowChartX Pro edition)
  • Annealing graph layout ( [image] a feature of FlowChartX Pro edition)
  • Circular graph layout ( [image] a feature of FlowChartX Pro edition)
  • Decision flowchart layout ( [image] a feature of FlowChartX Pro edition)
  • Route arrows to avoid crossing nodes ( [image] a feature of FlowChartX Pro edition)

Appearance

  • Nodes can display images and text
  • Glass and Aero visual effects
  • Various text alignment styles
  • Text can be laid-out in polygonal areas
  • Customizable fonts and colors
  • Ability to define custom node shapes
  • Custom painting of nodes
  • Shadows
  • User-assigned mouse cursors
  • Z order
  • Rich choice of pen and brush styles
  • Transparent nodes
  • Invisible nodes
  • Anti aliasing and smoothing
  • Semi transparency

Behavior

  • Lock diagram elements
  • Read-only mode supported
  • Tables can be scrolled
  • Expand / collapse object hierarchies
  • In-place text editing
  • Dynamic positioning of arrows relative to linked nodes

Structure

  • Link nodes to nodes
  • Link tables rows to table rows
  • Link table rows to nodes
  • Link nodes to tables
  • Unconnected arrows

Hierarchical grouping

  • Attaching objects (nodes/tables) to other objects
  • Attaching objects to arrow control points
  • Attaching objects to arrow segments


What's New in This Release

What's New in This Release

The list below describes recent changes and additions to FlowChartX:

New in version 4.9.5

Selection improvements

  • Pen style and color of the selection lasso can be customized via LassoStyle, LassoWidth and LassoColor properties of SelectionOptions.
  • Holding Shift when drawing selection lasso will extend multiple selection, without deselecting previously selected items.
  • Dragging the pointed item when ModificationStart mode is set to auto-handles and holding down Ctrl will add the item to multiple selection.
  • Set the fDisableSelectionDirtyFlag bit of EventFlags to prevent setting Dirty when selection changes.

Flowchart size and scrolling

  • AutoSizeDirections property of FlowChart specifies in what directions auto-sizing should be allowed.
  • AutoScrollType property of FlowChart toggles between two auto-scroll modes.
  • ncKeepInsideDiagram constraint can now be assigned to a node's Constraints.

Miscellaneous

  • Type-specific BoxModified, TableModified and ArrowModified events are now raised in addition to the general ObjectModified.
  • SetTextPadding method added to the Box class.
  • The TextFits method determines whether text fits inside current size of a box.

New in version 4.9.4

Flip shapes

The shape of bsShape boxes can be flipped horizontally or vertically. Enable the AllowFlip property and the shape flips when an edge is dragged over its opposite edge. You can get or set current flip state using FlipX and FlipY properties.

Arrow improvements

  • ArrowsSplittable now works for Bezier links too. Users can insert a new Bezier segment by dragging any point (other than a control point) of a selected link. Adjacent segments can be merged back into a single one by dragging a tangent control point (square adjustment handle) onto a pass-through control point (round adjustment handle).
  • IntermArrowHead shapes are now rendered at correct position for Spline links.

Miscellaneous

  • KeepGroupLayout property now available in all graph layout classes (previously only in TreeLayout). If KeepGroupLayout is enabled, a group of nodes is treated as single vertex of the graph being arranged, and initial relative positions of group's nodes are preserved.
  • The bhPan Behavior value lets you pan the view without holding down modifier keys.


Version History

Version History

The list below describes recent changes and additions to FlowChartX:

New in version 4.9.3

Tree map layout

( [image] a feature of FlowChartX Pro edition)

Tree maps represent hierarchies by nesting child nodes within their parents, where the areas of leaf nodes are proportional to their Weight values. Unlike other layout algorithms, TreeMapLayout expects hierarchies to be defined via grouping or containment (see Group class and bsContainer boxes), and will ignore any links in the diagram. The diagram area covered by the topmost nodes in a hierarchy is specified via the SetLayoutArea method. By default, the layout tries to keep the ratio of node sides as close as possible to one. However this could make it hard to distinguish separate levels of the hierarchy. To alleviate that, set Squarify to false, and child nodes will be arranged either as a row or a column inside their parent node, alternating directions for each level. The drawback is that when Weight ratios differ greatly or nodes contain many children, some nodes could end up with very narrow rectangles.

Arrow improvements

  • The component no longer keeps a separate segmentCount field, removing a common source of errors. The Segments property now calculates its value from ControlPoints elements.
  • The new bsSpline element of EArrowStyle enumeration draws links as interpolating splines that pass through all of their control points:

Miscellaneous

Weight property added to item classes. Apart from TreeMapLayout, it is also used by SpringLayout implementation to adjust arrow lengths.

New in version 4.9.2

Resize table columns and rows

Columns and rows of a Table node can now be resized interactively if its AllowResizeColumns or AllowResizeRows properties are enabled. In order to resize, move the mouse pointer to the border line on column's right side or row's bottom side until it shows resize cursor and start dragging. The control raises TableColumnResized and TableRowResized events when the operation completes.

License keys

There is no separate trial build of the control's libraries provided anymore. Instead, call the SetLicenseKey method of FlowChart class to disable the component's evaluation mode and stop displaying trial messages. License key strings are now listed on the Keys & Downloads page at MindFusion's customer portal. Keys for MindFusion.Diagramming Pack will now work for ActiveX control too.

Miscellaneous

  • Table nodes can be roots of collapsible tree branches too. The Table class now provides Expandable and Expanded properties, and Expand and Collapse method. The control raises TableCollapsed and TableExpanded events when a table-rooted branch is collapsed or expanded.
  • The ExportString method of SvgExporter returns a string containing the SVG markup.
  • Fixed crash in integrated SvgExporter class.

New in version 4.9.1

Highlight table rows

Set the HighlightedRow property of a Table to the index of a row that should be drawn highlighted. Highlighted rows' backround is painted in RowHighlightColor. If you enable the AutoHighlightRows property, a row will be highlighted automatically when clicked.

Miscellaneous

  • VisioImporter, VisioExporter and SvgExporter has been merged into the main flowchartx.dll library file, and can now be used with its 64-bit version.
  • Set the BackColor property of ArrowLabel to fill the background of link labels.
  • Link segments now connect to the base of arrowhead shapes instead of going all the way through them, letting you use transparent and semi-transparent fill color for arrowheads without seeing segment ends inside.
  • Fixed crash in 64-bit SaveToBitmap function.

New in version 4.9

Resize multiple nodes

Now it is possible to resize multiple selected nodes simultaneously. To enable that, set the AllowMultipleResize property to true. When enabled, dragging a corner or side adjustment handle of any node resizes all nodes in the selection. The operation will be cancelled for all nodes if any of them does not accept its new size, e.g. if width or height is 0 or because of other constraints.

Decision flowchart layout

( [image] a feature of FlowChartX Pro edition)

DecisionLayout arranges simple flowcharts consisting of decision boxes with up to three outgoing links per node and activity boxes with a single outgoing link per node. The nodes are arranged in columns and rows, whose distance depends on the HorizontalPadding and VerticalPadding property values. When links share the same row or column, they are placed at a distance specified via LinkPadding. The layout arranges nodes recursively starting from StartNode. If StartNode is not specified, the algorithm selects the root of the deepest branch of the graph's spanning tree as start node.

New in version 4.8

Multiple labels per arrow

The ArrowLabel class allows multiple captions to be displayed for a single Arrow object. Arrow labels provide a set of properties allowing full customization of their format and appearance: Text, Font, TextColor, EnableWrap, MaxWidth, Margin. The positions of labels is specified via RelativeTo, Index, HorizontalAlign, VerticalAlign, HorizontalOffset, VerticalOffset properties, where RelativeTo lets you bind labels to a specific control point or segment specified by Index, or to a percent of the arrow's Length. Labels can also be arranged automatically to avoid overlapping nodes and other labels by setting their AutoArrange property to true. The LabelFromPoint method of Arrow class lets you find the label at mouse position from events such as ArrowClicked. The AddLabel, RemoveLabel, GetLabel and GetLabelCount methods provide access to the underlying label collection.

Edit arrow text in-place

Text of arrows can now be edited interactively by the user. To enable that, set their AllowInplaceEdit property to true. To start editing, double click an Arrow or an ArrowLabel. Edit mode can also be entered by calling the BeginInplaceEdit method, specifying null as argument to edit the arrow's old-style Text property. When the user accepts entered text, the control raises ArrowTextEdited or ArrowLabelEdited event.

Miscellaneous

  • Several new predefined shape templates available - RightTriangle, Decagon, Trapezoid, Star4Pointed, Star5Pointed, Star6Pointed, Star7Pointed, Star16Pointed, Star24Pointed, Star32Pointed, Donut and Plaque.
  • New sstRoundAndSquare and sstRoundAndSquare2 handle styles can be assigned to the SelStyle property of nodes.

New in version 4.7

Glass and Aero effects

In GDI+ mode, FlowChartX can apply two kinds of visual effects to nodes, Glass and Aero. To apply an effect to all nodes in a flowchart, call the AddAeroEffect or AddGlassEffect method of the FlowChart class. To apply an effect to individual nodes, call the AddAeroEffect or AddGlassEffect method of Box or Table. It is possible to combine different effects or apply more than one effect of the same type by calling these methods multiple times. For more information, see the Node Effects topic.

Miscellaneous

  • Specify padding distance between selected items and the selection frame via SelectionOptions.FramePadding;
  • SelectionOptions.ShowItemHandles specifies whether to show handles of individual items in multiple selection;
  • The Arrow.Segments property can now be set regardless of whether auto-routing is enabled or the arrow is a self-loop;
  • When an arrow becomes a self-loop with a Table as target node, its end stay connected to the table's rows and the arrow shape is set to an orthogonal sequence of segments connecting the rows;
  • SetSelfLoopShape event is now raised to let you set custom shape for self-loop arrows;

New in version 4.6

Ruler control

( [image] a feature of FlowChartX Pro edition)

The Ruler control provides horizontal and vertical scales that helps users measure flowchart items. To specify which FlowChart instance is shown in the ruler, set the Document property.

The ruler tracks mouse movements and modifications being performed on an item, and displays markers over the scales indicating the current position in diagram's coordinate system. The colors of these markers can be changed using the PointerColor and ProjectionColor properties.

If EnableGuides is set to true, the ruler allows aligning several items by clicking on a scale and dragging. That displays alignment guides which follow the mouse pointer and move all selected items on their way. If no diagram elements are selected, all items are moved.

To specify what units are displayed in the scales, assign a member of the EUnit enum to the BaseUnit property, and set UnitScale to define how much the BaseUnit should be scaled.

Preserve order in TreeLayout

If the PreserveOrder property of TreeLayout is enabled, the layout object will preserve the original geometric order of child nodes when arranging them under their parent. This can be used to arrange tree branches in a specific order by first positioning them in increasing horizontal or vertical positions. Another possibility is to apply TreeLayout from ObjectModified event handlers to let users rearrange the tree branches by dragging and dropping a node.

Table footers

Table nodes can display footer text, specified via their Footer property. The height of the footer area is set via FooterHeight. It can be further customized using the FooterStyle, FooterColor and FooterFillColor properties.

Miscellaneous

  • setting Behavior to bhSelectOnly allows user to only select existing items, but not modify them or draw new ones
  • the last row in a Table will now be rendered clipped if it fits only partially inside the node, whereas in previous versions the row would not be rendered at all
  • PrintOptions.HeaderFont specifies the font for the header of a printed page
  • intermediate arrowhead shapes are now rendered for Bezier links

New in version 4.5

Fractal tree layout

( [image] a feature of FlowChartX Pro edition)

FractalLayout is a tree layout algorithm that places child nodes symmetrically around their parent node. Nodes at the lowest level are arranged directly in a circle around their parent. At upper levels, the already arranged nodes form branches that are arranged in a circle around the new parent node. The algorithm is recursively repeated till the highest level is reached. If nodes in the tree have uniform number of children, the end result has fractal-like appearance (subsets of the graph look like scaled-down copies of the whole graph).

You can choose which node should be displayed at the center of the topmost circle by setting the Root property. If it is not specified, the algorithm automatically selects a root that leads to more balanced distribution of nodes.

LayeredLayout enhancements

  • Specify start and end nodes in LayeredLayout via the StartNode and EndNode properties.
  • EnforceLinkFlow specifies whether to attempt to force all links to go in the same direction. If the graph being arranged contains cycles, some of the links will still go backward.

Alignment guides

If SnapStyle is set to the new snpAlignmentGuides member of ESnapStyle, the node currently being drawn or resized is aligned to another node so that a pair of their vertical or horizontal sides become collinear. To specify the maximal distance at which nodes are aligned, set the SnapDistance property. The pair of aligned nodes is indicated visually by drawing an alignment guide using the pen specified via AlignmentGuideColor and AlignmentGuideStyle.

Miscellaneous

  • AddToSelection, RemoveFromSelection and DeleteItem methods now work for DecorationLine objects.
  • The caption bar of a table can be filled with a gradient. Set CaptionFillColor, CaptionFillColor2 and CaptionGradientAngle to customize the gradient.
  • Set CellType to ctCheckBox to display a checkbox inside a table cell. CellValue gets or sets the checkbox state.

New in version 4.4

Simulated Annealing graph layout

( [image] a feature of FlowChartX Pro edition)

The AnnealLayout class implements the Simulated Annealing graph layout algorithm. Simulated Annealing is a general-purpose optimization method used to solve large-scale combinatorial problems by simulating the process of heating and cooling of metal to achieve freedom from defects. Finding a nice arrangement of a graph is a combinatorial problem that can be reduced to assigning costs to graph configurations and finding the minimum cost configuration. AnnealLayout assigns costs to graph configurations by evaluating different aesthetic criteria such as distance between nodes, length of links and the number of link crossings. Thus the best configuration found will have good aesthetic properties.

Miscellaneous

  • Limit the number of links bends in LayeredLayout by setting StraightenLongLinks.
  • Color of the tracking rectangle in the Overview control can be set via the TrackingRectColor and TrackingRectColorAlpha properties.
  • More precise text measuring in GDI+ mode.

New in version 4.3.1

BPMN shapes

This version adds predefined ShapeTemplate definitions that implement the Object Management Group / Business Process Management notation. They are available as members of the Shapes collection and have names that start with a Bpmn prefix. The new shapes and their identifiers are listed in the predefined shapes table.

Miscellaneous

  • The InplaceEditAcceptOnEnter and InplaceEditCancelOnEsc properties specify whether the ENTER and ESC keys end the edit operation.
  • Boxes that host ActiveX controls now can also render shapes if DrawAxBoxShapes is enabled.
  • The StartFilledDecoration and EndFilledDecoration methods of ShapeTemplate can be used to add filled decorations to the template.

New in version 4.3

Layout enhancements

  • The MultipleGraphsPlacement property of layout classes specifies how multiple independent graphs in the diagram should be positioned relatively to each other.
  • The SplitGraph property of layout classes specifies whether to arrange the diagram subgraphs independently from each other or arrange the graph as a whole.

Decoration objects

Decorations are lightweight objects that can be used for drawing background graphics such as frames, lane divider lines, etc. Decorations do not participate in graph or parent-child relationships with other objects in the flowchart. The only decoration type available at this time is DecorationLine. Methods and properties corresponding to it has been added to the FlowChart class, such as CreateDecorationLine method, Decorations collection, DecorationClicked event, etc.

Container enhancements

  • The LayoutStyle of bsContainer boxes can be set to lsCustom to enable custom layout of the child nodes.
  • Automatic resizing of container boxes can be enabled or disabled by means of the AutoResizeContainer property.
  • Containers can be explicitly resized to fit their children by calling the ResizeToFitChildren method.

Miscellaneous

  • Border color of items can be made semi-transparent by setting the FrameColorAlpha property.
  • Anti-aliasing can be enabled or disabled for individual boxes by setting their TextAntiAliasing property.
  • Arrows can be custom-drawn by setting their CustomDraw property and handling the DrawArrow event.
  • Tables can be custom-drawn by setting their CustomDraw property and handling the DrawTable event.
  • Tooltips auto-pop time can be set through the ToolTipAutoPop property.
  • The DocBoundsChanged event is raised when the flowchart document area is resized.
  • HtmlBuilder now exports items in reverse Z order to fix hit-testing of overlapping areas in the image map.

New in version 4.2.1

CircularLayout

CircularLayout distributes nodes evenly on the circumference of a circle at positions that result in as few link crossing as possible. Set its Radius property to specify the size of the layout circle. Use SiftingRounds to set the number of fine-tuning crossing-reduction iterations. To apply the layout to a diagram, create a CircularLayout instance, set its members and invoke the ArrangeDiagram method.

Miscellaneous

  • The origin or destination row of an arrow connected to a table can be changed by means of the ChangeRelation method.
  • The CaptionStyle of a table can be set to tsBelow to display the caption text below the table.
  • The Clone method can be used to clone flowchart items.
  • The IgnoreNodeSize property of LayeredLayout specifies whether the size of nodes should be considered by the algorithm.
  • The LayoutProgress event is raised regularly during execution of layout algorithms to allow tracking the layout progress.
  • EnableShadows and EnableSelHandles properties added to ImageExportOptions.

New in version 4.2

Native 64-bit support

This release includes an x64 version of the control. The dynamic load library files are now called flowchartx32.dll, flowchartx64.dll, fcxstd32.dll and fcxstd64.dll, respectively for the 32 and 64-bit builds of the Pro and Standard editions.

Improved binary serialization

The bitmap data of image objects that are shared between multiple nodes is now saved just once in binary-format files. Calling SaveToFile for flowcharts that contain multiple images should create much smaller files that older versions.

XML serialization based on MSXML6

The XML serialization code has been updated to use version 6 of MSXML (Microsoft XML Core Services). Older versions of the control used MSXML4. Accordingly, installer packages for applications that save FlowChartX files in XML format should now include the MSXML6 installer module.

Miscellaneous

  • Table cells can have distinct tool-tips that can be set through the new CellToolTip indexed property.
  • The location of arrow labels can be changed through the SetTextPosition method.
  • The speed of the GridLayout algorithm has been greatly improved.
  • The HeaderTextStyle property of PrintOptions lets you change the alignment of the header text.

New in version 4.1.5

Styled text in tables

The EnableStyledText property allows using HTML-like formatting tags to apply various attributes to the table caption and the text of cells. As with Box objects, such text can be rendered only when the CaptionStyle or the cell's text style is set to one of the following values: tsFitPolyTop, tsFitPolyCenter or tsFitPolyBottom. The formatting tags supported at this time are <b>, <i>, <u>, <sub> and <sup>.

New XML format

The FlowChart class provides SaveToXml and LoadFromXml methods that implement serialization in a new XML format. This new format is supported by other MindFusion diagramming components, such as Flowchart.NET, JDiagram and WpfDiagram. It provides several improvements over the old format; for example when saving an image shared between multiple nodes, the image data is saved just once, while with the old format the image was copied for each node. The XMLWriter and XMLReader classes are still available for compatibility reasons, but they will be removed from the next major FlowChartX release.

Miscellaneous

  • More optimizations in the GDI+ graphics engine.
  • AddAnchorPointF and GetAnchorPointF methods added for a greater precision of anchor point definitions.
  • The Repaint method lets you refresh custom-drawn boxes when the data they display changes.
  • BackColor property added to the Overview class.
  • SwapPairsIterations property added to LayeredLayout.
  • If the scrollbars are not needed because the visible region is larger than the document size, they are either hidden or disabled, as set via DisableNoScroll.
  • Now RequestDelete* events are also raised when cutting items to the clipboard.
  • The Route method lets you run the routing algorithm for a single Arrow.
  • The RowFromPoint and ColumnFromPoint let you find which cell of a table contains the specified point.

New in version 4.1.4

Rendering improvements

  • The GDI+ graphics engine has been optimized; drawing should be much faster now when it is enabled.
  • Improved refresh rate when auto-scrolling.

VisioExporter improvements

  • Now Visio connectors will stay connected to the cell they originally pointed to when exporting using the ExportTablesAsGroups property of VisioExporter.
  • Improved mapping for the Delay and several Arrow symbols to Visio shapes.
  • Better handling of text alignment.
  • Better handling of table cells' properties.
  • Fixed a bug where the BoxPicture would appear in exported table cells.

Miscellaneous

  • FlowChart.VariantTag property added.
  • Now it is safe to show message boxes or modal dialogs from handlers of mouse-up related events.

Fixed bugs

  • Fixed a crash that occurred when assigning null to some FlowChart string properties.
  • Fixed a bug in Symmetric tree layout that caused some nodes to be placed at wrong positions.
  • Now the document is scrolled to 0,0 when the scrollbars are automatically hidden after resizing the control.

New in version 4.1.3

Fixed bugs

  • Fixed a bug where fonts of existing table cells were lost when adding new rows or columns.
  • Fixed a bug where ShowPageMarkers worked correctly only if MeasureUnit is set to uPixel.
  • Fixed a memory leak in XMLReader.

Miscellaneous

  • Improved ResizeToFitText results when running in GDI+ mode.
  • For customers with a source code license - we have updated the FlowChartX C++ code so that it compiles without any modifications in Visual Studio 2005.
  • We have updated a few MFC examples so that they build without errors in Visual Studio 2005.
  • Settable Origin and Destination properties added to the Arrow class.
  • Improved zoom feature in the print preview window.
  • We had to change the signature of the Export method of SvgExporter component. As a result, the CLSID and IID identifiers for the component have been changed too.

New in version 4.1.2

Print preview improvements

  • The OpenPreviewWindow method ?pens a print preview window at the specified location.
  • The PrintPreview class provides properties about several aspects of the print-preview:
  • The WindowHandle property gets a HWND handle to the window.
  • The CurrentPage property allows specifying the current page to show in the preview window.
  • The ZoomFactor property allows changing the zoom factor for the page preview image.
  • The SetWindowRect method sets the location of the preview window.

Table improvements

  • The CellFont property lets you assign distinct fonts to table cells.
  • The ResizeToFitText method resizes all columns and rows of a table so that each table cell fits its text on a single line without clipping it.
  • The GetTableAt method has been added to the FlowChart class; it finds out which table contains a specified point.

More precise hit-testing for multiple selection

In older versions, items were included in multiple selection when the items' bounding rectangles intersected the selection rectangle. That could lead to arrows with more than one segments or boxes with irregular shapes being included in the selection without the selection rectangle actually touching them. Now items are hit-tested using their exact outlines, instead only their bounding rectangles.

Base64 encoding

Now FlowChartX uses base64 instead of hexadecimal encoding when serializing a diagram into a string (SaveToString and LoadFromString methods) and when serializing images in XML documents. This leads to a more compact text representation of the binary data.

Separate properties for rotating the text and picture in a box

  • The RotateText property specifies whether the text in a box is rotated when the box is rotated.
  • The RotateContents property specifies whether the picture in a box is rotated when the box is rotated.

Note

In the previous version 4.1.1, the RotateContents property applied to both rotating the picture and the text in the box.

Coordinate transformation methods in ScriptHelper

  • DocToClientX and DocToClientY method performs conversion of point coordinates from document to device coordinate system.
  • ClientToDocX and ClientToDocY method transforms point coordinates from device to document coordinate system.

Miscellaneous

  • The MeasureString method allows finding out the width and height of a rectangle that will enclose a string rendered in a particular font.
  • The SelectionMoved event occurs when selected diagram items are moved.
  • Support for XML serialization of the Tag and UserData properties.

New in version 4.1.1

Arrow appearance enhancements

The RoundedArrows and RoundedArrowsRadius properties allow using arcs as joins between straight arrow segments. If ArrowCrossings is set to acArcs, adjacent arcs drawn over an arrow's crossing points will be merged into one longer arc.

Utility methods for scripting in IE

The LoadImageFromUrl method lets you load an image from a server via http. The CreateFont method lets you create OLE Font objects from JavaScript or VBScript. This method avoids the IE security warnings displayed when creating instances of the "stdfont" class through VBScript CreateObject or JavaScript new ActiveXObject.

Improved import and export classes

Now the VisioImporter component can import UML activity diagrams. The ExportTablesAsGroups property of VisioExporter provides better support for exporting tables.

Panning enhancements

Panning can be done with the middle mouse button, as set in MiddleButtonAction. A custom pan cursor can be set with the SetMouseCursor method.

Additional events

The BoxModifying, ArrowModifying and TableModifying events are raised while moving or resizing items. These are validation events that let you prevent the modification of items.

The RequestCreate* events can be raised after each mouse movement while creating an item, as set in EventFlags.

Miscellaneous

  • BeginInplaceEdit and EndInplaceEdit methods added to the Table class.
  • AttachToLongestHSegment method added to the Group class.
  • Invisible items are no longer exported by HtmlBuilder.
  • Exported HTML image maps now use the TITLE tag instead of ALT to display tooltips.
  • The Overview control is now marked as safe for scripting.
  • Now the value of the ShowShadows property is considered when exporting images.

New in version 4.1

Shape definition improvements

  • The Picture property of the ShapeTemplate class lets you associate an image with a shape definition. That image is displayed in all instances of that shape, unless the Picture property of a box is explicitly set. Shape definitions also provide a SetPictureRect method which sets where an image is displayed relatively to the bounding rectangle of a box.
  • Shape decoration elements can be displayed in a different color as specified in the DecorationColor property of boxes.
  • Shape decoration elements can be rendered for Transparent boxes if the respective flag in RenderFlags is set.

Enhanced arrow interactivity

  • Now users may change the orientation of cascading arrows whose PrpStartOrientation is set to soAuto. That can be done by dragging the control point next to the first or last one to its opposite corner in the rectangle defined by its two adjacent segments. Depending on the value of ArrowsSplittable, the arrow orientation is changed by either inserting a new segment and changing only the orientation of the first or last segment (ArrowsSplittable is true), or by changing the orientation of all segments of the arrow (ArrowsSplittable is false).
  • New arrows are routed while users draw them if the raWhileCreating flag is set in the TriggerRerouting property of RoutingOptions.
  • The MergeThreshold property specifies how closely one to another users should move two control points of an arrow in order to merge segments of that arrow.
  • If a cascading arrow has only two segments and ArrowsSplittable is enabled, the user can add new segment by dragging the middle control point of the arrow.

Initialization events

New initialization events have been added. They are raised when a user starts drawing an item. By handling them you can set up the appearance of the item before the user sees it on the screen. The new events are InitializeBox, InitializeTable and InitializeArrow.

Routing algorithm improvements

  • The Anchoring property added to RoutingOptions lets you specify whether routed arrows should be docked to the anchor points of nodes.
  • The speed of the routing algorithm has been improved a bit.
  • The algorithm now finds better routes in the situation where arrow's origin and destination nodes are very close one to another.

Miscellaneous

  • The OrgnAnchor and DestAnchor properties of the Arrow class let you change the origin and destination anchor points programmatically.
  • The AllowIncomingArrows and AllowOutgoingArrows properties of the node classes specify whether users are allowed to draw arrows to/from a node.
  • The ToolTipDelay property specifies the delay before a tool tip pops up when the mouse rests over a diagram item.
  • The BoxPicture and BoxPicturePos properties specify the default image that should be displayed in new boxes and the default image alignment.
  • The ControlPadding property specifies how much space to leave between an ActiveX control hosted in a box and the box borders.
  • The selection frame drawn for the sstMoveOnly SelStyle is now painted in the color specified in SelMnpColor.
  • The LayeredLayout speed has been improved.
  • Previous versions of FlowChartX could not host ActiveX controls created with the latest MFC version; now that works.
  • Arrow objects now take up less memory.
  • Now the Overview control can be used in HTML pages.
  • The OnDataChange notification is sent through the OLE IAdviseSink interface when the diagram changes.

Fixed bugs

  • The LayeredLayout could crash when SplitLayers is enabled.
  • GridLayout could crash when grouped objects have their IgnoreLayout property enabled.
  • The TableCellStartDrag event was not raised in some circumstances.
  • Arrow crossings decorations were drawn even if arrows cross invisible arrows.
  • The values of a couple of the RoutingOptions properties were uninitialized.


FlowChartX Editions

FlowChartX Editions

FlowChartX is available in two editions - Standard and Professional. Advanced features that are expensive for us to develop usually end up in the Pro version. FlowChartX Pro includes all the functionality of the standard edition, plus:

  • support for multi-level undo and redo
  • clipboard operations: copy, cut and paste
  • LayeredLayout automatic layout algorithm
  • GridLayout automatic layout algorithm
  • AnnealLayout automatic layout algorithm
  • FractalLayout automatic layout algorithm
  • Ruler control
  • automatically route arrows to avoid crossing nodes
  • container nodes that can hold other nodes
  • hosting ActiveX controls in diagram nodes
  • export or import Visio 2003 VDX files
  • export SVG (Scalable Vector Graphics) files
  • support for shape library plugins

There is a separate trial version for the Professional edition available here. Download it if you are interested in evaluating the features listed above. If you are not sure what is the edition of the demo you have, please check the name of the control's dll file; it should be called flowchartpro.dll for the Pro version.


User Interaction with the Control

User Interaction with the Control

Most likely, an application would use FlowChartX to enable users to interactively create diagrams, flowcharts and other kinds of presentation documents. A user composes or edits a diagram by drawing its items on the FlowChartX document area. With the help of a mouse or other pointing device, users create boxes, tables and arrows, possibly connecting them in complex hierarchies, graphs, trees or other structures they might need.

Creating new items

A new item is created by pressing a mouse button and dragging. While a user draws with the mouse, the view of the control is updated to show what the new item would look like at the pointer location. If the operation cannot be completed at current mouse position, the cursor changes to a crossed out circle. When the user releases the button, the item is created. Arrows can be created only between two nodes. Drawing of zero-size boxes is not permitted.

Modifying items

A user modifies an item by dragging its selection handles. The ModificationStart property specifies when these handles appear. The first option, msAutoHandles, makes the handles appear when the mouse hovers over an item; modification of the item can start immediately by pointing it and dragging a handle. The second option is msSelectedOnly: in order to be modified, an item should first be selected. Selection handles appear around the item to indicate that now it can be moved or resized. Their number and functionality depends on the item type and the value of item's SelStyle property. It is possible to implement own drawing and hit-testing of selection handles by assigning sstCustom to SelStyle and handling the DrawSelHandles and HitTestSelHandles events.

Modifying a box

Usually boxes provide 9 handles. If the one at the center is dragged, the box moves. Four handles at the corners resize the box by moving the two sides adjacent to the corresponding corner. Handles placed at the center of the four sides resize in horizontal or vertical directions only. Each handle can be enabled or disabled by setting or clearing the respective bit in MnpHandlesMask.

Modifying an arrow

Variety and behavior of arrow manipulation handles depend on arrow's Style and number of Segments. Control-points stay at both ends of each segment that constitutes an arrow. FlowChartX offers three arrow styles. Following sections discuss how to modify each of them.

  • The first style called asPolyline defines arrows, which consist of numerous straight segments, drawn between control-points. There are no restrictions as to number of segments. Dragging a control-point modifies each segment adjacent to the point. If the ArrowsSplittable property is enabled, users are allowed to insert new control points or to remove existing ones. Inserting a control point is done by pressing the left mouse button over a segment and dragging. The new point appears at the mouse location and splits the pointed segment in two.
  • If arrow's style is set to asBezier, each segment has 4 manipulation handles that define a curve. Each curve goes through the end-points, which are shaped as circles. Bend of the curve is defined by the middle two points shaped as rectangles. If a user drags an end-point modification handle, the adjacent control points will be moved with same translation vector as that of the end-point. If a bend control point is dragged, the symmetric control point of the neighboring curve is also moved to assure the two stay on the same line with the end-point and on the same distance from it.
  • asPerpendicular arrows consist of straight horizontal and vertical segments, each one orthogonal to its neighbors. If a control-point is dragged, the segments adjacent to it are moved and resized preserving their orthogonal orientation to each other. If the ArrowsSplittable property is enabled, users are allowed to insert new control points to asPerpendicular arrows or remove existing ones. The orientation of the arrow segments can be changed if PrpStartOrientation is set to soAuto.

Modifying a table

The default table modification handles are drawn as dotted lines over its borders. Dragging table's caption areas moves it. Dragging any table's side or corner resizes it.

Selecting items

Multiple items are selected by dragging while CTRL key is down. Selection can also be toggled with CTRL + clicking an item. A rectangle appears around selected items, allowing a user to move all of them at once.

Scrolling and panning

The ShowScrollers method displays scrollbars, which can be used by a user to scroll the diagram's drawing area. Pressing the left mouse button and dragging while the ALT key is down pans the diagram view. Panning could be done also with the middle mouse button, as set in MiddleButtonAction.

Interpreting users actions

Mouse operations can be interpreted in different ways depending on the value of the Behavior property. It defines if for example dragging the mouse creates a box or selects existing items. Check the property description for more information.


Licensing

Licensing

There are no separate trial builds of flowchartx*.dll files provided anymore. When you purchase a license for a MindFusion product, you can find the license key string listed on the Keys & Downloads page at the MindFusion customer portal. You can assign a license key to the component by calling the SetLicenseKey method of FlowChart class. If the specified key is valid, this disables evaluation mode and stops displaying trial messages.


Programming Interface Overview

Programming Interface Overview

Next few chapters make an overview of all FlowChartX features, grouped by functionality. Hyperlinks refer to each object methods and properties detailed description.


Diagram Structure

Diagram Structure


Basic FlowChartX Object Types

Basic FlowChartX Object Types

Basic FlowChartX item types are Box, Table and Arrow. Combined and linked together they can represent complex data structures such as process or entity-relationship diagrams, class hierarchies, etc. Items' many features can be customized programmatically through numerous methods and properties. FlowChartX also offers to users intuitive interface for creating and modifying diagram items interactively.

Boxes

Boxes can represent classes in class-hierarchies, flowchart elements, icons in network diagrams, etc. They can hold both graphics and text in different fonts, sizes and colors. There are 87 predefined box shapes, and additionally FlowChartX offers an easy way to define custom shapes. Boxes whose Style is set to bsShape can be rotated, either interactively using the round selection handle drawn above them, or programmatically using the RotationAngle property. Box outlook can be customized further using several types of custom painting. The first type gives you full control over the painting. With the second one your painting code is performed additionally to the basic painting. The third one performs standard drawing of boxes and custom drawing of their shadows.

Tables

Tables can be used to represent table schemas in database diagrams or classes in class-hierarchies. A table contains cells arranged in a grid, and every cell can display text with optional image or a checkbox, as set via the CellType indexed property. Cells can span several rows and columns as set in the CellRowSpan and CellColumnSpan properties. Cells, columns and rows can be customized in various ways - there are properties available for setting their extents, style, image and text alignment. Tables' dimensions can be programmatically changed; inserting, appending or deleting rows and columns can be done via a single method call. Tables can also display background images and graphics. The image formats supported are BMP, GIF, JPEG, ICO and WMF (same applies for boxes).

Decorations

Decorations are lightweight objects that can be used for drawing background graphics such as frames, lane divider lines, etc. Decorations do not participate in graph or parent-child relationships with other objects in the flowchart. The only decoration type available at this time is DecorationLine.

Arrows

Arrows are used to represent various types of connections and relations in diagrams. FlowChartX offers three basic arrow-types:

  • poly-line arrows composed of straight-line segments;
  • curved arrows composed of Bezier or spline segments;
  • arrows composed of horizontal and vertical segments, alternating their orientation so that every segment is perpendicular to its neighbor.

Each arrow has to be connected to a box or a table object. You can use transparent boxes on any side of an arrow to make it appear as 'hanging'. Some customizable arrow's properties are: tip styles, colors, text, pen width and style, modification behavior and number of segments.


Managing and Accessing Diagram Items

Managing and Accessing Diagram Items

Creating objects

There are several methods for creating objects of the basic types supported by the component. The CreateBox method creates a box at a specified position. The CreateTable method creates a table at a specified position. Use the CreateArrow or CreateAnchoredArrow method to create an arrow between two boxes; use CreateRelation to create an arrow between two tables. To link box to a table call CreateLink. Tables have method that connects them with other tables called AddRelation.

Deleting objects

Call the DeleteItem method to delete an object from the diagram. The ClearAll method clears diagram contents by deleting all objects. To break the relation (delete the arrow) between two tables you might call Table.BreakRelation.

Accessing existing objects

One of the most common tasks performed when using the control is iterating over all objects in the flowchart document. To enumerate all items in the diagram, use the Arrows, Boxes and Tables collections.

Navigating the diagram

There are many properties and methods that let you navigate through the object hierarchy - from a node to its incoming or outgoing arrows, or from an arrow to its origin and destination nodes. The nodes that an arrow connects are referenced by the arrow's Origin and Destination properties. Alternatively, you can use the type-safe DestinationBox and OriginBox properties if the arrow connects boxes, or DestinationTable and OriginTable properties for tables. To check the type of arrow's origin and destination use OriginType and DestinationType. To access the arrows that are connected to a box, use its IncomingArrows and OutgoingArrows collections. The first collection contains references to all arrows pointing to a box, the second - to the arrows that start from a box. Arrows connect to rows of a table; to find all arrows connected with a table its GetRowOutgoingArrows and GetRowIncomingArrows methods have to be used. A shortcut for accessing the other end of a relation in entity-relationship diagrams is provided by the GetRelatedTables method.

Selected objects

If just a single item in the diagram is selected, it is considered the active item and can be accessed with the ActiveArrow, ActiveBox or ActiveTable property. The ActiveItemType property indicates the type of the active object. Multiple items can be selected when clicking or dragging with the CTRL key pressed at the same time. Access to the items in multiple selection is provided through the SelectedArrows, SelectedBoxes and SelectedTables collections.

Finding objects

You can search for items by their tag using the FindArrow, FindBox and FindTable methods. If there are more objects with the same tag, the first one will be returned. If no object with the specified tag exists, the HRESULT will be S_FALSE and null object reference will be returned. Groups can also be searched by tag using FindGroup.


Attaching and Grouping Items

Attaching and Grouping Items

Overview

FlowChartX allows attaching a node to another diagram element, establishing a subordinate - master relationship between the two objects. When a master element is moved or resized, any subordinated node follows it, so that the initial distance between the two objects stays constant. This happens both when a user moves the master object around, and when the object position is changed using a method or a property.

Possible uses

  • attach a Transparent box to another node or link and set its Text, so that the box acts as an additional label assigned to the main object.
  • attach a box to another object and set the box' Picture, so it acts as an additional icon displayed inside or near the main object.
  • attach a box or a table to another object and handle the BoxClicked or similar events to perform some action on the main object. This makes the subordinated object act as a button or another type of UI element attached to the main object. For more complex UI requirements, use attached boxes of Style bsAxControl and handle the events raised by the hosted control.
  • in all cases above, the Locked property can be set for attached nodes which are used only as decorations embellishing the main object. That prevents users from selecting, modifying or drawing links to the subordinates.
  • attach child elements in a tree branch to the branch root, so that when a user moves a tree node, the node's children moves simultaneously with it. Modifying an object in such hierarchical group makes the modification pervade through all dependant subordinated objects.

Hierarchical grouping

An unit of attached objects is managed by creating and manipulating a Group instance. To create a group with a specific master object, call the CreateGroup method and use the Group methods to attach items. Every member of a group can be the master object of another group, i.e. an item can be subordinate in one group and meanwhile be another group's master. FlowChartX doesn't impose any limits to the depth and width of group hierarchies built that way. However, it is not possible to put an item as a subordinate in more than one groups because the hierarchy relations would become ambiguous.

Unions

It is possible to create such groups, that if any item in the hierarchy is modified, all other items are updated too. This can be done by putting the items in circular chain of dependencies - i.e. object1 is attached to object2, object2 to object3 ... objectN to object1. If any of these objects is modified, the change will propagate through the chain until it reaches its originator.

Attaching items to a group

Arrows cannot be attached to groups but can be main objects of groups. If a group's main object is an arrow, nodes can be attached to the control points or segments of the arrow. See the AttachToArrowPoint, AttachToArrowSegment and AttachToLongestHSegment methods for details. If the master object is a node, other nodes can be attached to any of its corners, or to an area specified as percent of master-node's bounding rectangle. Check AttachToCorner and AttachProportional for details.

Accessing group items

Group members can be accessed using the MainObject property and the AttachedBoxes / AttachedTables collections. To get the groups in which an item participates, use its MasterGroup and SubordinateGroup properties.

Destroying groups

Groups can be destroyed programmatically using the DestroyGroup method. When a user deletes the main object of a group, the group is destroyed automatically but the attached objects are not deleted. If you need to delete them with the group, you could do this programmatically in the method that handles the GroupDestroyed event. That event is raised just before the group's memory is freed so in the handler method you are still able to enumerate the attached objects. The following VB example shows how this can be done:

VB [image] Copy Code

Private Sub fc_GroupDestroyed(ByVal group As FLOWCHARTLibCtl.IGroupItem)

Dim i As Integer
Dim l As Integer

Dim boxes As FLOWCHARTLibCtl.IBoxes
Set boxes = group.AttachedBoxes

l = boxes.Count

For i = 0 To l - 1
fc.DeleteItem boxes(i)
Next i

End Sub


Checking the Document Structure

Checking the Document Structure

It is often useful to find out if there is a path connecting two diagram items or if an item is part of a cycle. The following groups of functions can be used for these purposes:

For finding paths use the FindShortestPath, FindLongestPath, FindLongestPathBetween or FindAllPaths methods. They return the first path found; the other paths are stored in a buffer and can be retrieved from it using the PathCount property and GetPath method.

You can test for cycles using DetectCycle for specific object or FindCycle to find out any cycle in the diagram. As in the case with paths the cycles are stored in buffer, from which can be retrieved using CycleCount and GetCycle.

Another useful method - IsTree - checks if the current graph of diagram objects represent a tree.


Collapsing and Expanding Branches of Tree Structures

Collapsing and Expanding Branches of Tree Structures

Collapse or expand tree branches

If a diagram represents a tree structure, the tree branch starting from a node can be collapsed or expanded again in order to hide or display hierarchy details. Use the node's Collapse and Expand methods to do this programmatically. To determine whether a sub-tree is expanded or collapsed check its root's Expanded property.

Displaying expand/collapse button

If the Expandable property of a node is set to true, there is a +/- button displayed beside the node to allow users to collapse or expand the tree branch starting there. The button location and the +/- icons can be customized via the flowchart's ExpandBtnPos and ButtonImages properties. Pressing that button calls the Collapse and Expand methods automatically. This behavior can be overridden by setting the fOverrideTreeExpanding flag in EventFlags. That makes the respective events still raised when a user clicks on the +/- buttons, without actually hiding or showing child nodes in the tree.

Defining tree direction

A node can be connected to other nodes through outgoing and incoming arrows. Setting the ExpandOnIncoming property specifies which items connected to a node will be regarded as its descendants. If ExpandOnIncoming is false (default value) then each node will be regarded as a parent of its outgoing arrows and the objects attached to them. If ExpandOnIncoming is set to true, the node's incoming arrows define its children. So that property specifies the direction of parent-children relationship between diagram items and respectively the overall direction in which collapsing / expanding is done.

Expanding a branch recursively

Use the RecursiveExpand property to specify whether the whole sub-tree starting from a node will be shown when expanding, or only the first level of descendants.


User Interaction

User Interaction


Controlling User Interaction

Controlling User Interaction

There are several ways to control user actions on the diagram as a whole or on separate objects.

Display-only mode

The property with most impact on user interaction is StaticMode, which allows disabling all interaction with diagram elements. If StaticMode is set, FlowChartX functions as nothing more than a static image used to present some data to users.

Interpreting users' input

The Behavior property provides predefined sets of rules how user interaction with the mouse/keyboard is interpreted. If bhFlowChart mode is set, mouse dragging over an empty document area is processed as a box creation request and dragging over a box creates an arrow. Note that such behavior leads to some extra work when creating overlaying boxes - users need to draw the second box on an empty area and move it over the first one afterwards. To avoid that use bhCreateBox behavior. If bhTableRelations is set dragging the mouse over an empty area creates a table and dragging over a table creates an arrow. Behavior options also include bhCreateArrow, bhCreateTable and bhModify.

Document extents

Document size is set by SetDocSize method. By default users are able to move objects outside document bounds. To prevent this use RestrObjsToDoc property. It provides two options to restrict object positions, eventually not to restrict them at all. The first one is to keep objects entirely inside the document area. The second option allows objects to be partially outside, leaving some draggable part inside document.

Item constraints

Constraints upon how users are allowed to modify a node are set through the Constraints and MnpHandlesMask properties. The former specifies constraints on move direction and node size. The latter enables or disables specific manipulation handles of a node. That allows making the node non-moveable, non-resizable, or resizable only horizontally/vertically.

Items can be locked via the Box.Locked, Table.Locked and Arrow.Locked properties. Locked items are excluded from selection and users cannot re-select, move or modify them.

Creation of arrows

The AllowRefLinks property specifies if reflexive arrows can be created (having the same box for both target and origin); reflexive links are enabled by default, but can be disabled if they are meaningless for your application. AllowLinksRepeat specifies if more than one arrow can link the same origin and destination diagram nodes. AllowUnanchoredArrows specifies whether arrows can be linked to a node that does not have any anchor points defined. AllowUnconnectedArrows specifies whether users are allowed to draw unconnected arrows, i.e. arrows not connected to any node.

Modification of arrows

Once an arrow is created, a user can still move its end points to a different position. SnapToNodeBorder specifies whether arrow's end can be connected to a point that is not placed at node outlines. Moving arrow ends can be disabled altogether by setting ArrowEndsMovable to false. This can also be controlled on a per-arrow basis via AllowMoveEnd and AllowMoveStart properties. Validation of changing arrow's origin or destination can also be done in a RequestAttachArrow event handler.

Control how arrows connect to nodes

The AllowIncomingArrows property of nodes lets you specify whether incoming arrows can be drawn to a node. The AllowOutgoingArrows property lets you do that for outgoing arrows.

Anchor points define where arrow's ends should be placed when a user attaches an arrow to a node. Anchor points can be assigned to boxes, separately for incoming and outgoing arrows, via the Box.OutgAnchor and Box.IncmAnchor properties. Use the FlowChart's BoxOutgAnchor and BoxIncmAnchor to set the default values for new boxes. The AnchorPattern class allows defining sets of anchor points that can be assigned as integral entities to nodes. Boxes have an AnchorPattern property of that type, and tables provide AnchorPattern and RowAnchorPattern properties. The SnapToAnchor property specifies whether arrow ends are aligned to anchor points when creating or modifying arrows.

Adding arrow segments interactively

A segment of a poly-line arrow can be split in two by clicking and dragging any of its points. Two adjacent segments can be merged by moving their common control point to a position which makes the resulting angle obtuse. Splitting and merging segments of asPerpendicular-style arrows works too, but in a slightly different manner: two segments are inserted on split, and are removed when two adjacent control-points overlap. The ArrowsSplittable property controls whether such interactive manipulation of segments is enabled.

Unconnected arrows

To allow users draw arrows that are not connected to any node, set AllowUnconnectedArrows to true. Such arrows can be created programmatically, independently of the AllowUnconnectedArrows value, by using the CreateArrow method and passing null (Nothing in Visual Basic) as values of the destination or origin arguments.

In-place text editing

The text of boxes, tables and arrows can be edited in-place by double-clicking the respective objects. For tables both captions and cells can be edited in this way. To enable the feature set the InplaceEditAllowed property to true. Depending on the type of item whose text is edited, one of these events is raised when editing completes: BoxTextEdited, TableCaptionEdited, CellTextEdited, ArrowTextEdited, ArrowLabelEdited. In-place editing mode finishes after a mouse click outside the text entry control. In-place editing mode can be entered or cancelled programmatically, via the BeginInplaceEdit and EndInplaceEdit methods of the Box or Table class. Pressing ENTER or ESC exits inplace-edit mode if respectively InplaceEditAcceptOnEnter and InplaceEditCancelOnEsc are enabled.

Validation events

When a user tries to create, modify, delete or select an item, one of the following events is raised. To ban the action, set corresponding event boolean argument to false:

Event | Description
RequestCreateBox | Raised when the user is to create a box.
RequestCreateTable | Raised when the user is to create a table.
RequestCreateArrow | Raised when the user is to create an arrow.
RequestSelectBox | Raised when the user is to select a box.
RequestSelectTable | Raised when the user is to select a table.
RequestSelectArrow | Raised when the user is to select an arrow.
RequestDeleteBox | Raised when the user is to delete a box.
RequestDeleteTable | Raised when the user is to delete a table.
RequestDeleteArrow | Raised when the user is to delete an arrow.
ArrowModifying | Occurs while an arrow is being modified.
BoxModifying | Occurs while a box is being modified.
TableModifying | Occurs while a table is being modified.

Consult the FlowChartX Events section in this document for more events that can be raised in response to user's actions.

Selection

Multiple selection can be enabled or disabled via AllowMultiSel. Selection can be controlled on a per-object basis by handling one of the RequestSelect* events listed above.

Keyboard interaction

Setting the KbdActive property to false allows preventing users from modifying a FlowChartX document through keyboard. Setting it to true or false, respectively enables or disables all keyboard combinations, through which the diagram could be changed without the control of your application.

Finally, assigning true to the SelectAfterCreate property automatically selects every new item so it can be immediately modified, which is often very useful.


Single and Multiple Selection

Single and Multiple Selection

Selecting and modifying items

In order to move or modify a diagram item, users manipulate its selection handles. The handles appear around an object when it is selected. Each handle can be dragged to perform specific transformation on the object. The appearance and behavior of modification handles can be altered via the SelStyle property of item classes. According to the value of ModificationStart property those handles can also appear automatically if the mouse pointer hovers over an object. It is possible to implement own drawing and hit-testing of selection handles by assigning sstCustom to SelStyle and handling the DrawSelHandles and HitTestSelHandles events.

Multiple selection

Multiple items can be selected and moved at the same time. Moving multiple items raises the SelectionMoved event. Multiple selection can be enabled or disabled via AllowMultiSel. The visual style of multiple selection is defined through the MultiSelStyle property. Additional properties for customizing multiple selection are exposed via SelectionOptions.

SelectionOnTop specifies whether selected items should be painted according to their Z order position or they should be painted on top of the non-selected items. One of the objects in the selection is always regarded to as the active object (the last selected item in multiple selection). It has white modification handles, while the other items in the multiple-selection have gray ones. When displaying an object property page, it shows the properties of the current active object.

Accessing selected objects

To iterate over selected items use SelectedArrows, SelectedBoxes and SelectedTables collections. To access the current active object use ActiveArrow, ActiveBox or ActiveTable properties. Check the ActiveItemType property to get the current active item type. To determine if an object is selected refer to Box.Selected, Table.Selected or respectively Arrow.Selected properties.

Manipulating selection programmatically

The following methods programmatically manage selection:

Method | Description
AddToSelection | Selects the object specified as argument or adds it to multiple-selection if other objects are selected too.
ClearSelection | Clears selection (does not delete objects).
RemoveFromSelection | Removes the object specified as argument from the selection.

Selection-related events

The events listed below are raised in response to users selecting or deselecting items. In addition, the SelectionChanged event is raised each time the selection is updated.

Event | Description
BoxSelected | Raised when a box becomes the active object.
BoxSelectionLost | Raised when a box is no more the active object.
TableSelected | Raised when a table becomes the active object.
TableSelectionLost | Raised when a table is no more the active object.
ArrowSelected | Raised when an arrow becomes the active object.
ArrowSelectionLost | Raised when an arrow is no more the active object.
RequestSelectBox | Raised when a box is about to be selected by the user.
RequestSelectArrow | Raised when an arrow is about to be selected by the user.
RequestSelectTable | Raised when a table is about to be selected by the user.
SelObjAdded | Raised when an object is added to multiple selection.
SelObjRemoved | Raised when an object is removed from multiple selection.

Automatically selecting objects

Setting SelectAfterCreate property to true automatically selects all newly created objects. In similar manner setting SelectAfterPaste to true will automatically select objects when they are pasted.


Undo and Redo

Undo and Redo

( [image] a feature of FlowChartX Pro edition)

FlowChartX records all users' actions in a command history. Later these actions can be undone, either programmatically, using the Undo method, or by a user through the CTRL+Z keyboard combination. If an action is undone, it can later be redone by calling the Redo method or using the CTRL+Y keyboard combination.

Command history

The maximum size of the command history is controlled via the UndoDepth property. Once the maximum number of records in the history is reached, recording a new action deletes the oldest one in the queue. The undo/redo operations move a queue-pointer respectively to the beginning/end of the queue. When the pointer is placed before the beginning of the queue, that means that no more actions can be undone, or that no undo-action is recorded at all. When it points after the end of the queue, then no actions can be redone, either because the queue is empty, or because no actions are previously undone. Use UndoPossible and RedoPossible methods to check these conditions. For example you can disable the respective menu items when undo or redo is not possible. By setting UndoDepth to zero, you can disable the undo functionality.

Actions that are automatically recorded

In addition to all users' actions, some programmatic actions are also recorded in the undo/redo history. These actions include creating and deleting objects and groups through respective methods, or changing the current selection. If you want to prevent users from undoing such operations, use the ClearUndoBuffer method.

Property changes

Changes made to properties of diagram items are not recorded in the command history, unless they are enclosed in BeginUndoRecord / EndUndoRecord method calls. All actions performed on an item enclosed by these methods will be put in the history-queue as an atomic undoable operation. For example, a button might set several properties of a selected box when clicked. The following VB6 code adds all box property changes to the undo-history as a whole undoable operation:

VB [image] Copy Code

Private Sub Command1_Click()

Dim abox As FLOWCHARTLibCtl.box

If FlowChart1.ActiveItemType = aiBox Then

Set abox = FlowChart1.ActiveBox
abox.BeginUndoRecord False
abox.Text = "undo me!"
abox.FrameColor = vbRed
abox.Style = bsRhombus
abox.EndUndoRecord

End If

End Sub

Composite undo records

Actions recorded for individual items can be combined in a single undoable record. For example that is useful when applying changes to all items in a selection. To create a composite record, perform all changes to items between calls of flowchart's BeginUndoRecord and EndUndoRecord methods. The respective BeginUndoRecord / EndUndoRecord methods of items must still be called. Another method to combine several records into one composite record is provided by MergeUndoRecords.

Custom undo records

To place a custom action in the FlowChartX command history, call RecordCustomAction. The action ID passed to that method is reported back by ActionUndone and ActionRedone events.

Events

Each time a new record is saved in the command history, an UndoActionRecorded event is raised. Upon undo or redo of some actions, the ActionUndone and ActionRedone events are raised.


Clipboard Operations

Clipboard Operations

( [image] a feature of FlowChartX Pro edition)

Copying items to the clipboard

A single diagram item or a selection of items can be copied or cut to the Windows clipboard. This can be done either programmatically using the CopyToClipboard and CutToClipboard methods, or by a user through CTRL+C and CTRL+X keyboard combinations.

Pasting items

To paste the clipboard contents into the current FlowChartX document use PasteFromClipboard method or CTRL+V combination. To check if there's FlowChartX data available in the clipboard use the CanPasteFromClipboard method. When a user pastes item via the keyboard shortcut, an ItemsPasted event is raised to let the application handle the new items.

Clipboard options

Set the SelectAfterPaste property to true if you want the items pasted from clipboard to get automatically selected. A diagram is also copied to the clipboard as an image, if the respective ClipboardFlags bits are set. ClipboardFlags also allows setting how grouped items are copied and pasted.


Drag and Drop

Drag and Drop

Each process that requires OLE drag-and-drop functionality must initialize OLE libraries via the OleInitialize API function. That is done implicitly in Visual Basic applications, but if your software is developed in other language (e.g. Delphi or C++) you might have to call OleInitialize explicitly. In order to receive drag and drop notifications, FlowChartX has to be registered with OLE through the RegisterDragDrop method. Once registered, the control can work in three modes, varying in level of complexity and control provided. The current mode is set through DragDropMode property. Detailed description of each mode follows:

drAutoAccept

Any text data that is dropped into a box, a table caption or a table cell, is automatically accepted and the respective object properties are set to the dropped text. In similar manner dropping an image over a box or a table automatically sets the object Picture property to that image. Additionally, dropping an image into an empty area sets the background image of FlowChartX.

Diagram elements can be dragged between two FlowChartX instances when the ExtrnDragDrop property is set to true. In drAutoAccept mode any dragged objects are automatically copied if dropped into an empty document area. If you want the object to be moved instead, then you should use one of the programmatic drag-and-drop modes and set the drop-effect flag as appropriate (DROPEFFECT_COPY / vbDropEffectMove).

One of the following events can be raised in drAutoAccept mode, depending on the drop destination: DropAcceptedByBox, DropAcceptedByTable, DropAcceptedByTableCell, DropAccepted. These events have as parameters the type of data dropped, and a reference to the object that received the data.

drRequestAccept

Here, as in the first mode, tables and boxes accept textual and graphic data, setting accordingly their properties. However validation events are raised while the drag occurs, through which drop operation can be rejected. Appropriate visual feedback is given to the user, depending on the result set through an event handler. The validation events that may be raised are RequestDropInBox, RequestDropInTable and RequestDrop, depending on the type of object under the mouse cursor. If the operation is validated and the user drops the dragged data, the same events as in drAutoAccept mode are raised.

drProgrControl

In this mode the entire responsibility on interpreting the dragged data and the results of dropping it is left to your program. Two sets of events can be raised. While dragging some data over the flowchart area the DragOverDoc, DragOverBox and DragOverTable are raised, depending on the object under the mouse cursor. They have as arguments the OLE IDataObject interface pointer, through which the dragged data can be queried and retrieved. In addition the mouse position in document coordinates is passed along with a key-state parameter and an output effect parameter.

Through the effect parameter you can validate the drop operation and give OLE clue on its outcome, and thus the kind of visual feedback that should be displayed to the user. If the drop effect is set to DROPEFFECT_NONE / vbDropEffectNone, then the operation is rejected and the user is prohibited from dropping. If the operation is confirmed, by setting the drop effect to copy or move, and the dragged data is dropped, then one of the following events will be raised: DropInBox, DropInTable and DropInDoc. They receive the same parameters as their Drag* counterparts. When working in this mode you could use ObjectFromPoint method to find out if there's an object under the mouse cursor.

The CreateObjsFromDragData method can be used in this mode to create diagram objects if the drag-and-drop operation is performed between two flowchart instances.

drProgrControVB

The only difference with the above mode is that events raised from this mode receive a IVBDataObject parameter. This interface is automation-compatible and can be used with Visual Basic. The events raised in this mode are DragOverDocVB, DragOverBoxVB, DragOverTableVB, DropInBoxVB, DropInTableVB and DropInDocVB.

Start dragging from table cells

The TableCellStartDrag event gives you a chance to start OLE drag-and-drop operation from a cell. That event is raised only if the respective bit in EventFlags is enabled.

Internal drag-and-drop

Independently of the OLE drag and drop events, FlowChartX supports its own internal drag and drop functionality. If a user drops diagram items over other items, an ObjectDroppedInBox or ObjectDroppedInTable event will be raised. The events get as parameter the type of dropped data - box, table or selection. Additionally if DragDropMode is set to drRequestAccept, the appropriate validation events will be raised.

Drag-and-drop feedback

When drag-and-drop operation is performed and the mouse is dragged over a box, if this box can accept the dragged data this can be indicated to the user by drawing feedback frame around the box. Use the FeedbackOnDragOver property to enable this feature. The color of the frame is specified using FeedbackColor. Style of the pen for drawing the feedback frame is defined by FeedbackPenStyle and FeedbackPenWidth properties.

Cleanup

At the end of execution of your software, if FlowChartX has been registered for OLE drag and drop notifications through RegisterDragDrop method, it should be unregistered using RevokeDragDrop.

If you intend to enable drag-and-drop between FlowChartX and other controls in a single form, we recommend that FlowChartX is instantiated windowed.


Scrolling and Zooming

Scrolling and Zooming

Scrollbars

If FlowChartX is instantiated in its own window (i.e. it is not windowless), built-in scrollbars are created, but they are initially invisible. Use the ShowScrollers and HideScrollers methods to change their visibility state. If the scrollbars are not needed because the visible region is larger than the document size, they are either hidden or disabled, as set via DisableNoScroll.

If the control is instantiated windowless, it does not have its own scrollbars. In such case you can create external scrollbars and register them with FlowChartX using RegExtrScrollers method. Additionally, you have to forward the WM_RESIZE, WM_HSCROLL and WM_VSCROLL messages to FlowChartX, using the OnWindowMessage member of the IOleInPlaceObjectWindowless interface. If that's done correctly, external scrollbars perform just as the built-in ones would do if the control is created in its own window.

No matter what type of scrollbars are used, position and size of their thumbs as well their page size, are automatically updated to reflect the document size, zoom factor and scroll position. The ScrollRate property allows specifying the increment to be applied to scroll position when a scrollbar button is clicked.

Automatic scrolling

The AutoScroll property enables or disables automatic scrolling. If automatic scrolling is enabled and a user drags an item outside FlowChartX' visual area, or moves the mouse pointer near the borders as specified in ScrollZoneSize, FlowChartX scrolls its view towards the mouse cursor location. Automatic scrolling can be done either by fixed steps or by ones large enough to keep the currently dragged item visible; to specify that, set AutoScrollType.

Document area

Document size is set via the SetDocSize method. That size defines the extents of the diagram area that can be brought into view via scrolling. The DocPtToClientPt method converts document coordinates to client-area coordinates. For windowless controls, the client area is that of the container window. Windowed controls' client area equals the controls window area.

The size can be configured to grow automatically when users move nodes around. To enable that, set the AutoSizeDoc and AutoSizeDirections properties.

Setting scroll position

To scroll the diagram contents programmatically, use the ScrollTo method or ScrollX and ScrollY properties. The BringIntoView method changes scroll position in order to make a specific diagram item visible in the current view.

Scrolling table rows

Tables can be scrolled too. If the Scrollable property of a table is set to true, a scroller button is displayed in the table's caption area. By means of this button a user can scroll table's rows. Scrolling can also be done programmatically using the CurrScrollRow property.

Zooming

Zooming is controlled through the ZoomFactor property, ZoomIn and ZoomOut methods. The zoom factor is expressed in percents, 100% meaning no zoom. Higher than 100% makes the document objects look closer and bigger on the screen - zooming in. Less than 100% makes objects look further and smaller on screen - zooming out. The ZoomIn method increases zoom factor by 10%. Respectively the ZoomOut method decreases zoom factor again by 10%.


Tooltips

Tooltips

Tool-tips are short text messages displayed when the mouse pointer hovers over an object for a while. To enable tool-tips, set the ShowToolTips property to true. The delay before a tool-tip appears is set via the ToolTipDelay property.

Use the ToolTip property of items to specify what text should be displayed as a tool-tip. Each cell of a table can have a distinct tool-tip, which can be set through the CellToolTip indexed property. To change the style of the tool-tips use ToolTipStyle property. Use standard EOL line dividers to get multi-lined tool-tips.

Tool-tip's text is also used as a value of the ALT attribute of image map areas corresponding to items; see HtmlBuilder for more information.


Placement and Layout

Placement and Layout


Item Placement

Item Placement

Measure unit

The MeasureUnit property specifies the unit of measure for all location and size -related values assigned to FlowChartX properties or passed as arguments to its methods.

Setting location of diagram nodes

Location and size of boxes and tables can be changed via several methods. Call SetRect to set the exact coordinates of the bounding rectangle of an object; that method allows you to both move and resize the object. The MoveTo method moves an object to the specified location without resizing it; the method arguments specify the new coordinates of the object's upper-left corner. To resize an object call SetSize, specifying new width and height as arguments. If object is moved or resized, all arrows connected to it are updated such as the arrows' ends stay linked with the object.

Resizing nodes to fit their contents

Calling the FitSizeToPicture method of a box or a table makes the size of the object the same as that of its Picture. Calling FitSizeToText resizes a box to ensure that all of its Text is visible. The ResizeToFitText method resizes the columns and rows of a table to show their text completely.

Arrows control points

Arrows have two or more control points, depending on their Style and number of Segments. The number of control points is returned by the read-only CtrlPtCount property. Their position can be set or get via the CtrlPtX and CtrlPtY indexed properties. You must call Update after moving control points of an arrow; that's needed in order to repaint the arrow and update its internal state variables. Another property of arrows, Dynamic, can be enabled to make the arrow automatically recalculate its end point positions if the nodes linked to the arrow are moved or resized; the end points are moved in such a way that the arrow points to the centers of the linked nodes.

Getting location

Getting the coordinates of box or table sides is done via the following properties:

Box.Left, Box.Top, Box.Right and Box.Bottom;

Table.Left, Table.Top, Table.Right and Table.Bottom;

Getting the four sides of the objects bounding rectangle:

Box.BoundingRect method;

Arrow.BoundingRect method;

Table.BoundingRect method;

Hit testing

Upon mouse click, FlowChartX performs hit testing to determine whether a diagram item should be selected. The order in which items are hit tested is specified via HitTestPriority. Some methods allow performing hit testing programmatically. Call GetBoxAt, GetTableAt, GetArrowAt or ObjectFromPoint to find out which item occupies a specified document location. To determine whether two nodes intersect, call NodesIntersect. To determine whether an arrow intersect a node, call the arrow's IntersectsNode method.

Z-order control

The Z-order defines how objects are ordered on the Z-axis - one looks above or below another. Following properties and methods manage the Z-order:

Box.ZIndex, Table.ZIndex and Arrow.ZIndex properties - sets / gets object Z-order position;

Box.ZBottom, Table.ZBottom and Arrow.ZBottom methods - place object at the bottom of the Z-order;

Box.ZLevelDown, Table.ZLevelDown and Arrow.ZLevelDown methods - move object one level down;

Box.ZLevelUp, Table.ZLevelUp and Arrow.ZLevelUp methods - move object one level up;

Box.ZTop, Table.ZTop and Arrow.ZTop methods - place box at top of the Z-order;


Grid Alignment and Object Snapping

Grid Alignment and Object Snapping

FlowChartX provides an alignment grid to help users place diagram objects more precisely. To activate the grid set the AlignToGrid property to true. If the grid is active while an object is being created or modified, the object's control-points are drawn on the nearest grid points. The distance between adjacent grid points is specified via the GridSize property. The grid can be either visible or invisible, depending on whether ShowGrid is true or false. If visible, the grid is painted as a matrix of points or as series of crossing lines, as specified via the GridStyle property. GridColor defines the color with which the alignment points or lines are painted.

In the professional edition of FlowChartX, it is also possible to enable snapping mode. In that mode an object being modified is aligned to other diagram objects. The manner in which objects are aligned to each other is specified via SnapStyle. Supported snap styles include: aligning items' control points; snapping nodes side-to side; or making nodes' borders collinear via alignment guides. The maximal distance between objects at which snapping can be performed is set via SnapDistance.


Laying Out Diagrams Automatically

Laying Out Diagrams Automatically

Applications that process hierarchical or more complex entity-relationship data might need to present that data to end-users in an aesthetical and visually appealing manner. Such applications would store their data as graph of linked nodes possibly having additional information attached to them. However, position and size coordinates of nodes might be unnecessary and/or unavailable. FlowChartX provides methods to automatically arrange the nodes and links of a diagram, applying attractive layouts on the overall structure of the diagram. To utilize that functionality an application can create a diagram by assigning generic coordinates to its nodes and invoke the ArrangeDiagram method of the FlowChart class.

Tree layout

If application's data is structured hierarchically, it is appropriate to apply tree layout on it. To do this call ArrangeDiagram, passing a TreeLayout structure instance as an argument. Members of that structure control many aspects of the layout process. You can choose how much space to leave between tree levels and between nodes on the same level. The style of links in the arranged tree can be set to straight, orthogonal or curved. Global tree direction and alignment can be customized too. Using Visual Basic tree layout might be applied like this:

VB [image] Copy Code

Dim layout As New TreeLayout
layout.Root = fcx.ActiveBox
layout.NodeSpacing = 30
layout.LevelSpacing = 40
fcx.ArrangeDiagram layout

Spring-Embedder graph layout

Spring-Embedder is force-directed layout algorithm. It simulates a physical system in which nodes repulse each other, and the links between them act as confining springs. Graphs processed by Spring-Embedder have their nodes distributed uniformly across the diagram area. The algorithm can be applied on a graph by calling the ArrangeDiagram method, passing a SpringLayout structure instance as an argument. Members of that structure allow you to set the desired distance between graph nodes and the number of iteration steps to use while calculating node positions. You can also specify that FlowChartX should try to minimize arrow crossings. If you select that option, the algorithm would produce better result with more iteration steps. However, it needs more time to complete if more steps are specified. Using Visual Basic Spring-Embedder layout might be applied like this:

VB [image] Copy Code

Dim layout As New SpringLayout
layout.NumIterations = 500
layout.NodeDistance = 100
fcx.ArrangeDiagram layout

Fractal Tree Layout

a feature of FlowChartX Pro edition

FractalLayout is a tree layout algorithm that places child nodes symmetrically around their parent node. Nodes at the lowest level are arranged directly in a circle around their parent. At upper levels, the already arranged nodes form branches that are arranged in a circle around the new parent node. The algorithm is recursively repeated till the highest level is reached. If nodes in the tree have uniform number of children, the end result has fractal-like appearance (subsets of the graph look like scaled-down copies of the whole graph).

You can choose which node should be displayed at the center of the topmost circle by setting the Root property. If it is not specified, the algorithm automatically selects a root that leads to more balanced distribution of nodes.

Layered graph layout

( [image] a feature of FlowChartX Pro edition)

The LayeredLayout algorithm arranges graphs nodes in layers according to several criteria, most important of which are: connected nodes must be placed close together; arrows must flow in one direction if possible; arrows must cross as few layers as possible; arrows must not cross other arrows. To apply the layout to a diagram, create a LayeredLayout instance, set its members and pass it to ArrangeDiagram method. Using Visual Basic layered layout can be applied like this:

VB [image] Copy Code

Dim layout As New LayeredLayout
layout.NodeDistance = 80
layout.LayerDistance = 100
layout.SplitLayers = true
layout.Orientation = orVertical
fcx.ArrangeDiagram layout

Grid graph layout

( [image] a feature of FlowChartX Pro edition)

The GridLayout algorithm arranges diagram nodes in a grid, keeping connected nodes close together. The algorithm strives to achieve a small number of arrow crossings. It is based on an iterative process whose initial steps shuffle the grid nodes randomly. That can lead to very different results each time the algorithm is run. To apply the layout to a diagram, create a GridLayout instance, set its members and pass it to the ArrangeDiagram method. In Visual Basic grid layout can be applied like this:

VB [image] Copy Code

Dim layout As New GridLayout
layout.GridSize = 80
layout.RandomSeed = 1
layout.NumIterations = 2500
fcx.ArrangeDiagram layout

Circular graph layout

( [image] a feature of FlowChartX Pro edition)

CircularLayout distributes nodes evenly on the circumference of a circle at positions that result in as few link crossing as possible. Set its Radius property to specify the size of the layout circle. Use SiftingRounds to set the number of fine-tuning crossing-reduction iterations. To apply the layout to a diagram, create a CircularLayout instance, set its members and pass it to the ArrangeDiagram method. In Visual Basic circular layout can be applied like this:

VB [image] Copy Code

Dim layout As New CircularLayout
layout.Radius = 200
layout.SiftingRounds = 2
fcx.ArrangeDiagram layout

Simulated Annealing graph layout

( [image] a feature of FlowChartX Pro edition)

The AnnealLayout class implements the Simulated Annealing graph layout algorithm. Simulated Annealing is a general-purpose optimization method used to solve large-scale combinatorial problems by simulating the process of heating and cooling of metal to achieve freedom from defects. Finding a nice arrangement of a graph is a combinatorial problem that can be reduced to assigning costs to graph configurations and finding the minimum cost configuration. AnnealLayout assigns costs to graph configurations by evaluating different aesthetic criteria such as distance between nodes, length of links and the number of link crossings. Thus the best configuration found will have good aesthetic properties.

Decision flowchart layout

( [image] a feature of FlowChartX Pro edition)

DecisionLayout arranges simple flowcharts consisting of decision boxes with up to three outgoing links per node and activity boxes with a single outgoing link per node. The nodes are arranged in columns and rows, whose distance depends on the HorizontalPadding and VerticalPadding property values. When links share the same row or column, they are placed at a distance specified via LinkPadding. The layout arranges nodes recursively starting from StartNode. If StartNode is not specified, the algorithm selects the root of the deepest branch of the graph's spanning tree as start node.

Tree map layout

( [image] a feature of FlowChartX Pro edition)

Tree maps represent hierarchies by nesting child nodes within their parents, where the areas of leaf nodes are proportional to their Weight values. Unlike other layout algorithms, TreeMapLayout expects hierarchies to be defined via grouping or containment (see AttachTo method and bsContainer nodes), and will ignore any links in the diagram. The diagram area covered by the topmost nodes in a hierarchy is specified via the SetLayoutArea method. By default, the layout tries to keep the ratio of node sides as close as possible to one. However this could make it hard to distinguish separate levels of the hierarchy. To alleviate that, set Squarify to false, and child nodes will be arranged either as a row or a column inside their parent node, alternating directions for each level. The drawback is that when Weight ratios differ greatly or nodes contain many children, some nodes could end up with very narrow rectangles.


Arrow Routing

Arrow Routing

( [image] a feature of FlowChartX Pro edition)

Routed arrows avoid nodes marked as obstacles (Obstacle set to true) by finding the shortest path between their origin and destination that does not cross any other nodes.

Automatic or explicit routing

The Route and RouteAllArrows methods can be invoked to explicitly rearrange arrows in a way they do not cross nodes. In addition, arrows have an AutoRoute property that enables or disables automatic routing of an arrow; that property is initialized from the flowchart's RouteArrows member. The TriggerRerouting member of the RoutingOptions class specifies when arrows should be rerouted automatically.

Tuning the routing algorithm

The RoutingOptions class allows customizing various aspects of the routing algorithm. That algorithm evaluates possible paths aiming to find one that has a minimal cost. The values of LengthCost, TurnCost, CrossingCost and NodeVicinityCost are added to the total cost of a route and have a great influence over the shape of the chosen path. The StartOrientation and EndOrientation properties specify the orientation of the first and last segments of routed arrows.


Diagram Serialization and Output

Diagram Serialization and Output


Saving and Loading

Saving and Loading

Saving to files

FlowChartX provides the SaveToFile method to store diagram data to a disk file. The saved document can be reloaded later via the LoadFromFile method. The Dirty property indicates if a document has been changed since it was loaded. You can test this flag before your application exits, in order to display a confirmation dialog to the user if modified data has not been saved.

Saving as ASCII strings

Two methods, SaveToString and LoadFromString, enable saving and loading FlowChartX documents into strings of ASCII characters. That makes easy saving diagrams in database fields or embedding them as part of XML documents. You should take heed of the size requirements though. Each byte of the binary representation of a diagram requires two Unicode characters in ASCII format. That makes four times more space that the one required for saving into files or streams in binary format.

XML serialization

It is possible to save a diagram as an XML document. To do that, create an instance of the XMLWriter class, set its Document property to the FlowChart to be serialized, and call the Write or WriteToString methods. Diagrams saved that way can be loaded later using the Read or ReadFromString method of an XMLReader instance.

Since version 4.1.5, the FlowChart class provides SaveToXml and LoadFromXml methods that implement serialization in a new XML format. This new format is supported by other MindFusion diagramming components, such as Flowchart.NET, JDiagram and WpfDiagram. XMLWriter and XMLReader are still available for compatibility reasons, but they will be removed from the next major FlowChartX release.

OLE streams and compound documents

FlowChartX implements the IPersistStreamInit interface, which provide means to serialize/deserialize control contents into an OLE stream. Using methods of this interface you might save flowchart objects and properties as part of your own compound documents. Streams might also wrap memory buffers, database blobs, network transfers and more. For more information on IPersistStreamInit see the OLE documentation.

Safe for scripting mode

If embedded in a web page, FlowChartX runs in a 'safe for scripting' mode. This mode disables file creation and write operations in order to prevent malicious scripts to overwrite files on the users' hard disks. The following methods return an error if invoked in 'safe for scripting' mode: SaveToFile, SaveToBitmap and SaveToMetaFile.

.NET streams

In .NET the persisted state of an ActiveX control is encapsulated by AxHost.State class, which implements the ISerializable interface. The AxHost.State can be retrieved by the AxHost.OcxState property, which can be used together with objects of BinaryFormatter and Stream classes to serialize/deserialize a FlowChartX document.

Example: To save and load FlowChartX document to/from a file you can use following VB.NET code.

VB.NET [image] Copy Code

Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary

Public Class Form1
Inherits System.Windows.Forms.Form

Private state1 As AxHost.State

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Opens a file and serializes the FlowChartX document into it.
Dim stream As Stream = File.Open("fcdoc.bin", FileMode.Create)
Dim bformatter As New BinaryFormatter()
bformatter.Serialize(stream, AxFlowChart1.OcxState)
stream.Close()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

'Opens a file and deserializes the FlowChartX document from it.
Dim stream As Stream = File.Open("fcdoc.bin", FileMode.Open)
Dim bformatter As New BinaryFormatter()
AxFlowChart1.OcxState = CType(bformatter.Deserialize(stream), AxHost.State)
stream.Close()

End Sub

End Class


Importing and Exporting

Importing and Exporting

Exporting image files

Image files containing FlowChartX diagrams can be created via SaveToBitmap and SaveToMetaFile methods. If GDI+ Graphics engine is enabled, SaveToBitmap allows exporting images in JPEG, GIF, PNG or TIFF format, in addition to the BMP format supported by the classic graphics engine. The CreateBitmap method creates a bitmap in memory, which you might save in any image format using most of the available image file manipulation libraries on the market.

Importing or exporting Visio files

( [image] a feature of FlowChartX Pro edition)

The VisioExporter and VisioImporter components provide support for saving or loading diagrams to/from Visio 2003 XML Drawing files. The importer class maps the basic Visio flowchart shapes to the shape templates provided by FlowChartX. If the importer does not recognize a specific shape, you can set your own by handling the BoxImported event. Both the import and export components preserve the links between diagram nodes. They also preserve as much appearance and formatting information as possible, including text, text alignment, fill color and style, pen color and style, images, etc. However, there doesn't exist one to one relationship between all Visio and FlowChartX appearance elements, so exporting a file and importing it back could produce a diagram looking quite different than the original one.


Printing and Print Previewing

Printing and Print Previewing

Settings for printing

The PrintOptions structure exposes the available setting for printing and print preview. The visualization properties in that structure are used both for printing and for preview. That allows achieving uniform output on the printed pages and on the display. Members of the structure expose as string properties all the text displayed in the preview window and in page headers; that enables easy internationalization of the end-user application.

Printing

Invoke the PrintDiagram method to start a print job. Many settings for the print output can be altered via the PrintOptions structure. You might switch on or off the printing of shadows, images, headers, shape interior fill and more. You can also set the PreferredDevice member of the structure to a printer name; that makes the print jobs always start on the specified printer, without displaying a printer selection dialog.

Print preview

The PreviewDiagram method displays a print preview window. An extended version of this method, OpenPreviewWindow, gives you more control over the preview window position and attributes. The PrintOptions structure is used to specify various visualization settings, both for printing and print preview. It also exposes the captions of the print preview window and toolbar buttons as properties. That allows you to localize / internationalize your end-user application.

Print scaling

When printing a diagram, the output can be scaled as specified via PrintOptions.ScaleFactor property. The ScaleToPage method of PrintOptions queries the default printer about its page size and sets the ScaleFactor to a value that makes the whole diagram fit in a single page. There is also a 'Fit Page' button on the Print Preview toolbar, that allows users scale the diagram to fit single page. The title of the 'Fit Page' button can be set via the PreviewStrFitPage property.

Page markers

Page markers can be drawn on the screen to indicate where page boundaries would be if a diagram is printed with the default printer. That can be enabled via the ShowPageMarkers property of PrintOptions. Visual settings of page markers can be specified via PageMarkersColor, PageMarkersWidth and PageMarkersStyle.

Obsolete methods

Diagrams can be printed via the PrintChart or PrintOnDev methods. PrintChart shows standard Windows print dialog to let users choose the printer to be used and configure the print settings. PrintOnDev takes the printer name as parameter and proceeds directly to printing, without displaying that dialog.


Appearance

Appearance

You can customize most of FlowChartX visualization aspects.

Graphics engine

FlowChartX diagrams can be rendered either via the classic Windows GDI API or via the GDI+ library, as specified through the Graphics property. The GDI+ graphics engine supports nice looking visual effects such as anti-aliasing and alpha-blending. GDI+ has some limitations too; check the Graphics class for more details.

Background

FlowChartX background area can be filled using a single color pointed by BackColor property. Background theme can also be an image set via the Picture property, LoadPicture or LoadPicFromRes methods. Pictures can be loaded from any OleLoadPicture supported file formats - metafiles, icons, bitmaps, jpegs or gifs. Background image can be painted tiled, stretched, centered or aligned to control's corners or sides, as specified via PicturePos.

Shadows

Draw shadows under boxes and arrows by setting ShowShadows property to true. Shadows' offset from objects is specified by ShadowOffsetX and ShadowOffsetY properties or the SetShadowOffset method. Shadows are painted with the color defined via the ShadowColor and ShadowColorAlpha properties. If ShadowsStyle is set to shdOneLevel the object shadows are drawn at the lowest Z level under all objects, which makes them look as on single Z level. If it is set to shdZOrder each shadow is drawn immediately under its corresponding object, possibly covering parts of other objects, which gives more 3D-like look to the diagram.

Selection

Manipulation handles colors can be changed by means of following properties: ActiveMnpColor - the handles of the active object are painted with this color; SelMnpColor - for painting handles of selected objects; DisabledMnpColor - for painting disabled manipulation handles (see MnpHandlesMask). Disabled handles painting can be suppressed via the ShowDisabledHandles property. The way multiple selection is displayed can be set using MultiSelStyle property.

Mouse cursor

Different mouse cursor icons can be set to give context-sensitive feedback to users, prompting them if creation/modification of an object is possible and many others. Topic is described in details in SetMouseCursor method.

Some more global appearance settings: define grid visibility and color with ShowGrid and GridColor properties; visual style of the tool-tips depends on ToolTipStyle property.


Modifying FlowChartX Appearance

Modifying FlowChartX Appearance

You can customize most of FlowChartX visualization aspects.

Graphics engine

FlowChartX diagrams can be rendered either via the classic Windows GDI API or via the GDI+ library, as specified through the Graphics property. The GDI+ graphics engine supports nice looking visual effects such as anti-aliasing and alpha-blending. GDI+ has some limitations too; check the Graphics class for more details.

Background

FlowChartX background area can be filled using a single color pointed by BackColor property. Background theme can also be an image set via the Picture property, LoadPicture or LoadPicFromRes methods. Pictures can be loaded from any OleLoadPicture supported file formats - metafiles, icons, bitmaps, jpegs or gifs. Background image can be painted tiled, stretched, centered or aligned to control's corners or sides, as specified via PicturePos.

Shadows

Draw shadows under boxes and arrows by setting ShowShadows property to true. Shadows' offset from objects is specified by ShadowOffsetX and ShadowOffsetY properties or the SetShadowOffset method. Shadows are painted with the color defined via the ShadowColor and ShadowColorAlpha properties. If ShadowsStyle is set to shdOneLevel the object shadows are drawn at the lowest Z level under all objects, which makes them look as on single Z level. If it is set to shdZOrder each shadow is drawn immediately under its corresponding object, possibly covering parts of other objects, which gives more 3D-like look to the diagram.

Selection

Manipulation handles colors can be changed by means of following properties: ActiveMnpColor - the handles of the active object are painted with this color; SelMnpColor - for painting handles of selected objects; DisabledMnpColor - for painting disabled manipulation handles (see MnpHandlesMask). Disabled handles painting can be suppressed via the ShowDisabledHandles property. The way multiple selection is displayed can be set using MultiSelStyle property. Pen style and color of the selection lasso can be set via SelectionOptions properties.

Mouse cursor

Different mouse cursor icons can be set to give context-sensitive feedback to users, prompting them if creation/modification of an object is possible and many others. Topic is described in details in SetMouseCursor method.

Some more global appearance settings: define grid visibility and color with ShowGrid and GridColor properties; visual style of the tool-tips depends on ToolTipStyle property.


Appearance of Items

Appearance of Items

For every FlowChartX object different visual styles and properties can be set as described below:

Box- specific properties

The most important property defining visual appearance of boxes is Style. There are several basic box styles, including rectangles, rhombi, ellipses and process chart symbols such as 'delay'. In addition FlowChartX supports polygonal shapes that can be defined by programmers. A shape from above 50 predefined polygons can be selected by means of the LoadPredefShape method. Custom shapes can be defined by passing arrays of vertex coordinates to SetPolyShape or SetPolyShapeArray method. The latter expects OLE safe array as argument.

Another feature is available for further customization of boxes appearance. Your program code can be invoked when a box is rendered, to either fully replace FlowChartX rendering of the box, or to make additional drawing over a drawn box. This is set by the CustomDraw property of boxes.

Furthermore the professional edition of FlowChartX supports custom shape libraries, which can be installed as plug-ins into the control's rendering engine. MindFusion distributes several free shape libraries, and also programmers can write their own if needed. To use a shape from a custom library invoke the SetShape method of a box, whose style is set to bsLibShape.

The Transparent property, when set to true, makes only the picture and/or text of a box visible. This might be used for effects, such as floating text or hanging arrows (not attached to boxes). The RenderFlags lets you specify whether shape decorations should be drawn for Transparent boxes.

Arrow- specific properties

The Style property of an arrow defines the type of its segments - either straight lines or curves - and their orientation one to another. If the segments are straight lines, the joins between them can be curved, as specified via RoundedArrows. The number of arrow segments is specified through the Segments property.

FlowChartX supports a rich set of shapes that can be used as arrowheads. These shapes can be filled with color specified through the Arrow.FillColor property. The shape and size of the arrowhead at the end of an arrow are set using ArrowHead and ArrowHeadSize properties. For the one at the arrows base use ArrowBase and ArrowBaseSize. Additionally, arrowhead shapes can be drawn at the center of each arrow's segment, as specified by the IntermArrowHead and IntermHeadSize properties.

Arrow crossings

Arrow crossing points can be rendered as arcs or breaks, as specified via ArrowCrossings. It depends on the z-order, which arrows jump over the others, or which arrows appear broken by the others. If ArrowCrossings is set to acArcs, arrows with higher ZIndex jump over those with lower Z. If set to acBreaking, arrows with lower Z are broken by arrows wit higher Z. Radius of arcs and breaks can be set through the CrossRadius property.

Text

To display text inside diagram nodes, set the Box.Text and Table.Caption properties. For table cells, use Table.GetText and Table.SetText methods. Text formatting can be customized through the Box.Font and Table.Font properties for font and Box.TextStyle property, Table.CaptionStyle, Table.GetTextStyle and Table.SetTextStyle methods for specifying text alignment and position in a box or in a table cell. Formatting attributes, such as italics, bold and underline, can be applied to text inside boxes, as specified through the EnableStyledText property.

To specify padding distance between the borders and text of a box, call its SetTextPadding method. To determine whether the text currently fits inside a box, call TextFits. To resize a box so that the text fits inside it, call FitSizeToText.

The label text and formatting of links is set through the Text, Font, and TextStyle properties of the Arrow class. The location of the label can be set through the SetTextPosition method.

Multiple labels per arrow

The ArrowLabel class available since version 4.8 allows multiple captions to be displayed for a single Arrow object. Labels provide a set of properties allowing full customization of their display and positioning. Labels can also be arranged automatically to avoid overlapping nodes and other labels by setting AutoArrange to true. You can modify and access the list of arrow's labels using AddLabel, RemoveLabel, GetLabel methods of the Arrow class. The LabelFromPoint method lets you find the label placed at a specific location.

Fonts

By default, the font properties of all items (tables, boxes and arrows) are set to null references (Nothing in Visual Basic). That cuts down memory consumption by not allocating fonts for each diagram element. When the font of an item is null, the text of this item is rendered using the flowchart's Font. So if different fonts are needed for the diagram elements, their Font properties have to be initialized first (using the CreateStdFont statement in VB).

Note that non-proportional fonts, such as Courier or MS Sans Serif cannot zoom out well. The smallest size such fonts can be rendered with is the smallest value shown in the 'Size' combo box in the standard font dialog. If your application allows scaling to ZoomFactor smaller than 100, we recommend using proportional fonts such as Arial, Courier New or Verdana.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ Graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

Pictures

Boxes and tables can display pictures as a background theme. Use Box.Picture and Table.Picture properties to load images into the respective items. In addition, pictures can be loaded from files or from resources in your executable file by calling Box.LoadPicture or respectively Box.LoadPicFromRes methods, for tables use the Table.LoadPicture or Table.LoadPicFromRes methods.

Pictures can be positioned in different ways: they can be tiled, stretched or aligned to the containing items' sides or corners. Use Box.PicturePos and Table.PicturePos to specify how images are placed inside the corresponding objects. If box shapes are non-rectangular, pictures are clipped to match the shape outlines. The SetPictureRect method of the ShapeTemplate class lets you define a rectangular area in which boxes should display their images.

The cells of a table can contain pictures too. Assigning images to cells can be done using the CellPicture indexed property, or by calling the LoadPicInCell method to load an image from a file. Cell pictures can be loaded also from the application resources, using the LoadPicInCellFromRes method. The CellPicturePos defines the position and alignment of a cell picture.

Transparent images

Nodes can display transparent icons or gif images too. If you are a Visual Basic developer, please note that the VB picture box control and LoadPicture method can load transparent gif images successfully, but in a format that doesn't allow saving their transparency information later. If you need to save diagrams that contain transparent images, use the FlowChartX LoadPicture methods to load these images initially.

Pen width and style

The dash style used for painting items' frames, and the width of the frame lines can be set via Arrow.PenStyle, Arrow.PenWidth, Box.PenStyle, Box.PenWidth, Table.PenStyle and Table.PenWidth properties.

If the classic Graphics engine is used, non-solid dash styles such as dotted or dashed are ignored for pen width greater than 1. GDI+ supports all dash styles for arbitrary pen widths.

Colors

Colors for filling objects and drawing their borders and text are specified by the following properties: Arrow.Color, Arrow.FillColor, Arrow.TextColor, Box.FillColor, Box.FrameColor, Box.DecorationColor, Box.TextColor, Table.CaptionColor, Table.FillColor, Table.CaptionFillColor, Table.CaptionFillColor2, and Table.FrameColor.

FlowChartX can fill box' interior with color gradient. Gradients are controlled by means of the Box.FillStyle and Box.FillColor2 properties. If GDI+ Graphics engine is enabled, items can be painted semi-transparent by setting an alpha component value in the FillColorAlpha property.

Shadows

The shadows' offsets from objects can be set individually through these properties: Arrow.ShadowOffsetX, Box.ShadowOffsetX, Table.ShadowOffsetX, Arrow.ShadowOffsetY, Box.ShadowOffsetY, Table.ShadowOffsetY.

Visibility

Setting the Visible property of diagram objects to false hides them. Setting it to true shows them again.


User-defined Box Shapes and Custom Drawing

User-defined Box Shapes and Custom Drawing

Box appearance can be customized in several additional ways, which are described below.

Polygonal box shapes

By setting a box' Style to bsPolygon, you can assign any polygonal shape to that box. Polygonal shapes are defined by their vertices given as percents in the bounding rectangle of the box. Those shapes are drawn in [0..100]-[0..100] rectangle of a coordinate system with Y-axis positive values growing down, and that rectangle mapped to the box bounding rectangle. Following properties and methods load custom shapes: SetPolyShapeArray and SetPolyShape methods, Box.SetPolyShapeArray and Box.SetPolyShape methods, Box.LoadPredefShape and LoadPredefShape methods (loads a predefined polygonal shape from more than 50 available).

Shape templates

The ShapeTemplate class provides the means for defining complex node shapes, made of straight lines and Bezier curves. A shape template must always contain an outline to be used for hit testing, clipping and finding intersections with other objects. Optionally shapes can contain decoration elements, text region definitions and default anchor point patterns. Decorations are visual elements that do not take part in hit testing and clipping. Text regions are the parts of shapes in which node's text is laid-out and rendered. Anchor point patterns define at which points of a node, arrows can start or end. FlowChartX provides a set of 87 predefined shape templates, which can be accessed via the Shapes member of the FlowChart class. A shape template is used by applying it to the Shape property of boxes.

Custom painting

Another way to customize box appearance is custom painting, which gives you absolute freedom to choose how to draw a box. Use BoxCustomDraw and Box.CustomDraw properties to enable that feature in your application. FlowChartX gives you two options for custom drawing. When you chose cdAdditional drawing style your drawing code will be executed after the standard box drawing code completes and the Picture is rendered, but before any text is displayed. When using cdFull drawing mode, none of the standard FlowChartX drawing code is executed, just yours. Place your own drawing code in the CustomDraw event handler. This event is raised for each box with custom-draw style that needs repainting. The Windows device context received to draw on has its clipping region set to the box shape outline.

Finally, you might combine your shape definitions with the cdAdditional custom-painting style. Thus, you will get custom shaping enabled, a clipping region set that equals the shape outline, and your drawing code executed in the clipped DC. You can also clear the clipping region, but be careful - if you draw outside the bounding rectangle the view might not get updated correctly.


Node Effects

Node Effects

In GDI+ mode, FlowChartX can apply two kinds of visual effects to nodes, Glass and Aero. To apply an effect to all nodes in a flowchart, call the AddAeroEffect or AddGlassEffect method of the FlowChart class. To apply an effect to individual nodes, call the AddAeroEffect or AddGlassEffect method of Box or Table. It is possible to combine different effects or apply more than one effect of the same type by calling these methods multiple times.

Aero Effect

The Aero effect can be applied by calling AddAeroEffect. The effect is designed to roughly resemble the Aero theme of Windows. More specifically, the effect adds semi-transparency to the nodes, a smooth shade at the outside and a thin inset stroke. The semi transparency is specified via the opacity argument. Opacity varies from 0 to 1 inclusive, where 0 indicates full transparency and 1 indicates the original node color. The semi transparency is applied only on the node brush. The colors of the shade and the inner stroke are specified through the shadeColor and innerOutlineColor arguments respectively. The following image illustrates how these properties affect the output:

The following example applies the Aero effect to all nodes of a flowchart:

VB6 [image] Copy Code

flowchart.AddAeroEffect 0.5, vbBlack, vbWhite

Tips

  • The Aero effect works very well in scenarios with overlapping nodes or in cases where the background is more complex than solid color, due to the effect of semi transparency.
  • Aero combines well with the Glass effect. There are some examples at the end of this topic.
  • The ShadeColor is usually black or another dark color. However, some nice glow effects can be achieved by setting bright ShadeColor on a diagram with dark background.
  • The Aero effect can impact performance if there are many nodes visible in the diagram.

Glass Effect

The Glass effect is applied via the AddGlassEffect method. The Glass effect adds visuals on top of the nodes in order to give the impression of a reflective surface. There are several variations of this effect, which can be selected through the type argument. The color of the reflection and the ambient color can be specified through the reflectionColor and glowColor arguments respectively. When usePenAsGlow is set to true, the color of the node's pen is used as the ambient color. The following image illustrates the differences between the distinct effect types:

The following example applies a Glass effect to all nodes of a flowchart:

VB6 [image] Copy Code

fcx.AddGlassEffect gtType1, vbWhite, vbWhite, False

Tips

  • The GlowColor is usually white. However, for Type4 glass effects it is often more suitable to use black glow.
  • The Glass effect combines well with the Aero effect. There are some examples at the end of this topic.
  • Several glass effects of different types can be applied simultaneously for emphasized effect.

Examples

The values of the effect properties are usually selected in accordance with the color scheme of the target diagram and the desired end result. In addition different types of effects can be applied simultaneously to achieve more interesting results. The examples below demonstrate possible effect combinations in various color contexts.

Aero & Glass (Dark on Light)

In this example the Aero and Glass effects are combined. The Aero effect is useful in scenarios when dark nodes are placed on light background or vice versa, in order to emphasize the contrast.

Here is the code that applies the above effects:

VB6 [image] Copy Code

fcx.BackColor = vbWhite
fcx.AddGlassEffect gtType1, vbWhite, vbWhite, False
fcx.AddAeroEffect 0.5, vbBlack, vbWhite

Aero & Glass (Light on Dark)

This example is similar to the first one, only this time the nodes are painted in light colors and the background is dark.

Here is the code that applies the above effect:

VB6 [image] Copy Code

fcx.BackColor = RGB(128, 128, 128)
fcx.AddGlassEffect gtType3, vbWhite, vbWhite, False
fcx.AddAeroEffect 0.5, vbBlack, vbWhite

Glow Effect

This example uses bright colors on black background to create a glow effect. The example utilizes an Aero effect with ShadeColor set to the color of the nodes' pens.

Here is the code that applies the above effects:

VB6 [image] Copy Code

fcx.ShowShadows = False
fcx.BoxFrameColor = RGB(100, 255, 255)
fcx.BackColor = vbBlack
fcx.AddGlassEffect gtType2, vbWhite, vbWhite, True
fcx.AddAeroEffect 0, RGB(128, 255, 255), vbBlack


Creating Custom Shape Libraries

Creating Custom Shape Libraries

( [image] a feature of FlowChartX Pro edition)

The professional edition of FlowChartX provides you with the ultimate customization of shapes of diagram elements. You can create dynamic load libraries that define new types of box shapes. Every single library may contain one or more shape definitions. Shape libraries are loaded as plug-ins into the FlowChartX engine, to provide painting and user-interaction code. These libraries should conform to a certain interface, specified by the FlowChartX plug-in manager.

Every shape library must implement and export the following functions:

1) A function that returns a unique class identifier of the library. This identifier is used to associate diagram objects with the library that defines their shape. Use the guidgen.exe tool that comes with Visual Studio to generate the class id for your library.

C++ [image] Copy Code

extern "C" FCPLUGIN_API void GetLibCLSID(CLSID* clsid);

2) A function that returns a user-friendly name for the shape library. This name should give descriptive information about the shapes that are available in the library. For example the name might be "Collection of network design symbols".

C++ [image] Copy Code

extern "C" FCPLUGIN_API void GetLibName(WCHAR* libName);

3) A function that returns the number of shapes contained in the library:

C++ [image] Copy Code

extern "C" FCPLUGIN_API LONG GetShapeCount();

4) This function returns a Windows GDI region object that defines the outline of the shape. This region actually defines a clipping region, in which the text and picture of a box are rendered. The first argument of the function specifies the position of the diagram element, and the second - the zero-based index of the shape.

C++ [image] Copy Code

extern "C" FCPLUGIN_API HRGN CreateRegion(const RECT& rc, LONG shape);

5) This function should draw a shape at the specified position. It is used to draw both shapes and their shadows, depending on the value of the last parameter.

C++ [image] Copy Code

extern "C" FCPLUGIN_API void Draw(HDC dc, const RECT& rc, LONG shape, bool shadow);

6) This function should print a shape at the specified position. It is used to print both shapes and their shadows, depending on the value of the last parameter.

C++ [image] Copy Code

extern "C" FCPLUGIN_API void Print(PRINTINFO* ppi, const RECT& rc, LONG shape, bool shadow);

7) This method determines if a shape contains the point that is specified as parameter.

C++ [image] Copy Code

extern "C" FCPLUGIN_API BOOL ContainsPoint(const RECT& rc, const POINT& pt, LONG shape);

8) This method finds the intersection of a line segment and the outline of a shape. It is used for finding the connection point of an arrow and a diagram element from the library.

C++ [image] Copy Code

extern "C" FCPLUGIN_API POINT GetIntersection(const RECT& rc, const POINT& ptOrg, const POINT& ptDest, LONG shape);

Shape libraries can be created in any language as long as it has a compiler that can produce standard Windows DLLs.

You can find a template library project in the "FCPluginAPI" directory in the FlowChartX installation folder.


Using Custom Shape Libraries

Using Custom Shape Libraries

( [image] a feature of FlowChartX Pro edition)

Loading a shape library

To load a custom shape library call the LoadShapeLib method. It takes as an argument the name of the dll file containing the shapes and returns the unique identifier of the library. You should store a reference to this identifier because it is used to specify the library in various other methods and properties.

Getting information

To get the unique identifier that is associated with a loaded library call the GetShapeLibGUID method. This identifier is also returned to you when the library is loaded. It is used to identify the library when calling various other methods. Use the ShapeLibCount function to get the number loaded shape libraries.

To get the number of shapes in a library call the GetShapeCount method. The user-friendly name of a shape library can be obtained through the GetShapeLibName method.

Using shapes

In order to assign a shape from a loaded library to a box, first you have to set the Style of the box to bsLibShape, and then call the SetShape box method. You can get the currently assigned shape of a box by invoking its GetShape method. To define a default library shape for all new boxes, set the BoxStyle flowchart property to bsLibShape and call the SetDefLibShape method.

Unloading libraries

If at some point of execution of your program a specific shape library is no longer needed, you can unload it by calling UnloadShapeLib. Alternatively you can unload all loaded libraries with a single call to UnloadAllShapeLibs.


Default Values of Object Properties

Default Values of Object Properties

Each new object created either by the user or programmatically, using CreateArrow, CreateRelation, CreateBox or CreateTable methods, is initialized with some kind of default values. You can set the values of object's properties each time a new object is created. Still it would be more efficient to set the default values once and use them for all subsequently created objects. Below are listed object settings and the corresponding FlowChartX properties through which they are initialized:

Box property | Initialized with
AxControlId | FlowChart.AxControlId
ControlActivation | FlowChart.HostedAxActivation
CustomDraw | FlowChart.BoxCustomDraw
EnableStyledText | FlowChart.EnableStyledText
Expandable | FlowChart.BoxesExpandable
FeedbackColor | FlowChart.FeedbackColor
FeedbackPenStyle | FlowChart.FeedbackPenStyle
FeedbackPenWidth | FlowChart.FeedbackPenWidth
FillColor | FlowChart.BoxFillColor
FillColor2 | FlowChart.BoxFillColor2
FillColorAlpha | FlowChart.BoxFillColorAlpha
FillStyle | FlowChart.BoxFillStyle
FrameColor | FlowChart.BoxFrameColor
IncmAnchor | FlowChart.BoxIncmAnchor
OutgAnchor | FlowChart.BoxOutgAnchor
Picture | FlowChart.BoxPicture
PicturePos | FlowChart.BoxPicturePos
SelStyle | FlowChart.BoxSelStyle
Style | FlowChart.BoxStyle
Text | FlowChart.BoxText
TextStyle | FlowChart.TextStyle
WindowFrame | FlowChart.BoxWindowFrame

Table property | Initialized with
Caption | FlowChart.TableCaption
CaptionHeight | FlowChart.TableCaptionHeight
ColumnsCount | FlowChart.TableColumnsCount
default column width | FlowChart.TableColWidth
default row height | FlowChart.TableRowHeight
FillColor | FlowChart.TableFillColor
FillColorAlpha | FlowChart.TableFillColorAlpha
FrameColor | FlowChart.TableFrameColor
RowsCount | FlowChart.TableRowsCount
Scrollable | FlowChart.TablesScrollable
SelStyle | FlowChart.TableSelStyle
Style | FlowChart.TableStyle

Arrow property | Initialized with
ArrowBase | FlowChart.ArrowBase
ArrowBaseSize | FlowChart.ArrowBaseSize
ArrowHead | FlowChart.ArrowHead
ArrowHeadSize | FlowChart.ArrowHeadSize
Color | FlowChart.ArrowColor
Dynamic | FlowChart.DynamicArrows
FillColor | FlowChart.ArrowFillColor
FillColorAlpha | FlowChart.ArrowFillColorAlpha
IntermArrowHead | FlowChart.IntermArrowHead
IntermHeadSize | FlowChart.IntermHeadSize
PrpStartOrientation | FlowChart.PrpArrowStartOrnt
Segments | FlowChart.ArrowSegments
SelStyle | FlowChart.ArrowSelStyle
Style | FlowChart.ArrowStyle
Text | FlowChart.ArrowText

The following properties are used for initialization of all types of objects:

PenStyle property - default for Box.PenStyle, Table.PenStyle and Arrow.PenStyle;

PenWidth property - default for Box.PenWidth, Table.PenWidth and Arrow.PenWidth;

Font property - default for Box.Font, Table.Font and Arrow.Font;

TextColor property - default for Box.TextColor, Table.CaptionColor and Arrow.TextColor;

ShadowOffsetX property - default for Arrow.ShadowOffsetX, Box.ShadowOffsetX, Table.ShadowOffsetX;

ShadowOffsetY property - default for Arrow.ShadowOffsetY, Box.ShadowOffsetY, Table.ShadowOffsetY;


Hosting ActiveX Controls

Hosting ActiveX Controls

( [image] a feature of FlowChartX Pro edition)

FlowChartX can host other ActiveX controls in diagram nodes. Virtually every control can be used to display or edit entities that your application presents in entity-relationship diagrams. That might be a ready-made control such as calendar, grid or browser displaying an html-page. In addition, you might create a form/dialog control or custom-drawn one and integrate it seamlessly with FlowChartX. Hosted controls can be interactive, with embedded user interface and animations. Take a look at the 'ActiveX nodes' sample that comes with FlowChartX Pro to see how easy it is to use both custom and standard controls as nodes in a diagram.

Creating controls inside a node

You can instantiate an OCX inside a Box object simply by setting two box properties. Assign the class identifier of the control to the AxControlId property and set Style to bsAxControl. To specify that all boxes drawn by the user should automatically create and host controls, set the BoxStyle and AxControlId properties of the FlowChart object. The control's class identifier can be a ProgID such as "MSCAL.Calendar" or a CLSID such as "{8E27C92B-1264-101C-8A2F-040224009C02}". If the assigned string is not a valid control identifier, it is interpreted as an URL and a browser control is created and navigated to the specified link.

Instantiating licensed controls

ActiveX controls that require runtime license keys must have their keys specified via the AxLicenseKeys indexed property. Use the control's CLSID or ProgID as an index and the control's key as value of that property. Control creation will fail if a license key is required and it is not available in the AxLicenseKeys map. If you need to know what is the runtime key of a control, inquire its developers or publishers about that. They will give you that information as long as you are their registered customer.

Accessing hosted controls

The AxControl property returns a reference to the ActiveX control hosted inside a box. C++ programmers might prefer getting a pointer to the hosted control's IUnknown interface via AxRawPtr. The AxControl property returns IDispatch pointer, required by VB, but harder to use with C++.

Control activation

FlowChartX subclasses the window of any hosted control, in order to detect mouse actions performed on it. That allows carrying out move and resize operations as with ordinary diagram nodes. However, manipulation of an OCX node via mouse might interfere with some user-interface features of the control. For that reason FlowChartX can be directed to pass or filter mouse messages sent to the window of a hosted control. A control is considered as active when the mouse messages are passed to it. The ControlActivation property of boxes specifies how and when to activate a control. Default value can be assigned to the HostedAxActivation property of FlowChart.

Appearance

The appearance of control host nodes depends mostly on the values of the hosted control's properties. The only property of the Box class that affects the appearance of host nodes is the WindowFrame which allows setting the border style of the control windows. Another related property is ControlPadding, which sets how much space to leave between a hosted control and the box borders.

Handling events raised by hosted controls

To get event notifications from a control hosted inside a box, you must register the event sink interface with the control. First query the control for IConnectionPointContainer; via this interface get the IConnectionPoint pointer responsible for the required event interface. Via that pointer register your sink by calling Advise.

Example

To create a browser control and navigate to an URL, use code like this:

VB [image] Copy Code

Dim browser As SHDocVw.WebBrowser

'create the control
fc.ActiveBox.AxControlId = "Shell.Explorer"
fc.ActiveBox.Style = bsAxControl

'get reference to it
Set browser = fc.ActiveBox.AxControl
browser.Navigate "http://mindfusion.eu"


Miscellaneous

Miscellaneous

Associating data with diagram elements

The following properties allow attaching custom data to diagram items. They could contain integer or string values that identify larger structures in your application: Tag, UserData, UserString. It is possible to assign any OLE VARIANT value to the VariantTag property of item classes. VariantTag allows associating an array or a COM object with a diagram item. The FlowChart class exposes a VariantTag property too. At this time, the Group class provides only an integer Tag property.

Coordinate transformations

ClientPtToDocPt and ScreenPtToDocPt perform conversion of point coordinates from device to document coordinate system. The device coordinates represent 'physical' points in window client area or the screen, and the document coordinates represent location in the flowchart document. The mapping between the two coordinate systems depends on current scroll offset and zoom factor. These two methods together with ObjectFromPoint can be used to find out which flowchart object contains certain point of the screen or the container window (the mouse pointer location for example). The opposite transformation from document to device coordinates can be done using the DocPtToClientPt method.

Keyboard settings

Some ActiveX containers filter various keys to perform form navigation and the WM_KEYDOWN Windows message generated for them doesn't reach FlowChartX. The KeyboardFlags indexed property allows specifying to FlowChartX that it shouldn't wait WM_KEYDOWN messages for the filtered keystrokes, but use an implementation of the IOleInPlaceActiveObjectImpl::TranslateAccelerator method to handle keyboard notifications.

The KbdActive property indicates whether FlowChartX should automatically handle some keystrokes to let users modify the diagram via the keyboard. Disable it if you need to have full control over the users' actions. How FlowChartX responds to some keys can be set via the KbdBehavior property.

Trial or retail version

The DemoVersion property equals to true in trial versions of FlowChartX and to false in retail versions.


How to Show FlowChartX Property Pages

How to Show FlowChartX Property Pages

The Windows API function, which shows a property sheet dialog box, is OleCreatePropertyFrame. It gets as an argument an array of CLSIDs of the property pages to be displayed. The function creates a modal dialog box and does not return until the dialog box is closed.

The following C++ code shows the property page for the 'active' selected item.

C++ [image] Copy Code

LPDISPATCH pDisp = (LPDISPATCH)m_FlowChart.GetControlUnknown();
CLSID clsid = CLSID_PropPageSelected;

OleCreatePropertyFrame(m_hWnd, 0, 0, L"Properties",
1, (LPUNKNOWN*)&pDisp, 1, &clsid, GetSystemDefaultLCID(), 0, NULL);

When imported in .NET project, FlowChartX control is represented by an AxHost derived class. AxHost.ShowPropertyPages method displays all property pages associated with the control.


Windowless or Windowed Activation

Windowless or Windowed Activation

FlowChartX supports both windowed and windowless in-place activation models. When windowless, the control does not own its own window and renders itself in the window owned by its container. Thus it executes faster, since all expensive window creation and management code is skipped. When imported by an MFC wizard or in a Visual Basic 6.0 project the windowed implementation of FlowChartX is used by default. You would probably want to create the control windowed because of the control built-in scrollbars, which are not supported in the windowless version (you can use RegExtrScrollers to register external scrollbars though).

The COM way to prohibit windowless activation is to return false from the CanWindowlessActivate method of the container's IOleInPlaceSiteWindowless interface. Since this interface is implemented internally by VB and cannot be overridden, we have devised a work-around method to create the control windowed, and still support windowless activation. When FlowChartX is being created it checks if a named semaphore called "FCX_windowless" exists in the system. If the semaphore exists the control reports that it supports windowless activation when asked about it. Otherwise it hides this fact and is created in its own window. If for any reason you want to use the control in windowless mode you can do it as shown below:

VB [image] Copy Code

Private Declare Function CreateSemaphoreA Lib "Kernel32" (ByVal sec As Long, ByVal a As Long, ByVal b As Long, ByVal s As String) As Long
Private Declare Function CloseHandle Lib "Kernel32" (ByVal handle As Long) As Long

Sub Main()

Dim smph As Long

'the semaphore should be created before the form
'that contains FlowChartX is loaded
smph = CreateSemaphoreA(0, 0, 1, "FCX_windowless")

'load and display the main form
Form1.Show

'close the semaphore
CloseHandle smph

End Sub

Note

Current version of .NET does not support windowless activation of ActiveX controls, so FlowChartX is always created in its own window when used in .NET applications.


Important Notes

Important Notes


Important Notes for All Users

Important Notes for All Users

Installing your application on Win95/98 systems

When your application that uses FlowChartX is ready for shipping to the end users, you would probably want to make a setup program for it. If your software is intended to run on Win9X systems, the setup program should install the Microsoft Layer for Unicode before registering the FlowChartX control dll. Check the Unicode Support section for more information.

Setting different fonts of diagram objects

By default new diagram objects - boxes, arrows and tables - have their font property set to null (Nothing in Visual Basic). When an object's font is null, the flowchart's Font property is used for rendering the object's text. Thus, every diagram object shares a single font with all others, until its font is initialized with a new OLE font object. The implication here is that you can't access object's font properties, before the font itself is set. For example, the following line will cause a runtime error, unless the box' font was initially set (using the Set statement in VB, OleCreateFontIndirect in C, etc):

VB [image] Copy Code

fc.ActiveBox.Font.Bold = True


Important Notes for Visual Basic Users

Important Notes for Visual Basic Users

Windowed activation

FlowChartX supports both windowless and windowed activation, the latter is default. Visual Basic creates controls windowless if they support the IOleInPlaceObjectWindowless interface. This interface is hidden so that VB instantiates the control in its own window. It is easier to use the control in windowed mode due to following reasons:

  • the built-in scrollbars can be created and used only if FlowChartX has its own window;
  • VB erases the background of windowless controls when they are invalidated, which results in screen flickering;
  • windowless controls rely on their containers to forward Windows messages to them, but VB does not forward certain messages. This prevents FlowChartX from detecting the WM_MOUSEWHEEL message for example; therefore, the MouseWheel event is not raised in windowless mode.

The COM way to prohibit windowless activation is to return false from the CanWindowlessActivate method of the container's IOleInPlaceSiteWindowless interface. Since this interface is implemented internally by VB and cannot be overridden, we have devised a work-around method to create the control windowed, and still support windowless activation. When FlowChartX is being created it checks if a named semaphore called "FCX_windowless" exists in the system. If the semaphore exists, the control reports that it supports windowless activation when asked about it. Otherwise, it hides this fact and is created in its own window. If for any reason you want to use the control in windowless mode you can do it as shown below:

VB [image] Copy Code

Private Declare Function CreateSemaphoreA Lib "Kernel32" (ByVal sec As Long, ByVal a As Long, ByVal b As Long, ByVal s As String) As Long
Private Declare Function CloseHandle Lib "Kernel32" (ByVal handle As Long) As Long

Sub Main()
Dim smph As Long

'the semaphore should be created before the form
'that contains FlowChartX is loaded
smph = CreateSemaphoreA(0, 0, 1, "FCX_windowless")

'load and display the main form
Form1.Show

'close the semaphore
CloseHandle smph

End Sub

Drag-and-drop

Another important issue with VB is to control programmatically the drag-and-drop operations. The events raised in drProgrControl mode cannot be used with VB, because the IDataObject pointer passed as their argument is not automation-compatible. You should use drProgrControlVB mode and will receive similar set of events, but having as parameter automation-compatible IVBDataObject pointer. See DragDropMode property for more info.


Important Notes for Visual C++ Users

Important Notes for Visual C++ Users

To use FlowChartX in Visual C++ version 6.0 follow these steps:

  • Open "Project\Add To Project\Component and Controls" menu
  • Open "Registered ActiveX Controls" folder
  • Choose "FlowChartX Control 1.0" from the list and click Insert
  • From "Confirm Classes" dialog box select all available classes and click OK

The wizard generates C++ wrapper classes for the objects from FlowChartX type library and an item for the control is added to "Controls toolbox". Now you can start using the control.

Note

In Visual C++ 7.0 there is a problem importing ActiveX controls in general and FlowChartX particularly: unlike version 6 importing the control through MFC wizard will not generate wrapper classes for the whole FlowChartX object hierarchy. If you use the "Add class from ActiveX control" wizard it will generate a class just for the FlowChart object, but not for Box, Arrow, Boxes and Arrows collections. Respectively "Add class from Type Library" wizard generates a class for all FlowChartX objects but with faults - FlowChartX properties and methods' parameters that are object references are declared as LPDISPATCH instead of CBoxItem, CArrowItem, CBoxes or CArrows as in Visual C++ 6.0.

In order to help you workaround these problems we have included in FlowChartX installation the control wrapper classes as generated by Visual C++ 6. You can find them in "MFC wrapper" subfolder in your root installation folder. Following steps describe how to use them in Visual C++ 7.0 projects:

  • Open "Dialog editor"
  • From Toolbox context menu choose "Customize…"
  • Add FlowChartX control 1.0
  • Drag the new FlowChartX object that has appeared in Toolbox to the form
  • Right-click it and choose "Add variable" from the context menu
  • Name the MFC wrapper class CFlowChart and its files - flowchart.h and flowchart.cpp
  • Copy all files from "MFC wrapper" folder to your project folder, overwriting flowchart.h and flowchart.cpp
  • From "Project->Add Existing Item..." add all the files to your project.

You can also use these files in Visual C++ 6.0, since we have manually added the enumeration constants. SetPolyShape is fixed too because it was not correctly imported by Visual C++ 6.0 due to parameter type conversion error.

Event handling

Remember to pay special attention to event handling in all Visual C++ versions. Event methods that receive as parameter reference to a box, table or arrow object should not change its reference count. Still the COleDispatchDriver-derived wrapper classes by default call the attached COM object Release function in their destructor, which decreases the reference count. As a result the count might go to zero and the item be destroyed unexpectedly. To avoid this, either set the wrapper object m_bAutoRelease member to FALSE, or call Detach method before the object goes out of scope:

C++ [image] Copy Code

void App::OnTableCreated(LPDISPATCH pTableItem)
{
TableItem table = pTableItem;

table.SetCellBorders(cbNone);
table.DetachDispatch();
}

Validation events and MFC wizard-generated handler prototypes

All Request* validation events have a VARIANT_BOOL output pointer argument, but the event wizard erroneously declares that argument as a pointer to BOOL. Size of the VARIANT_BOOL type is 2 bytes, and that of BOOL is 4 bytes. Assigning a BOOL TRUE or FALSE constant value directly to the output argument would cause a big mess in the stack, potentially overwriting the method return address or local variables of other methods. To work-around that, cast the argument to VARIANT_BOOL pointer and assign VARIANT_TRUE or VARIANT_FALSE values as shown below:

C++ [image] Copy Code

void CTreeLayoutDlg::RequestSelectArrow(LPDISPATCH arrow, BOOL* pbSelect)
{
// NOTE: the event wizard erroneously declares pbSelect as BOOL*;
// pbSelect is pointing to VARIANT_BOOL, which is 2 bytes long, e.g. short;
// setting it to BOOL FALSE (4 bytes) would cause a big mess in the stack
*(VARIANT_BOOL*)pbSelect = VARIANT_FALSE;
}

#import

The #import compiler directive works fine in both versions of Visual C++ and imports the whole object hierarchy. It will generate smart pointers for the FlowChartX objects but it's harder to use them in a MFC application because FlowChartPtr object is not derived from CWnd. Anyway if you develop C++ application without using the MFC library then #import is your best choice.


Important Notes for Delphi Users

Important Notes for Delphi Users

OLE drag and drop

In order to use FlowChartX drag and drop methods, your application has to initialize the OLE libraries first. That is done by calling the OleInitialize API function, as shown below.

Delphi [image] Copy Code

procedure TForm1.FormShow(Sender: TObject);
begin

fcx.Graphics.StartUp(geGdiPlus);

// enable drag'n'drop
OleInitialize(nil);
fcx.RegisterDragDrop();

end;

procedure TForm1.FormHide(Sender: TObject);
begin

fcx.RevokeDragDrop();
OleUninitialize();
fcx.Graphics.ShutDown();

end;

ActiveX types

In order to use FlowChartX properties of type Font, Picture, Color or SAFEARRAY, you must include reference to the unit ActiveX in the uses clause.

To convert from Delphi native TFont type to the ActiveX font type, use this procedure:

Delphi [image] Copy Code

procedure GetOleFont(Font: TFont; var OleFont: IFontDisp);

To change the font of the active box' text you might use code like this:

Delphi [image] Copy Code

var

fontOle: IFontDisp;
font: TFont;
box: IBoxItem;

begin

font := TFont.Create;
font.Size := 22;
font.Name := 'Arial';
GetOleFont(font, fontOle);

box := FlowChart1.ActiveBox;

if box <> nil then
begin

box.Font := fontOle;
box.Text := 'Some text';

end;

font.Destroy;

end;

To convert from Delphi native TPicture type to ActiveX picture type, use this procedure:

Delphi [image] Copy Code

procedure GetOlePicture(Picture: TPicture; var OlePicture: IPictureDisp);

To display an image in the active box use code like this:

Delphi [image] Copy Code

var

picOle: IPictureDisp;
pic: TPicture;
box: IBoxItem;

begin

pic := TPicture.Create;
pic.LoadFromFile('e:\pictures\genie\aura.bmp');
GetOlePicture(pic, picOle);

box := FlowChart1.ActiveBox;
if box <> nil then
box.Picture := picOle;

pic.Destroy;

end;

The procedure below shows how to change the active box' fill color.

Delphi [image] Copy Code

var

colOle: OLE_COLOR;
box: IBoxItem;

begin

colOle := clPurple;

box := FlowChart1.ActiveBox;
if box <> nil then
box.FillColor := colOle;

end;

Arguments to the automatic layout algorithms are passed to the ArrangeDiagram method via instances of TreeLayout, LayeredLayout or SpringLayout structures. Those can be created like this:

Delphi [image] Copy Code

procedure TForm1.layoutTree(dir: ETreeLayoutDirection);

var tl: TreeLayout;

begin

tl := CoTreeLayout.Create();
tl.Root := root;
tl.Type_ := tltCentralized;
tl.Direction := tldTopToBottom;
tl.ArrowStyle := tlaStraight;
tl.LevelSpacing := 30;
tl.NodeSpacing := 15;
tl.KeepRootPos := true;
tl.ReversedArrows := false;
fcx.ArrangeDiagram(tl);

end;


Important Notes for .NET Users

Important Notes for .NET Users

Accessing hidden properties

When FlowChartX is imported by the .NET environment in a C# or VB.NET project a wrapper class derived from AxHost is created. The AxHost class has members BackColor and Font that overcast FlowChartX properties with the same names. To access them you have to use variable of type IFlowChart, as shown in the following C# example:

C# [image] Copy Code

FLOWCHARTLib.IFlowChart fc = (FLOWCHARTLib.IFlowChart)axFlowChart1.GetOcx();
Color c = Color.FromArgb(200, 40, 40);

fc.BackColor = (uint)ColorTranslator.ToOle(c);
fc.Font.Bold = true;
fc.Font.Size = 22;

The axFlowChart1 variable is an object of the class imported by the .NET environment. Its GetOcx method returns a reference to the underlying control and the fc assignment queries it for the IFlowChart interface. The given example also illustrates how to work with FlowChartX color properties. .NET imports OLE_COLOR type as uint and System.Drawing.Color.ToOle method returns int, so a cast is needed.

Setting images and fonts of objects

There are some issues to note when working with images. In the imported FlowChart class the Picture property is of type System.Drawing.Image and you can use all Image class static members to load this Picture. The Box object Picture property on the other hand is imported as stdole.IPictureDisp and you have two options for loading images into it:

  • use the box' LoadPicture method
  • use the AxHost.GetIPictureDispFromPicture method. Since it is a protected method it can be accessed only via an AxHost derived class.

Both ways to loading a picture are shown below:

C# [image] Copy Code

axFlowChart1.Picture = Image.FromFile("ag01.jpg");
axFlowChart1.Boxes[0].LoadPicture("ag02.jpg");
axFlowChart1.Boxes[1].Picture = Converter.Convert(Image.FromFile("ag03.jpg"));

Here is the definition of the Converter class, which also can convert from .NET fonts to OLE fonts:

C# [image] Copy Code

internal class Converter : AxHost
{
public Converter(): base("")
{
}

public static stdole.IPictureDisp Convert(Image image)
{
return (stdole.IPictureDisp)AxHost.GetIPictureDispFromPicture(image);
}

public static stdole.IFontDisp Convert(Font font)
{
return (stdole.IFontDisp)AxHost.GetIFontDispFromFont(font);
}
}


Quick Starts

Quick Starts

This section guides you through the process of starting a new project and adding FlowChartX to it. Separate articles with practical exams illustrate how to do that in most popular programming environments. Topics also include "Working with object collections", "Form customization" and "Handling of FlowChartX events".


C# Quick Start

C# Quick Start

To use FlowChartX ActiveX Control under C# with Microsoft Visual Studio 7 follow these steps:

Creating new project.

In the VS environment create a new project with "File -> New -> Project". In the dialog box that appears, select "Visual C# Projects" from Project Types list and "Windows Application" from Templates list. Give your project a suitable name and click OK. The wizard creates a new project for you.

Adding the FlowChartX control to the project.

You can customize the project form name and appearance as you wish. To add FlowChartX control to the form, right-click "Windows Forms" tab, which stays under Toolbox docking bar. If Toolbox bar is not visible, you can make it appear choosing "View -> Toolbox" menu. Afterwards, right-click inside the Toolbox area to show its context menu, and select "Customize...". From ActiveX control list check FlowChartX control and click OK button. If FlowChartX is not in the list, make sure you have run FlowChartX installation program to register the control.

You can write your initialization code right after InitializeComponent method is invoked in the Form constructor. For example, you can set default values for FlowChartX objects and/or initialize FlowChartX document - size, position, background color/image.

Customizing the application form.

After adding the FlowChartX control to the Toolbox, you can place it in the form layout. The C# environment automatically generates a member variable for the control in your form class. In addition to the FlowChartX control, you can add some UI components to carry out additional program functionality. In our example two buttons for easier interaction with the program are inserted - 'Mod' and 'Out'. That's how our form looks so far:

Working with object collections.

Now, with buttons ready, add some functionality to them by creating their event handlers. Double-clicking each of the buttons automatically adds Mod_Click and Out_Click methods to your form class, considering the buttons' names are respectively 'Mod' and 'Out'. The first button modifies the appearance of all selected boxes while the second one selects all outgoing arrows of active selected box in the current selection. Following code snippet illustrates that:

C# [image] Copy Code

private void Mod_Click(object sender, System.EventArgs e)
{
// Iterate through all selected boxes in
// the FlowChart SelectedBoxes collection and
// change their appearance.
foreach (FLOWCHARTLib.box box in this.axFlowChart1.SelectedBoxes)
{
box.PenWidth = 3;
box.FillColor = 0x00FFFF; // Yellow color
box.FrameColor = 0xFF0000; // Blue color
}
}

private void Out_Click(object sender, System.EventArgs e)
{
// Check whether there is selected box
if (this.axFlowChart1.ActiveBox != null)
{
// Get the selected box
FLOWCHARTLib.box box = this.axFlowChart1.ActiveBox;

// Clear the current selection
this.axFlowChart1.ClearSelection();

// Select all outgoing arrows for the selected box
// while iterating through the selected box
// OutgoingArrows collection
foreach(FLOWCHARTLib.Arrow arrow in box.OutgoingArrows)
this.axFlowChart1.AddToSelection(arrow);
}
else
{
// If the selected box is not present, inform the user
MessageBox.Show ("Select a box first!", "Form1",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

Handling FlowChartX control events.

Following steps illustrate FlowChartX events handling. In dialog editor environment select FlowChartX control. Now go to the Properties bar and click "Events" button. If Properties bar is not visible, you can access it through "View -> Properties Window". All specific FlowChartX events are listed under Misc section. Choose which events you would like to handle and insert event handlers for them. In our example we add a handler for BoxDblClicked event, which is raised when the user double-clicks a box in the control. In the edit box placed on right side of the event name type your event handler name, for example OnBoxDblClicked. Event handler declaration is automatically placed at the bottom of your Form class. In order to add functionality to the handler method go to Form class' source code. Following code snippet shows a confirmation dialog box, which asks the user whether they want to delete the double-clicked box:

C# [image] Copy Code

private void OnBoxDblClicked(object sender, AxFLOWCHARTLib._IFlowChartEvents_BoxDblClickedEvent e)
{
if (MessageBox.Show ("Are you sure you want to " +
"delete the selected box?", "Form1",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question) ==
DialogResult.OK)
{
// The double-clicked box can be found as one
// of the event members.
this.axFlowChart1.DeleteItem(e.pBox);
}
}


VB Quick Start

VB Quick Start

Following section describes how to use FlowChartX ActiveX Control under Visual Basic.NET:

Creating new project.

In VisualStudio.NET environment open "File -> New -> Project". In the dialog box that appears, select "Visual Basic Projects" from Project Types list and "Windows Application" from Templates list. Give your project a suitable name and click OK. The wizard creates a new project for you.

Adding the FlowChart control to the project.

You can customize the project form name and appearance as you wish. To add FlowChartX control to the form, right-click "Windows Forms" tab, which stays under Toolbox docking bar. If Toolbox bar is not visible, you can make it appear choosing "View -> Toolbox" menu. Afterwards right-click Toolbox to show its context menu and choose "Customize...". From ActiveX control - list check FlowChartX control and click OK button. If FlowChartX is not in the list, make sure you have run FlowChartX installation program to register the control.

You can write your initialization code right after InitializeComponent method is invoked in the Form constructor. For example you can set default values for FlowChartX objects and/or initialize FlowChartX document - size, position, background color/image.

Customizing the application form.

After FlowChartX control is added to Toolbox, you can place it in the form layout. The Visual Basic.NET environment automatically generates a member variable for the control in your form class. In addition to FlowChartX control you can add some UI components to carry out additional program functionality. In our example two buttons for easier interaction with the program are inserted - 'Modify' and 'Incoming'.

Working with the object collections.

Now, with buttons ready, add some functionality to them by creating their event handlers. Double-clicking each of the buttons automatically adds Modify_Click and Incoming_Click methods to your form class, considering the buttons' names are respectively 'Modify' and 'Incoming'. The first button modifies the appearance of all selected boxes while the second one selects all incoming arrows of active selected box in the current selection. Following code snippet illustrates that:

VB [image] Copy Code

Private Sub Modify_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Modify.Click

Randomize()

Dim box As FLOWCHARTLib.box
For Each box In Me.AxFlowChart1.SelectedBoxes

box.PenWidth = 3
'box.FillColor = CType(Int((6 * Rnd()) + 1), UInt32)
'box.FrameColor = CType(Int((6 * Rnd()) + 1), UInt32)

Next

End Sub

Private Sub Incomming_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Incomming.Click

Dim arrow As FLOWCHARTLib.Arrow
Dim box As FLOWCHARTLib.box = Me.AxFlowChart1.ActiveBox

' Check whether there is selected box and notify user
' if there is no such box present
If box Is Nothing Then

MessageBox.Show("Select a box first!", "Form1", _
MessageBoxButtons.OK, MessageBoxIcon.Information)

Else

' Clear the FlowChart selection
Me.AxFlowChart1.ClearSelection()

' Iterate through all incoming arrows for
' the selected box and add them to the FlowChart selection
For Each arrow In box.IncomingArrows
Me.AxFlowChart1.AddToSelection(arrow)
Next

End If

End Sub

Handling FlowChart control events.

To handle specific event for the FlowChartX, you need to do the following steps. Go to source code editor and from the form-objects combo box (placed in upper left corner) select AxFlowChart1. Choose the event you wish to handle from right combo box, which lists all corresponding to selected object events. Visual Basic.NET environment automatically adds the event-handler method in Form class. In our example we add BoxClicked event handler. First select the event in the combo box and AxFlowChart1_BoxClicked method automatically appears at the bottom of the Form class as shown below:

Finally add following few lines to the method implementation:

VB [image] Copy Code

Private Sub AxFlowChart1_BoxClicked(ByVal sender As Object, _
ByVal e As AxFLOWCHARTLib._IFlowChartEvents_BoxClickedEvent) Handles AxFlowChart1.BoxClicked

' Now if the user right-clicked our box, we will
' change the box shape

' Check whether the user right-clicked the box
If e.button = FLOWCHARTLib.EMouseButton.mbRight Then
e.pBox.Style = (e.pBox.Style + 1) Mod 5
End If

End Sub


VC++ Dialog Application

VC++ Dialog Application

Following section describes how to use FlowChartX ActiveX Control under Microsoft Visual Studio 7:

Creating new project.

In MSVC environment choose "File -> New -> Project". In the dialog box that appears, select "Visual C++ Projects" from Project Types list and "MFC Application" from Templates list. Give your project a suitable name and click OK. MFC Application Wizard creates a new project for you. Click "Application type" in the dialog that appears and set it to "Dialog based". Leave the default values for the rest of the options. Next click "Advanced features" and make sure "ActiveX controls" check box is selected. Leave other options unchanged and press Finish. The wizard generates a new project.

Adding FlowChartX to the project.

You can customize the project form name and appearance as you wish. To add FlowChartX control to the form, right-click "Dialog Editor" tab, which stays under Toolbox docking bar. If Toolbox bar is not visible, you can make it appear choosing "View -> Toolbox" menu. Afterwards right-click Toolbox to show its context menu and choose "Customize...". From ActiveX control - list check FlowChartX control and click OK button. If FlowChartX is not in the list, make sure you have run FlowChartX installation program to register the control.

Place FlowChartX control over dialog box area by dragging the FlowChartX icon that stays in "Dialog editor" list. Next, create a member variable for FlowChartX control, by right-clicking over its area and from the context menu select "Add variable". In the dialog box type proper variable name (m_FlowChart for example) and hit OK. New class for FlowChartX is automatically generated and a new variable to your dialog class is added.
Furthermore you can write your initialization code in OnInitDialog method of the dialog class. For example you can set default values for FlowChartX objects and/or initialize FlowChartX document - size, position, background color/image.

Customizing application form.

In addition to FlowChartX control you can add some UI components to carry out additional program functionality. In our example two buttons for easier interaction with the program are inserted - 'Modify' and 'Outgoing'.

Working with the object collections.

Now, with buttons ready, add some functionality to them by creating their event handlers. Do it by double-clicking each of the buttons. OnBnClickedButton1 and OnBnClickedButton2 should appear in your Dialog class, considering the buttons' resource IDs are 'IDC_BUTTON1' and 'IDC_BUTTON2' respectively. First button modifies all selected boxes appearance, while second one selects all outgoing arrows of active selected box in the current selection. Note you have to import the other classes from the FlowChartX type library (they are automatically imported in version 6 of VisualC++, but in version 7 you have to add them manually). From menu select "Project -> Add Class..." and choose "VisualC++ -> MFC" from Categories tree respectively "MFC Class From TypeLib: from Templates list and press Open. In newly appeared dialog box select FlowChart Type Library from Available type libraries combo box and choose all interfaces except IFlowChart, since we already have an imported class for it. Give appropriate names for all classes and files and click Finish button. In order to use newly created classes remember to add following header files #include statements in your dialog .cpp file:

C++ [image] Copy Code

#include "CBoxes.h"
#include "CBoxItem.h"
#include "CArrows.h"
#include "CArrowItem.h"

Now add following implementation to the button event handler methods:

C++ [image] Copy Code

void CMFCDialogDlg::OnBnClickedButton1()
{
CBoxItem box;
CBoxes boxes = m_FlowChart.get_SelectedBoxes();

// Iterate through all selected boxes collection and
// change their appearance.
for(int iBox = 0; iBox < boxes.get_count(); iBox++)
{
box = boxes.get_Item(iBox);
box.put_PenWidth(3);
box.put_FillColor((UINT)RGB(0xFF, 0, 0xFF));
box.put_FrameColor((UINT)RGB(0, 0, 0xFF));
}
}

void CMFCDialogDlg::OnBnClickedButton2()
{
// Get the active selected box
CBoxItem boxSelected = m_FlowChart.get_ActiveBox();
CArrows arrowsOut;

// Check whether such box exists and if
// no box is selected, notify the user.
if(boxSelected == NULL)
{
AfxMessageBox(_T("Select a box first!"), MB_ICONINFORMATION);
}
else
{
// Clear the control current selection
m_FlowChart.ClearSelection();

// Get the box' OutgoingArrows collection
arrowsOut = boxSelected.get_OutgoingArrows();

// Insert all of the arrows to the FlowChart selection.
for(int iArrow = 0; iArrow < arrowsOut.get_count(); iArrow++)
m_FlowChart.AddToSelection(arrowsOut.get_Item(iArrow));
}
}

Handling FlowChartX control events.

Following steps illustrate FlowChartX events handling: In dialog editor, right-click on FlowChartX control area and choose "Add event handler..." from the context menu. In the dialog that appears choose CMFCDialogDlg from Class list or whatever your dialog class is named. In Message type list select the event you wish to handle (for example ArrowSelected), give the event handler a suitable name (for example OnArrowSelected) and click "Add and Edit" button. Add another handler for ArrowSelectionLost event and implement event methods as illustrated below:

C++ [image] Copy Code

// In these two event handler methods we will change
// the arrow width, giving the appearance that arrow
// grows when selected.
void CMFCDialogDlg::OnArrowSelected(LPDISPATCH pArrowItem)
{
// Change the arrow width
CArrowItem arrow = pArrowItem;
arrow.put_PenWidth(2);
arrow.DetachDispatch();
}

void CMFCDialogDlg::OnArrowSelectionLost(LPDISPATCH pArrowItem)
{
// Change the arrow width
CArrowItem arrow = pArrowItem;
arrow.put_PenWidth(1);
arrow.DetachDispatch();
}


VC++ Document/View Application

VC++ Document/View Application

This section briefly describes how to add FlowChartX ActiveX control in CView class in the MFC Document/View application. For detailed information how to use FlowChartX under Microsoft VC++ 7 please, refer to VC++ 7 Quick Start (MFC, Dialog application).

Creating new project.

In MSVC environment choose "File -> New -> Project". In the dialog box that appears, select "Visual C++ Projects" from Project Types list and "MFC Application" from Templates list. Give your project a suitable name and click OK. MFC Application Wizard starts building a new project. Click "Application type" in the dialog that appears and set it to "Single Document". Leave the default values for the rest of the options. Next click "Advanced features" and make sure "ActiveX controls" check box is selected. Choose any other options you might need and press Finish. The wizard generates the new project.

Note

Instead deriving your own View class from CView MFC Class, you can derive it from CFormView Class. That saves you writing explicit code to notify the control to draw itself in OnDraw. Most of code written below as an example is also applicable for CFormView-derived classes.

Adding the FlowChartX control to the project.

Choose "Project -> Add Class...". In dialog that appears select "Visual C++ -> MFC" from Categories tree and "MFC Class From ActiveX Control" from Templates list and hit Open to open next dialog. From "Available ActiveX Controls" combo box find FlowChartX and add IFlowChart interface to "Generated classes" list. Fill in appropriate names for the class, the .h, .cpp files and click Finish.

Add following code in View header file just before the class declaration:

C++ [image] Copy Code

#include "FlowChart.h"

#define IDC_FLOWCHART (10000)
#define IDC_FCHSCROLL (10001)
#define IDC_FCVSCROLL (10002)
#define SCROLL_WIDTH (16)

Let's assume the control header file is called FlowChart.h. Declare a new variable for FlowChartX control in the private section of the View class. Since the control is windowless and cannot create its own scrollers add manually two scrollbars. Here is how source code should look:

C++ [image] Copy Code

private:
CFlowChart m_FlowChart;
CScrollBar m_hScroll;
CScrollBar m_vScroll;

Go back to View class implementation file and make the necessary adjustments to make the control visible in the View area. First, handle WM_CREATE message in the View class. Most easily you can do that by using Messages pane in Properties bar. The OnCreate method should also create the FlowChartX control and both scrollbars as shown below:

C++ [image] Copy Code

int CMFCViewView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// Acquire the client area rectangle of the view. The
// view rectangle is probably zero-set, but
// it doesn't matter because we will adjust
// child's size in the WM_SIZE message handler.
CRect rcView, rcFlowChart, rcScroll;
GetClientRect(rcView);

// Create the FlowChart control here
m_FlowChart.Create(NULL, WS_VISIBLE, rcView, this, IDC_FLOWCHART);

// Create both scrollers here
m_hScroll.Create(SBS_HORZ | WS_CHILD | WS_VISIBLE, rcView, this, IDC_FCHSCROLL);
m_vScroll.Create(SBS_VERT | WS_CHILD | WS_VISIBLE, rcView, this, IDC_FCVSCROLL);

// Register the scrollers within the FlowChart control.
m_FlowChart.RegExtrScrollers((ULONG)m_hScroll.m_hWnd, (ULONG)m_vScroll.m_hWnd);
m_FlowChart.ShowScrollers();

return 0;
}

Now a handler for WM_SIZE message should be added. It's triggered when the user resizes application window and we should put code to resize control visible area and both scrollbars. Following code snippet implements that:

C++ [image] Copy Code

void CMFCViewView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);

m_FlowChart.SetWindowPos(NULL, 0, 0, cx - SCROLL_WIDTH, cy - SCROLL_WIDTH, SWP_NOZORDER);
m_hScroll.SetWindowPos(NULL, 0, cy - SCROLL_WIDTH, cx - SCROLL_WIDTH, SCROLL_WIDTH, SWP_NOZORDER);
m_vScroll.SetWindowPos(NULL, cx - SCROLL_WIDTH, 0, SCROLL_WIDTH, cy - SCROLL_WIDTH, SWP_NOZORDER);
}

Using external scrollbars.

To notify the control when the user interacts with external scrollbars, handle WM_HSCROLL and WM_VSCROLL messages sent to CMFCViewView window. Underneath you can find one possible implementation how to do that:

C++ [image] Copy Code

void CMFCViewView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if (m_hScroll.m_hWnd != pScrollBar->m_hWnd && m_vScroll.m_hWnd != pScrollBar->m_hWnd)
return;

// Pass this info to the FlowChart
LRESULT nResult;
LPDISPATCH pDisp = (LPDISPATCH)m_FlowChart.GetControlUnknown();
IOleInPlaceObjectWindowless* poipow = NULL;

pDisp->QueryInterface(IID_IOleInPlaceObjectWindowless, (void**)&poipow);
poipow->OnWindowMessage(WM_HSCROLL, MAKEWPARAM(nSBCode, nPos), (LPARAM)(pScrollBar->m_hWnd), &nResult);
poipow->Release();

CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CMFCViewView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if(m_hScroll.m_hWnd != pScrollBar->m_hWnd && m_vScroll.m_hWnd != pScrollBar->m_hWnd)
return;

// Pass this info to the FlowChart
LRESULT nResult;
LPDISPATCH pDisp = (LPDISPATCH)m_FlowChart.GetControlUnknown();
IOleInPlaceObjectWindowless* poipow = NULL;

pDisp->QueryInterface(IID_IOleInPlaceObjectWindowless, (void**)&poipow);
poipow->OnWindowMessage(WM_VSCROLL, MAKEWPARAM(nSBCode, nPos), (LPARAM)(pScrollBar->m_hWnd), &nResult);
poipow->Release();

CView::OnVScroll(nSBCode, nPos, pScrollBar);
}

Drawing notification for the windowless control.

After external scrollbars are connected to FlowChartX control, it is time to add some functionality to OnDraw method. By default, CView doesn't notify windowless controls to repaint themselves, which results in not properly updated appearance. Following code changes handle that problem:

C++ [image] Copy Code

void CMFCViewView::OnDraw(CDC* pDC)
{
CMFCViewDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// Because the view doesn't causes the windowless control
// to redraw itself, we need to notify the control on our own.
// Note, that the following code can be optimized to redraw
// just the invalid region instead of entire client area.
RECT rcView;
IViewObject* pvo;
LPDISPATCH pDisp = (LPDISPATCH)m_FlowChart.GetControlUnknown();

GetClientRect(&rcView);

pDisp->QueryInterface(IID_IViewObject, (void**)&pvo);
pvo->Draw(DVASPECT_CONTENT, -1, NULL, NULL, pDC->m_hAttribDC,
pDC->m_hDC, (LPRECTL)&rcView, (LPRECTL)&rcView, NULL, 0);
pvo->Release();

// Draw the Zoom area in the lower right corner of the view.
rcView.left = rcView.right - SCROLL_WIDTH;
rcView.top = rcView.bottom - SCROLL_WIDTH;
pDC->DrawFrameControl(&rcView, DFC_MENU, DFCS_MENUARROW);
}

The application performance can be improved further more by disabling background repainting of the View window. It is redundant, because the control is painted on the whole client area. That can be done by handling WM_ERASEBKGND message and returning TRUE instead of calling the base class method as shown below:

C++ [image] Copy Code

BOOL CMFCViewView::OnEraseBkgnd(CDC* pDC)
{
return TRUE; //CView::OnEraseBkgnd(pDC);
}

As a result FlowChartX paints flicker-free when the user moves or resizes the main window.

Adding more functionality.

Additional features might, for example, include zoom-in and zoom-out. Let's draw an arrow-like button in lower-right corner besides the scrollbars. When clicked 'Zoom' menu pops up. As a first step to do that create the menu in the Resource Editor - something like that:

ID of the menu is IDR_CONTEXTMENU and IDs of the items are respectively - IDM_ZOOM50, IDM_ZOOM100, IDM_ZOOM200. Add a message handler for WM_LBUTTONDOWN message and implement it as follows:

C++ [image] Copy Code

void CMFCViewView::OnLButtonDown(UINT nFlags, CPoint point)
{
// Check whether the mouse is clicked over our
// little pop-up arrow in the lower right corner
// of the screen.
CRect rcArrow;

GetClientRect(rcArrow);
rcArrow.left = rcArrow.right - SCROLL_WIDTH;
rcArrow.top = rcArrow.bottom - SCROLL_WIDTH;

if (rcArrow.PtInRect(point))
{
// The mouse is clicked over the arrow, so
// we will show IDR_CONTEXTMENU menu there.
CMenu menu, *pSubMenu;
menu.LoadMenu(IDR_CONTEXTMENU);

// Calculate the screen coordinates for the specified
// in point parameter client coordinates
POINT ptScreen = point;
ClientToScreen(&ptScreen);

// Get the sub-menu at position 0.
pSubMenu = menu.GetSubMenu(0);
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN, ptScreen.x, ptScreen.y, this);
}

CView::OnLButtonDown(nFlags, point);
}

Finally add command handles for the three menu items:

C++ [image] Copy Code

// Menu handles
void CMFCViewView::OnZoom50()
{
m_FlowChart.put_ZoomFactor(50);
}

void CMFCViewView::OnZoom100()
{
m_FlowChart.put_ZoomFactor(100);
}

void CMFCViewView::OnZoom200()
{
m_FlowChart.put_ZoomFactor(200);
}

Remember to add following three lines in the message map implementation:

C++ [image] Copy Code

BEGIN_MESSAGE_MAP(CMFCViewView, CView)

// ...another macros here...
ON_COMMAND(IDM_ZOOM50, OnZoom50)
ON_COMMAND(IDM_ZOOM100, OnZoom100)
ON_COMMAND(IDM_ZOOM200, OnZoom200)

END_MESSAGE_MAP()

Finish by adding following three lines to View header file:

C++ [image] Copy Code

public:
afx_msg void OnZoom50();
afx_msg void OnZoom100();
afx_msg void OnZoom200();


Delphi Quick Start

Delphi Quick Start

This section describes how to use FlowChartX with Borland Delphi:

Creating new project & adding the control to it.

Create new project choosing "File -> New" from the menu and select "Application" from New tab in New Items dialog. Finally press OK button. Back to main menu select "Component -> Import ActiveX Control". In "Import ActiveX" dialog choose FlowChart Type Library and click "Create Unit" button. The file FLOWCHARTLib_TLB.pas is created into your Import directory. By default your Import directory is located in the Delphi directory. To install the newly imported component, you have to compile it into a package. This is done by selecting "Components -> Install Component..." from the menu. Afterwards click "Into new package" tab page, type the name for the package file into "Package file name" edit box and click OK. FlowChartX is installed in the "ActiveX" section of the "Component palette". If the palette is not present you can show it from "View -> Toolbars -> Component palette".

Customizing the application form.

In addition to the FlowChartX you can add some UI components to carry out additional program functionality. In our example two buttons for easier interaction with the program are inserted - 'Modify' and 'DestBoxes'.

Working with the object collections.

Now, with buttons ready, add some functionality to them by creating their event handlers. Do it by double-clicking each of the buttons. ModifyClick and DestBoxesClick methods should appear in your form class, considering the buttons' names are 'Modify' and 'DestBox' respectively. First button modifies all selected boxes appearance, while second one selects all child boxes for active selected box in the current selection (e.g. all boxes pointed by outgoing arrows). Following code snippet illustrates that:

Delphi [image] Copy Code

procedure TForm1.ModifyClick(Sender: TObject);
var

box: IBoxItem;
boxes: IBoxes;
iBoxes: Integer;

begin

// Iterate throug all selected boxes
// and change their appearance.
boxes := FlowChart1.SelectedBoxes;

for iBoxes := 0 to boxes.Get_count() - 1 do
begin

box := boxes.Get_Item(iBoxes);
box.Set_PenWidth(3);
box.Set_FillColor($FF00FF);
box.Set_FrameColor($FF0000);

end;

end;

procedure TForm1.DestBoxesClick(Sender: TObject);
var

boxSelected: IBoxItem;
arrowsOut: IArrows;
arrow: IArrowItem;
iArrow: Integer;

begin

// Get the current active selected box.
// If the selected box is not present, then
// notify the user.
boxSelected := FlowChart1.ActiveBox;

if boxSelected = nil then
Application.MessageBox('Select a box first!', 'Form1', MB_OK)
else
begin

// Clear FlowChart selection first.
FlowChart1.ClearSelection;

// Then iterate through all ougoing arrows,
// get their destination boxes and add them
// to the control selection.
arrowsOut := boxSelected.Get_OutgoingArrows;

for iArrow := 0 to arrowsOut.Get_count() - 1 do
begin

arrow := arrowsOut.Get_Item(iArrow);
FlowChart1.AddToSelection(arrow.Get_DestinationBox);

end;

end;

end;

Handling FlowChartX events.

Following steps illustrate specific FlowChartX events handling. In "Dialog editor" select the control then hit "Events" tab and in Object inspector window choose the events you wish to handle and add event handler methods for them. For example you can add an event handler for BoxCreated event. Name this method OnBoxCreated. In order to give this method the desired functionality a "ColorDialog" control named ColorDialog1 should be added to form layout. Click "Dialogs" tab in "Component palette", select "ColorDialog" and create one in the form. Following code snippet illustrates how to make ColorDialog1 appear:

Delphi [image] Copy Code

procedure TForm1.OnBoxCreated(Sender: TObject; const pBoxItem: IBoxItem);
begin

// Display a ColorDialog here to set new color
// to the currently created box.
try

ColorDialog1.Color := pBoxItem.Get_FillColor();

if ColorDialog1.Execute then
pBoxItem.Set_FillColor(ColorDialog1.Color);

except

ShowMessage('Color selection dialog failed to load');

end;

end;


Reference

Reference


FlowChartPro Namespace

FlowChartPro Namespace
Classes Interfaces Enumerations

Classes

Class | Description
AnchorPattern | An AnchorPattern instance defines a set of anchor points to be used together. A pattern can be assigned as an integral entity to the AnchorPattern property of diagram nodes.
AnnealLayout | ( [image] a feature of FlowChartX Pro edition) Implements a simulated annealing graph layout algorithm.
Arrow | Arrows represent links between diagram nodes.
ArrowLabel | Represents a label displayed by an Arrow. New labels can be added to the arrow by calling its AddLabel method.
Box | The Box class represents diagram nodes that can have distinct shapes. Boxes might represent nodes in a graph, tree, process diagram, etc.
ButtonImages | Allows changing the images used to display intrinsic button controls.
CircularLayout | ( [image] a feature of FlowChartX Pro edition) Implements a circular graph layout algorithm.
DataObject |
DecisionLayout | ( [image] a feature of FlowChartX Pro edition) Implements a flowchart layout algorithm.
DecorationLine | Decorations are lightweight objects that can be used for drawing background graphics such as frames, lane divider lines, etc.
FlowChart | A FlowChart object represents a diagram composed of linked nodes. That could be a workflow diagram, a database diagram, organizational chart, genealogy tree, a network diagram, etc.
FractalLayout | ( [image] a feature of FlowChartX Pro edition) A tree layout algorithm that places child nodes symmetrically around their parent node.
Graphics | The Graphics class represents a graphics engine used to render diagram items. Instance of this class is accessible via the FlowChart.Graphics property.
GridLayout | ( [image] a feature of FlowChartX Pro edition) Implements a grid graph layout algorithm.
Group | This class represents an hierarchical group of items in the flowchart document.
HtmlBuilder | Provides methods and properties for building HTML image maps.
ImageExportOptions | Provides several customization properties for the CreateBitmap and SaveToBitmap methods.
LayeredLayout | ( [image] a feature of FlowChartX Pro edition) Implements a layered graph layout algorithm.
Overview | The Overview control provides a scaled-down view of a FlowChart contents.
PathFindingOptions | Allows customization of some aspects of the graph path-finding algorithm.
PrintOptions | Provides properties to customize various aspects of printing and print-preview.
PrintPreview | This class provides properties for several aspects of the print-preview window.
PropPageActiveItem |
PropPageDefaults |
PropPageGeneral |
RoutingOptions | Allows customization of various aspects of the arrow routing algorithm.
Ruler | ( [image] a feature of FlowChartX Pro edition) The Ruler control provides horizontal and vertical scales that help users measure flowchart items.
ScriptHelper | This class contains utility methods useful when FlowChartX is running in a web page.
SelectionOptions | Settings for multiple selection.
ShapeTemplate | ShapeTemplate objects provide the means for defining complex box shapes.
SpringLayout | ( [image] a feature of FlowChartX Pro edition) Implements the Spring-Embedder graph layout algorithm.
SvgExporter | Creates SVG (Scalable Vector Graphics) files from FlowChartX diagrams. ( [image] a feature of FlowChartX Pro edition)
Table | Tables are diagram nodes that can contain multiple cells and can be related to other nodes through their rows. Tables can represent database tables in ER diagrams or classes in class hierarchy diagrams.
TreeLayout | Implements algorithms for arranging tree structures.
TreeMapLayout | ( [image] a feature of FlowChartX Pro edition) Implements a tree map layout algorithm.
VisioExporter | Exports FlowChartX diagrams to Visio 2003 XML Drawing files (VDX). ( [image] a feature of FlowChartX Pro edition)
VisioImporter | Imports Visio 2003 XML Drawing files (VDX) into FlowChartX. ( [image] a feature of FlowChartX Pro edition)
XMLReader | Reads FlowChartX diagrams from XML files.
XMLWriter | Saves FlowChartX diagrams into XML files.

Interfaces

Interface | Description
IArrows | Represents a collection of Arrow objects.
IBoxes | Represents a collection of Box objects.
IDecorations | Represents a collection of DecorationLine objects.
IGroups | Represents a collection of Group objects.
ITables | Represents a collection of Table objects.

Enumerations

Enumeration | Description
EAction |
EActionType | The values of this enumeration are used as arguments of the ActionRedone and ActionUndone events.
EActiveItem | Identifies the type of the diagram's active item; the enumeration members are used as values of the ActiveItemType property.
EAnchoring | Specifies how layout algorithms should align arrows to nodes' anchor points; the enumeration members are used as values of the ArrowAnchoring property of layout classes.
EArrowAnchor | The enumeration members are used as values of the IncmAnchor and OutgAnchor properties of boxes.
EArrowCrossings | The enumeration members are used as values of the flowchart's ArrowCrossings property.
EArrowHead | The enumeration members are used as values of the arrows ArrowHead, ArrowBase and IntermArrowHead properties.
EArrowHeadElement |
EArrowStyle | Specifies the style of an arrow; the enumeration members are used as values of the Style property of arrows.
EArrowTextStyle | Specifies the style of arrow's text; the enumeration members are used as values of the TextStyle property of arrows.
EAttachType | Specifies how a diagram node is attached to its group master.
EBehavior | Members of this enumeration specify how the control should respond to users' actions and can be assigned to the flowchart's Behavior property.
EBoxStyle | Specifies the style of a box; the enumeration members are used as values of the Style property of boxes.
ECellBorders | Specifies the style of table cells' border lines. Members of this enumeration can be assigned to the CellBorders property of tables.
ECellType | Specifies the type of UI widget shown in a cell.
EClipboardFlag | Members of this enumeration are used as indices of the ClipboardFlags indexed property.
EColumnType | Members of this enumeration specify the type of a table's column and can be used as arguments of the SetColType method of tables.
EControlActivation | Members of this enumeration specify how ActiveX control hosted in boxes are activated and can be assigned to the ControlActivation property of boxes.
ECustomDraw | Specifies what type of custom drawing to perform on boxes; the enumeration members can be assigned to the box' CustomDraw property.
EDirection | Specifies directions.
EDragDataType | Specifies what data is being dragged during drag-and-drop operations.
EDragDropMode | Specifies the control's drag-and-drop handling mode; members of this enumeration can be assigned to the DragDropMode property.
EEventFlag | Members of this enumeration are used as indices of the EventFlags indexed property.
EExpandBtnPos | Members of this enumeration specify where the +/- buttons are displayed relative to Expandable boxes and can be assigned to the flowchart's ExpandBtnPos property.
EFillStyle | Members of this enumeration can be assigned to the FillStyle property of a box to specify what gradient fill mode to use for the box interior.
EGlassEffectType | Specifies the type of a Glass node effect.
EGraphicsEngine | Identifies a graphics engine supported by FlowChartX; members of the enumeration can be passed as arguments to the StartUp method of the Graphics class.
EGridStyle | Members of this enumeration can be assigned to the GridStyle property to specify how to visualize the alignment grid.
EHitTestPriority | Members of this enumeration can be assigned to the HitTestPriority property to specify the order in which items are hit-tested.
EKbdBehavior | Members of this enumeration can be assigned to the KbdBehavior property to specify how the arrow keys are handled by FlowChartX.
EKeyboardFlag | Members of this enumeration are used as indices of the KeyboardFlags indexed property.
ELayoutStyle | Members of this enumeration can be assigned to the LayoutStyle property to a container box to specify how items are laid out inside that box.
EMarkStyle | Members of this enumeration can be passed as parameters to the AddAnchorPoint method of an AnchorPattern to specify what the marks drawn a anchor point locations should look like.
EMeasure |
EModificationStyle | Specifies how users can start modification of diagram items; members of the enumeration can be assigned to the ModificationStart property.
EMouseButton | Specifies what mouse button is pressed when a mouse related event is raised.
EMouseButtonAction | Specifies what actions can be associated with the middle mouse button.
EMouseCursor | Members of this enumeration can be passed as parameters to the SetMouseCursor method to specify which cursor should be changed.
EMultipleGraphsPlacement | Specifies how multiple subgraphs are placed relatively to each other.
EMultiSelStyle | Members of this enumeration can be assigned to the MultiSelStyle property to specify how multiple selection behaves and is drawn on screen.
ENodeConstraint | Members of this enumeration are used as indices of the Constraints indexed property of nodes.
ENodeType | Specifies the type of a node.
EOrientation | Members of various layout and routing related properties are of this type. It specifies the orientation of an arrow's segment or of a layout overall flow.
EPageOrientation | Members of this enumeration can be assigned to the PageOrientation property of the PrintOptions class to specify the orientation of printed pages.
EPaperSize | Members of this enumeration can be assigned to the PaperSize property of the PrintOptions class to specify the paper size.
EPenStyle | Members of this enumeration can be assigned to the PenStyle property of an item to specify the style of the pen used to draw the item's frame lines.
EPicturePos | Members of this enumeration can be assigned to the PicturePos property of a node to specify how the node's picture should be aligned and positioned.
EPrpStartOrientation | Members of this enumeration can be assigned to the PrpStartOrientation property of an arrow to specify the orientation of the first segment of asPerpendicular arrows.
ERelationship | Specifies the type of a relation when working with various table-related properties and methods.
ERelativeToLink | Specifies how link labels are positioned.
ERenderFlag | Members of this enumeration are used as indices of the RenderFlags indexed property.
ERerouteArrow | Members of this enumeration can be assigned to the TriggerRerouting property of the RoutingOptions class to specify when arrows should be rerouted.
ERestrictToDoc | Members of this enumeration can be assigned to the RestrObjsToDoc property to specify whether items can be dragged outside the document boundary.
EScrollType | Specifies the type of auto scrolling.
ESelStyle | Members of this enumeration can be assigned to the SelStyle property of an item to specify how the item's selection handles behave and what they look like.
EShadowsStyle | Members of this enumeration can be assigned to the ShadowsStyle property to specify how shadows are painted.
EShowAnchors | Members of this enumeration can be assigned to the ShowAnchors property to specify when anchor points are painted.
ESnapStyle | Members of this enumeration can be assigned to the SnapStyle property to specify how items are aligned one to another.
ESnapToAnchor | Members of this enumeration can be assigned to the SnapToAnchor property to specify when arrow ends are aligned to nodes' anchor points.
EStringAlignment | Specifies the alignment of a text string.
ETableLinkStyle | Members of this enumeration can be assigned to the LinkStyle property of a table to specify how arrows can connect to that table.
ETableStyle | Members of this enumeration can be assigned to the Style property of a table to specify the shape of that table.
ETextAntiAlias | Members of this enumeration specify the level of antialiasing applied to text rendered inside boxes.
ETextStyle | Members of this enumeration specify how text is aligned inside a diagram item.
ETreeLayoutArrows | Members of this enumeration can be assigned to the ArrowStyle property of the TreeLayout class to specify what style to apply to the diagram arrows.
ETreeLayoutDirection | Members of this enumeration can be assigned to the Direction property of the TreeLayout class to specify the overall flow of items in the layout.
ETreeLayoutType | Members of this enumeration can be assigned to the Type property of the TreeLayout class to specify the type of tree layout to apply to the diagram.
EUnit | Specifies the unit of measure used for specifying the size of flowchart elements.


FlowChartPro.AnchorPattern Class

AnchorPattern Class
Remarks See Also
[image]

An AnchorPattern instance defines a set of anchor points to be used together. A pattern can be assigned as an integral entity to the AnchorPattern property of diagram nodes.

Syntax

VB6 [image] Copy Code

Public Class AnchorPattern

C++ [image] Copy Code

class AnchorPattern

Remarks

Anchor patterns are identified by their string id, so be sure to assign an id to the pattern once it has been created. When the PatternId property is set, the pattern is also added to AnchorPatterns array of the FlowChart class. That array initially contains four predefined patterns.

Anchor points are added to a pattern through the AddAnchorPointF method. Arrows drawn from an anchor point can be assigned a specific Style and number of Segments, as specified via SetArrowStyleForPoint. The attributes of an existing anchor point can be accessed by means of GetAnchorPointF.

Example

The following example shows how to define a new anchor pattern, and how to assign an anchor pattern to a box:

VB6 [image] Copy Code

Private Sub Form_Load()

Dim ap As New AnchorPattern
ap.AddAnchorPoint 0, 20, True, True, msX, vbRed
ap.AddAnchorPoint 0, 40, True, True, msX, vbRed
ap.PatternId = "pattern1"

End Sub

Private Sub Command1_Click()

fcx.boxes(0).AnchorPattern = fcx.AnchorPatterns("pattern1") 'use custom pattern
fcx.boxes(1).AnchorPattern = fcx.AnchorPatterns("Decision2In2Out") 'use predefined pattern

End Sub

See Also

AnchorPattern Members
FlowChartPro Namespace


FlowChartPro.AnchorPattern Members

AnchorPattern Members
Constructors Properties Methods
[image]

An AnchorPattern instance defines a set of anchor points to be used together. A pattern can be assigned as an integral entity to the AnchorPattern property of diagram nodes.

The following tables list the members exposed by the AnchorPattern type.

Public Constructors

Name | Description
AnchorPattern | Initializes a new instance of the AnchorPattern class.

Public Properties

Name | Description
AnchorPointCount | Gets the number of points in this AnchorPattern.
PatternId | Gets a string that identifies an anchor pattern.

Public Methods

Name | Description
AddAnchorPoint | This method has been superseded by AddAnchorPointF.
AddAnchorPointF | Adds a new anchor point to this anchor pattern.
GetAnchorPoint | This method has been superseded by GetAnchorPointF.
GetAnchorPointColumn |
GetAnchorPointF | Gets information about an anchor point.
SetAnchorPointColumn |
SetArrowStyleForPoint | Defines the Style and number of Segments to use for arrows that a user draws from the specified anchor point.

See Also

AnchorPattern Class


FlowChartPro.AnchorPattern Constructor

AnchorPattern Constructor
See Also
[image]

Initializes a new instance of the AnchorPattern class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
AnchorPattern ()

See Also

AnchorPattern Class


FlowChartPro.AnchorPattern Methods

AnchorPattern Methods
[image]

Public Methods

Name | Description
AddAnchorPoint | This method has been superseded by AddAnchorPointF.
AddAnchorPointF | Adds a new anchor point to this anchor pattern.
GetAnchorPoint | This method has been superseded by GetAnchorPointF.
GetAnchorPointColumn |
GetAnchorPointF | Gets information about an anchor point.
SetAnchorPointColumn |
SetArrowStyleForPoint | Defines the Style and number of Segments to use for arrows that a user draws from the specified anchor point.

See Also

AnchorPattern Class


FlowChartPro.AnchorPattern.AddAnchorPoint Method

AnchorPattern.AddAnchorPoint Method
[image]

This method has been superseded by AddAnchorPointF.

Syntax

VB6 [image] Copy Code

Public Sub AddAnchorPoint( _
ByVal x As Integer, _
ByVal y As Integer, _
ByVal incoming As Boolean, _
ByVal outgoing As Boolean, _
ByVal mark As EMarkStyle, _
ByVal Color As Long _
)

C++ [image] Copy Code

public:
void AddAnchorPoint (
short x,
short y,
bool incoming,
bool outgoing,
EMarkStyle mark,
unsigned int Color
)

Parameters

x
The horizontal position of the anchor point; expressed as percent of the width of a node.
y
The vertical position of the anchor point; expressed as percent of the height of a node.
incoming
Specifies whether incoming arrows can connect to this anchor.
outgoing
Specifies whether outgoing arrows can connect to this anchor.
mark
Specifies how the anchor point is marked visually.
Color

Specify the color with which the anchor mark is painted.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.AddAnchorPointF Method

AnchorPattern.AddAnchorPointF Method
[image]

Adds a new anchor point to this anchor pattern.

Syntax

VB6 [image] Copy Code

Public Sub AddAnchorPointF( _
ByVal x As Single, _
ByVal y As Single, _
ByVal incoming As Boolean, _
ByVal outgoing As Boolean, _
ByVal mark As EMarkStyle, _
ByVal Color As Long _
)

C++ [image] Copy Code

public:
void AddAnchorPointF (
float x,
float y,
bool incoming,
bool outgoing,
EMarkStyle mark,
unsigned int Color
)

Parameters

x
The horizontal position of the anchor point; expressed as percent of the width of a node.
y
The vertical position of the anchor point; expressed as percent of the height of a node.
incoming
Specifies whether incoming arrows can connect to this anchor.
outgoing
Specifies whether outgoing arrows can connect to this anchor.
mark
Specifies how the anchor point is marked visually.
Color

Specify the color with which the anchor mark is painted.

Remarks

The point position is expressed as percent of the width and height of nodes. The two boolean parameters specify if arrows can start or end at that point. The mark argument defines how anchor points are marked visually; possible values are msNone, msCross, msX, msCircle, msRect. Using msCustom as a value of the mark argument makes FlowChartX raise the DrawMark event when the anchor point must be painted. The color argument specifies the color with which the mark is drawn on screen.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.GetAnchorPoint Method

AnchorPattern.GetAnchorPoint Method
[image]

This method has been superseded by GetAnchorPointF.

Syntax

VB6 [image] Copy Code

Public Sub GetAnchorPoint( _
ByVal Index As Long, _
ByRef x As Integer, _
ByRef y As Integer, _
ByRef incoming As Boolean, _
ByRef outgoing As Boolean, _
ByRef mark As EMarkStyle, _
ByRef Color As Long, _
ByRef changeArrowStyle As Boolean, _
ByRef ArrowStyle As EArrowStyle, _
ByRef SegmentCount As Integer _
)

C++ [image] Copy Code

public:
void GetAnchorPoint (
int Index,
short x,
short y,
bool incoming,
bool outgoing,
EMarkStyle mark,
unsigned int Color,
bool changeArrowStyle,
EArrowStyle ArrowStyle,
short SegmentCount
)

Parameters

Index

The index of the anchor point whose attributes you are interested in.

x
The horizontal position of the anchor point; expressed as percent of the width of a node.
y
The vertical position of the anchor point; expressed as percent of the height of a node.
incoming
Specifies whether incoming arrows can connect to this anchor.
outgoing
Specifies whether outgoing arrows can connect to this anchor.
mark
Specifies how the anchor point is marked visually.
Color

Specify the color with which the anchor mark is painted.

changeArrowStyle
Specifies whether there is an arrow style associated with this point.
ArrowStyle

The style of arrows to draw from the specified point.

SegmentCount

The number of segments that arrows drawn from the specified point have.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.GetAnchorPointColumn Method

AnchorPattern.GetAnchorPointColumn Method
[image]

Syntax

VB6 [image] Copy Code

Public Sub GetAnchorPointColumn( _
ByVal Index As Long, _
ByRef column As Long _
)

C++ [image] Copy Code

public:
void GetAnchorPointColumn (
int Index,
int* column
)

Parameters

Index

column

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.GetAnchorPointF Method

AnchorPattern.GetAnchorPointF Method
[image]

Gets information about an anchor point.

Syntax

VB6 [image] Copy Code

Public Sub GetAnchorPointF( _
ByVal Index As Long, _
ByRef x As Single, _
ByRef y As Single, _
ByRef incoming As Boolean, _
ByRef outgoing As Boolean, _
ByRef mark As EMarkStyle, _
ByRef Color As Long, _
ByRef changeArrowStyle As Boolean, _
ByRef ArrowStyle As EArrowStyle, _
ByRef SegmentCount As Integer _
)

C++ [image] Copy Code

public:
void GetAnchorPointF (
int Index,
float x,
float y,
bool incoming,
bool outgoing,
EMarkStyle mark,
unsigned int Color,
bool changeArrowStyle,
EArrowStyle ArrowStyle,
short SegmentCount
)

Parameters

Index

The index of the anchor point whose attributes you are interested in.

x
The horizontal position of the anchor point; expressed as percent of the width of a node.
y
The vertical position of the anchor point; expressed as percent of the height of a node.
incoming
Specifies whether incoming arrows can connect to this anchor.
outgoing
Specifies whether outgoing arrows can connect to this anchor.
mark
Specifies how the anchor point is marked visually.
Color

Specify the color with which the anchor mark is painted.

changeArrowStyle
Specifies whether there is an arrow style associated with this point.
ArrowStyle

The style of arrows to draw from the specified point.

SegmentCount

The number of segments that arrows drawn from the specified point have.

Remarks

This method returns the attributes of an anchor point, as they have been set by calls to AddAnchorPointF and SetArrowStyleForPoint.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.SetAnchorPointColumn Method

AnchorPattern.SetAnchorPointColumn Method
[image]

Syntax

VB6 [image] Copy Code

Public Sub SetAnchorPointColumn( _
ByVal Index As Long, _
ByVal column As Long _
)

C++ [image] Copy Code

public:
void SetAnchorPointColumn (
int Index,
int column
)

Parameters

Index

column

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.SetArrowStyleForPoint Method

AnchorPattern.SetArrowStyleForPoint Method
[image]

Defines the Style and number of Segments to use for arrows that a user draws from the specified anchor point.

Syntax

VB6 [image] Copy Code

Public Sub SetArrowStyleForPoint( _
ByVal Index As Long, _
ByVal ArrowStyle As EArrowStyle, _
ByVal SegmentCount As Integer _
)

C++ [image] Copy Code

public:
void SetArrowStyleForPoint (
int Index,
EArrowStyle ArrowStyle,
short SegmentCount
)

Parameters

Index

The index of an anchor point in this pattern.

ArrowStyle

Defines the style of arrows to draw from the specified point.

SegmentCount

Defines the number of segments that arrows drawn from the specified point have.

Remarks

These properties are applied only to arrows going out of the point. If no style is set for an anchor point, the default values set in the ArrowStyle and ArrowSegments properties of FlowChart are used.

Example

Arrows drawn from the bottom-most point of the anchor pattern defined below will have asPerpendicular style and 3 segments.

VB6 [image] Copy Code

Private Sub Form_Load()

Dim ap As AnchorPattern

ap = New AnchorPattern
ap.AddAnchorPoint 50, 0, True, False, msCross, vbBlue
ap.AddAnchorPoint 100, 50, False, True, msCircle, vbGreen
ap.AddAnchorPoint 50, 100, False, True, msCircle, vbGreen
ap.SetArrowStyleForPoint 2, asPerpendicular, 3
ap.PatternId = "mixed"

End Sub

Private Sub fcx_BoxCreated(ByVal box As FLOWCHARTLibCtl.IBoxItem)

box.AnchorPattern = fcx.AnchorPatterns("mixed")

End Sub

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern Properties

AnchorPattern Properties
[image]

Public Properties

Name | Description
AnchorPointCount | Gets the number of points in this AnchorPattern.
PatternId | Gets a string that identifies an anchor pattern.

See Also

AnchorPattern Class


FlowChartPro.AnchorPattern.AnchorPointCount Property

AnchorPattern.AnchorPointCount Property
[image]

Gets the number of points in this AnchorPattern.

Syntax

VB6 [image] Copy Code

Public Property Get AnchorPointCount() As Long

C++ [image] Copy Code

public:
int get_AnchorPointCount ()

Property Value

An integer value.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnchorPattern.PatternId Property

AnchorPattern.PatternId Property
[image]

Gets a string that identifies an anchor pattern.

Syntax

VB6 [image] Copy Code

Public Property Get PatternId() As String
Public Property Let PatternId( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PatternId ()
void put_PatternId (
BSTR value
)

Property Value

A string value.

Remarks

Once an identifier is assigned to an anchor pattern, the pattern is added to the FlowChart's AnchorPatterns array. Patterns in that array can be accessed by their id.

See Also

AnchorPattern Members
AnchorPattern Class


FlowChartPro.AnnealLayout Class

AnnealLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a simulated annealing graph layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class AnnealLayout

C++ [image] Copy Code

class AnnealLayout

Remarks

Simulated Annealing is a general-purpose optimization method used to solve large-scale combinatorial problems by simulating the process of heating and cooling of metal to achieve freedom from defects. Finding a nice arrangement of a graph is a combinatorial problem that can be reduced to assigning costs to graph configurations and finding the minimum cost configuration. In that case, a cost is assigned to a graph configuration by evaluating different aesthetic criteria such as distance between nodes, length of links and the number of link crossings.

The AnnealLayout class implements a Simulated Annealing layout algorithm that can be used to arrange the elements of a FlowChart. To apply it, create an AnnealLayout instance, set its properties and pass it to the ArrangeDiagram method.

The algorithm starts the simulation with the temperature set in InitialTemperature, and runs several cooling Stages. At each stage the algorithm evaluates several graph configurations for each node, as set in IterationsPerStage. At the end of each stage, the algorithm selects the configuration that has a minimum cost and decreases the temperature by multiplying it by TemperatureScale. The relative weight of an aesthetic criterion relative to the other criteria is set by the DistributionFactor, LinkLengthFactor, BoundaryFactor and CrossingLinksCost properties.

Anchoring specifies whether the layout algorithm must attach links to the anchor points of graphs nodes. The layout algorithm produces best results if it can place link ends at arbitrary positions over the nodes outlines, that is, when using the ancIgnore value. If your application logic requires links to be always attached to anchor points, use the other two values. In such cases ancReassign would yield better results.

See Also

AnnealLayout Members


FlowChartPro.AnnealLayout Members

AnnealLayout Members
Constructors Properties Methods
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a simulated annealing graph layout algorithm.

The following tables list the members exposed by the AnnealLayout type.

Public Constructors

Name | Description
AnnealLayout | Initializes a new instance of the AnnealLayout class.

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
BoundaryFactor | Gets or sets the importance of the distance from nodes to the boundaries of the layout area.
CrossingLinksCost | Gets or sets the relative importance of having a low number of link crossings.
DistributionFactor | Gets or sets the relative importance of node distribution.
InitialTemperature | Gets or sets the initial temperature of the simulated annealing process.
IterationsPerStage | Gets or sets how many node shift iterations to perform at each stage.
LinkLengthFactor | Gets or sets the relative importance of short length of links.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeLinkCrossingCost | Gets or sets the importance of having a low number of overlaps between links and nodes.
NodeLinkDistFactor | Gets or sets the importance of distance between nodes and links.
Randomize | Gets or sets a value indicating whether the algorithm should start with random node positions.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.
Stages | Gets or sets how many cool-down stages the algorithm should simulate.
TemperatureScale | Gets or sets how much the simulated temperature is decreased at each stage of the algorithm.
WidthHeightRatio | Gets or sets what width/height ratio the layout area should have.

Public Methods

Name | Description
SetLayoutArea | Sets the area in which the layout should operate.

See Also

AnnealLayout Class


FlowChartPro.AnnealLayout Constructor

AnnealLayout Constructor
[image]

Initializes a new instance of the AnnealLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
AnnealLayout ()

See Also

AnnealLayout Class


FlowChartPro.AnnealLayout Methods

AnnealLayout Methods
[image]

Public Methods

Name | Description
SetLayoutArea | Sets the area in which the layout should operate.

See Also

AnnealLayout Class


FlowChartPro.AnnealLayout.SetLayoutArea Method

AnnealLayout.SetLayoutArea Method
[image]

Sets the area in which the layout should operate.

Syntax

VB6 [image] Copy Code

Public Sub SetLayoutArea( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetLayoutArea (
int left,
int top,
int right,
int bottom
)

Parameters

left
The x-coordinate of the left side of the layout area.
top
The y-coordinate of the top side of the layout area.
right
The x-coordinate of the right side of the layout area.
bottom
The y-coordinate of the bottom side of the layout area.

Remarks

If the layout area is not explicitly set, the algorithm will choose one suitable for the graph size. In that case the WidthHeightRatio property specifies how much larger the layout area width should be than its height.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout Properties

AnnealLayout Properties
[image]

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
BoundaryFactor | Gets or sets the importance of the distance from nodes to the boundaries of the layout area.
CrossingLinksCost | Gets or sets the relative importance of having a low number of link crossings.
DistributionFactor | Gets or sets the relative importance of node distribution.
InitialTemperature | Gets or sets the initial temperature of the simulated annealing process.
IterationsPerStage | Gets or sets how many node shift iterations to perform at each stage.
LinkLengthFactor | Gets or sets the relative importance of short length of links.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeLinkCrossingCost | Gets or sets the importance of having a low number of overlaps between links and nodes.
NodeLinkDistFactor | Gets or sets the importance of distance between nodes and links.
Randomize | Gets or sets a value indicating whether the algorithm should start with random node positions.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.
Stages | Gets or sets how many cool-down stages the algorithm should simulate.
TemperatureScale | Gets or sets how much the simulated temperature is decreased at each stage of the algorithm.
WidthHeightRatio | Gets or sets what width/height ratio the layout area should have.

See Also

AnnealLayout Class


FlowChartPro.AnnealLayout.ArrowAnchoring Property

AnnealLayout.ArrowAnchoring Property
[image]

Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowAnchoring() As EAnchoring
Public Property Let ArrowAnchoring( _
ByVal Value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_ArrowAnchoring ()
void put_ArrowAnchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default is ancIgnore.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.BoundaryFactor Property

AnnealLayout.BoundaryFactor Property
[image]

Gets or sets the importance of the distance from nodes to the boundaries of the layout area.

Syntax

VB6 [image] Copy Code

Public Property Get BoundaryFactor() As Double
Public Property Let BoundaryFactor( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_BoundaryFactor ()
void put_BoundaryFactor (
double value
)

Property Value

A double value. The default is 42000.

Remarks

Assigning a larger value to this property will make the algorithm choose graph configurations in which nodes are placed farther from the layout area bounds, that is, nodes will tend to gather in the center of the layout area.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.CrossingLinksCost Property

AnnealLayout.CrossingLinksCost Property
[image]

Gets or sets the relative importance of having a low number of link crossings.

Syntax

VB6 [image] Copy Code

Public Property Get CrossingLinksCost() As Double
Public Property Let CrossingLinksCost( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_CrossingLinksCost ()
void put_CrossingLinksCost (
double value
)

Property Value

A double value. The default is 1200000.

Remarks

Assigning a larger value to this property will make the algorithm choose graph configurations with fewer link crossings.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.DistributionFactor Property

AnnealLayout.DistributionFactor Property
[image]

Gets or sets the relative importance of node distribution.

Syntax

VB6 [image] Copy Code

Public Property Get DistributionFactor() As Double
Public Property Let DistributionFactor( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_DistributionFactor ()
void put_DistributionFactor (
double value
)

Property Value

A double value. The default is 560000.

Remarks

Assigning a larger value to this property will make the algorithm choose graph configurations in which the nodes are placed farther one from another.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.InitialTemperature Property

AnnealLayout.InitialTemperature Property
[image]

Gets or sets the initial temperature of the simulated annealing process.

Syntax

VB6 [image] Copy Code

Public Property Get InitialTemperature() As Double
Public Property Let InitialTemperature( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_InitialTemperature ()
void put_InitialTemperature (
double value
)

Property Value

A double value. The default is 40.

Remarks

A low initial temperature prevents nodes from moving far from their initial position. If you need the final arrangement to have resemblance to the initial formation of the graph elements, set a lower initial temperature and disable Randomize.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.IterationsPerStage Property

AnnealLayout.IterationsPerStage Property
[image]

Gets or sets how many node shift iterations to perform at each stage.

Syntax

VB6 [image] Copy Code

Public Property Get IterationsPerStage() As Long
Public Property Let IterationsPerStage( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_IterationsPerStage ()
void put_IterationsPerStage (
int value
)

Property Value

A long value. The default is 50.

Remarks

IterationsPerStage specifies how many node configurations to evaluate at each stage of the temperature cool-down simulation. More iterations will yield better layouts but require more time to complete.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.LinkLengthFactor Property

AnnealLayout.LinkLengthFactor Property
[image]

Gets or sets the relative importance of short length of links.

Syntax

VB6 [image] Copy Code

Public Property Get LinkLengthFactor() As Double
Public Property Let LinkLengthFactor( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_LinkLengthFactor ()
void put_LinkLengthFactor (
double value
)

Property Value

A double value. The default is 0.02.

Remarks

Assigning a larger value to this property will make the algorithm choose graph configurations in which links are shorter.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.MultipleGraphsPlacement Property

AnnealLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal Value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

Remarks

If a diagram contains several unconnected sub-graphs, it is possible to specify which of them to be laid out by specifying a root node. If the root is specified, all nodes and links that can be reached from it define the sub-graph to be arranged. In such a case, other items in the diagram are not affected by a call to ArrangeDiagram.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.NodeLinkCrossingCost Property

AnnealLayout.NodeLinkCrossingCost Property
[image]

Gets or sets the importance of having a low number of overlaps between links and nodes.

Syntax

VB6 [image] Copy Code

Public Property Get NodeLinkCrossingCost() As Double
Public Property Let NodeLinkCrossingCost( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_NodeLinkCrossingCost ()
void put_NodeLinkCrossingCost (
double value
)

Property Value

A double value. The default is 150000.

Remarks

A double value added to the total cost of a graph configuration when a link crosses a node.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.NodeLinkDistFactor Property

AnnealLayout.NodeLinkDistFactor Property
[image]

Gets or sets the importance of distance between nodes and links.

Syntax

VB6 [image] Copy Code

Public Property Get NodeLinkDistFactor() As Double
Public Property Let NodeLinkDistFactor( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_NodeLinkDistFactor ()
void put_NodeLinkDistFactor (
double value
)

Property Value

A double value. The default is 320000.

Remarks

Assigning a larger value to this property will make the algorithm choose graph configurations in which the nodes are placed farther from links.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.Randomize Property

AnnealLayout.Randomize Property
[image]

Gets or sets a value indicating whether the algorithm should start with random node positions.

Syntax

VB6 [image] Copy Code

Public Property Get Randomize() As Boolean
Public Property Let Randomize( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Randomize ()
void put_Randomize (
bool value
)

Property Value

A boolean value. The default is true.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.Root Property

AnnealLayout.Root Property
[image]

Gets or sets which sub-graph of the diagram should be laid out.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If a diagram contains several unconnected sub-graphs, it is possible to specify which of them to be laid out by specifying a root node. If the root is specified, all nodes and links that can be reached from it define the sub-graph to be arranged. In such a case, other items in the diagram are not affected by a call to ArrangeDiagram.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.SplitGraph Property

AnnealLayout.SplitGraph Property
[image]

Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

Syntax

VB6 [image] Copy Code

Public Property Get SplitGraph() As Boolean
Public Property Let SplitGraph( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SplitGraph ()
void put_SplitGraph (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If this property is set to true, each independent graph in the diagram is laid out in its own layout area. Otherwise all subgraphs are arranged in the same layout area. If a Root node is specified and SplitGraph is true, only the graph that contains the root node will be arranged.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.Stages Property

AnnealLayout.Stages Property
[image]

Gets or sets how many cool-down stages the algorithm should simulate.

Syntax

VB6 [image] Copy Code

Public Property Get Stages() As Long
Public Property Let Stages( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Stages ()
void put_Stages (
int value
)

Property Value

A long value. The default is 15.

Remarks

At each stage the algorithm evaluates different graph arrangements produced by modifying the best configuration from the previous stage. The modifications are done by shifting nodes by a distance that depends on the current temperature. The TemperatureScale property specifies how much the temperature decreases at each stage. IterationsPerStage specifies how many configurations are evaluated at each stage.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.TemperatureScale Property

AnnealLayout.TemperatureScale Property
[image]

Gets or sets how much the simulated temperature is decreased at each stage of the algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get TemperatureScale() As Double
Public Property Let TemperatureScale( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_TemperatureScale ()
void put_TemperatureScale (
double value
)

Property Value

A double value. The default is 0.75.

Remarks

This value should be in the interval (0,1). The algorithm produces better results when running for many Stages with a gradual temperature decrease, that is, a TemperatureScale closer to 1.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.AnnealLayout.WidthHeightRatio Property

AnnealLayout.WidthHeightRatio Property
[image]

Gets or sets what width/height ratio the layout area should have.

Syntax

VB6 [image] Copy Code

Public Property Get WidthHeightRatio() As Double
Public Property Let WidthHeightRatio( _
ByVal value As Double _
)

C++ [image] Copy Code

public:
double get_WidthHeightRatio ()
void put_WidthHeightRatio (
double value
)

Property Value

A double value. The default is 1.

Remarks

If the layout area is not explicitly set (via SetLayoutArea), the algorithm will choose one suitable for the graph size. In that case the WidthHeightRatio property specifies how much larger the layout area width should be than its height.

See Also

AnnealLayout Members
AnnealLayout Class


FlowChartPro.Arrow Class

Arrow Class
Remarks See Also
[image]

Arrows represent links between diagram nodes.

Syntax

VB6 [image] Copy Code

Public Class Arrow

C++ [image] Copy Code

class Arrow

Remarks

An arrow connects at most two nodes, which can be get or set via Origin and Destination properties. Alternatively, you can use the type-safe DestinationBox and OriginBox properties if the arrow connects boxes, or DestinationTable and OriginTable properties for tables. OriginType and DestinationType return the type of the nodes connected by an arrow. If linked to node anchor points, the point indices can be accessed using the OrgnAnchor and DestAnchor properties. To control whether users are allowed to move link end points, set AllowMoveStart and AllowMoveEnd.

Arrows are built of parts called segments, which can be straight lines, cascading orthogonal lines or Bezier curves. The type of segments is set through the Style property. The number of arrow's segments is specified via the Segments property. The locations of control points can be changed through the CtrlPtX, CtrlPtY properties and the Update method.

Usually only the starting and ending segments of an arrow are updated if the nodes it connects are moved around. The number, orientation and/or position of arrow segments can change dynamically as set in the Dynamic and AutoRoute properties. For arrows whose Style is set to asPerpendicular, the PrpStartOrientation property specifies the orientation of their first segments. How an arrow behaves when nodes are moved around depends on the values of Dynamic and AutoRoute properties.

If SnapToNodeBorder is enabled, an arrow automatically aligns its end points to the border of the origin or destination nodes when a user moves the first or last control points. This has a higher priority than aligning to the grid, but a lower priority than aligning to an anchor point.

Arrows can display distinct arrowhead shapes at their ends. These shapes can be set with the ArrowHead and ArrowBase properties. The size of the base and arrowhead images is specified via the ArrowHeadSize and ArrowBaseSize properties. Arrowhead shapes can be displayed in the middle of each segment to facilitate users by distinguishing different arrows. The type and size of these shapes is set with the IntermArrowHead and IntermHeadSize properties.

The arrow segments are drawn using a pen whose attributes are specified via the Color, PenStyle and PenWidth properties. The fill color of the arrowhead shapes can be set through the FillColor property. The appearance of arrow's selection handles can be changed using SelStyle.

An arrow can display one text label, whose text is set through the Text property. The text formatting can be customized via the Font, TextColor and TextStyle properties. To change the label position, call the SetTextPosition method.

The ArrowLabel class available since version 4.8 allows multiple captions to be displayed for a single Arrow object. Labels provide a set of properties allowing full customization of their display and positioning. Labels can also be arranged automatically to avoid overlapping nodes and other labels by setting AutoArrange to true. You can modify and access the list of arrow's labels using AddLabel, RemoveLabel, GetLabel methods of the Arrow class. The LabelFromPoint method lets you find the label placed at a specific location.

There are several utility methods that can be used for hit testing. IntersectsNode determines whether an arrow intersects any part of a node, taking into account the node's shape. The Length property of an arrow returns the total length of the arrow's segments.

See Also

Arrow Members


FlowChartPro.Arrow Members

Arrow Members
Properties Methods
[image]

Arrows represent links between diagram nodes.

The following tables list the members exposed by the Arrow type.

Public Properties

Name | Description
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this arrow.
AllowMoveEnd | Gets or sets a value indicating whether users are allowed to move the end point of an arrow.
AllowMoveStart | Gets or sets a value indicating whether users are allowed to move the first control point of an arrow.
ArrowBase | Gets or sets what shape to display at the beginning of an arrow.
ArrowBaseSize | Gets or sets the size of the ArrowBase shape.
ArrowHead | Gets or sets the shape of the arrowhead.
ArrowHeadSize | Gets or sets the size of the arrowhead.
AutoRoute | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether an arrow should avoid nodes by going the shortest path from its origin to its destination without crossing any other nodes.
Color | Gets or sets the color in which the arrow segments should be painted.
CtrlPtCount | Gets the number of control points of the arrow.
CtrlPtX | Gets or sets the X coordinate of arrow's control point.
CtrlPtY | Gets or sets the Y coordinate of arrow's control point.
CustomDraw | Gets or sets the type of custom drawing performed on this arrow.
DestAnchor | Gets or sets the destination anchor point to which this arrow is attached.
Destination | Gets or sets the destination node of an arrow.
DestinationBox | Gets the box the arrow is pointing to.
DestinationTable | Gets the table the arrow is pointing to.
DestinationType | Gets the type of the arrow's destination node.
DestIndex | Gets the index of arrow's destination anchor point or table row.
Dynamic | Gets or sets a value indicating whether an arrow should automatically adjust its end points in order to keep pointing to the centers of nodes that it connects.
ExpectedDestination | Gets which node an arrow would be attached to if the RequestCreateArrow event is validated.
FillColor | Gets or sets in what color to fill the interior of the arrowhead shapes.
FillColorAlpha | Gets or sets the alpha component of FillColor.
Font | Gets or sets the font used to draw the label text of an arrow.
IgnoreLayout | Gets or sets a value indicating whether the automatic layout methods should consider this arrow when laying out the diagram.
IntermArrowHead | Gets or sets what shape should be displayed at the middle of each segment of this arrow.
IntermHeadSize | Gets or sets the size of the IntermArrowHead shape.
Length | Returns the length of the arrow.
Locked | Gets or sets a value indicating whether users are allowed to modify this arrow.
OrgnAnchor | Gets or sets the origin anchor point to which this arrow is attached.
OrgnIndex | Gets the index of arrow's origin anchor point or table row.
Origin | Gets or sets the origin node of an arrow.
OriginBox | Gets the box an arrow is coming out from.
OriginTable | Gets the table an arrow is coming out from.
OriginType | Gets the type of the arrow's origin node.
PenStyle | Gets or sets the dash style of the pen used to draw the arrow lines.
PenWidth | Gets or sets the width of the pen used to draw the arrow lines.
Printable | Gets or sets a value indicating whether this arrow should be drawn on paper when printing.
PrpHorzFirst |
PrpStartOrientation | Gets or sets the orientation of the first segment of a cascading arrow.
Rigid |
Segments | Gets or sets the number of segments an arrow has.
Selected | Gets a value indicating whether this arrow is selected.
SelStyle | Gets or sets a value that indicates the style of the arrow's selection handles.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the arrow that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the arrow that casts it.
SnapToNodeBorder | Gets or sets a value indicating whether the arrow end points should automatically align to node borders while a user moves them.
Style | Gets or sets the type of arrow segments and how they are positioned one relatively to another.
SubordinateGroup | Gets a reference to the group of objects that are attached to this arrow.
Tag | Gets or sets a custom integer value associated with this arrow.
Text | Gets or sets the text displayed over an arrow.
TextColor | Gets or sets the color in which the arrow text will be drawn.
TextStyle | Gets or sets the alignment of the arrow's Text.
ToolTip | Gets or sets a text message displayed when the mouse pointer rests over this arrow.
UserData | Gets or sets a custom integer value associated with this arrow.
UserString | Gets or sets a custom string value associated with this arrow.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this arrow.
Visible | Gets or sets a value indicating whether this arrow should be drawn on the screen.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
ZIndex | Gets or sets the drawing order of this arrow within the diagram.

Public Methods

Name | Description
AddLabel | Adds the specified label to this arrow.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the text of this arrow.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Start recording the changes made to properties of this arrow.
BoundingRect | Gets the coordinates of the arrow's bounding rectangle.
Clone | Creates a copy of this arrow.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stop recording the changes made to properties of this arrow and add an undo record to the undo/redo history.
GetCArrow |
GetDefinition |
GetLabel | Gets the ArrowLabel at the specified position in arrow's label list.
GetLabelCount | Gets the number of labels associated with this arrow.
IntersectsNode | Determines whether this arrow intersects a node, taking into account the node shape.
LabelFromPoint | Returns the label whose layout rectangle contains the specified point.
RemoveLabel | Removes the specified label from this arrow.
Route | Routes this link, regardless of whether its AutoRoute flag is enabled.
SetTextPosition | Sets the position of the arrow label.
Update | Updates the arrowhead direction and the internal state variables of an arrow.
ZBottom | Moves this arrow to the bottom of the Z order.
ZLevelDown | Moves this arrow one level down in the Z order.
ZLevelUp | Moves this arrow one level up in the Z order.
ZTop | Moves this arrow to the top of the Z order.

See Also

Arrow Class


FlowChartPro.Arrow Methods

Arrow Methods
[image]

Public Methods

Name | Description
AddLabel | Adds the specified label to this arrow.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the text of this arrow.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Start recording the changes made to properties of this arrow.
BoundingRect | Gets the coordinates of the arrow's bounding rectangle.
Clone | Creates a copy of this arrow.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stop recording the changes made to properties of this arrow and add an undo record to the undo/redo history.
GetCArrow |
GetDefinition |
GetLabel | Gets the ArrowLabel at the specified position in arrow's label list.
GetLabelCount | Gets the number of labels associated with this arrow.
IntersectsNode | Determines whether this arrow intersects a node, taking into account the node shape.
LabelFromPoint | Returns the label whose layout rectangle contains the specified point.
RemoveLabel | Removes the specified label from this arrow.
Route | Routes this link, regardless of whether its AutoRoute flag is enabled.
SetTextPosition | Sets the position of the arrow label.
Update | Updates the arrowhead direction and the internal state variables of an arrow.
ZBottom | Moves this arrow to the bottom of the Z order.
ZLevelDown | Moves this arrow one level down in the Z order.
ZLevelUp | Moves this arrow one level up in the Z order.
ZTop | Moves this arrow to the top of the Z order.

See Also

Arrow Class


FlowChartPro.Arrow.AddLabel Method

Arrow.AddLabel Method
[image]

Adds the specified label to this arrow.

Syntax

VB6 [image] Copy Code

Public Sub AddLabel( _
ByVal label As ArrowLabel _
)

C++ [image] Copy Code

public:
void AddLabel (
ArrowLabel* label
)

Parameters

label

An ArrowLabel instance.

Remarks

Call RemoveLabel to remove the label later. You can access all labels assigned to an arrow by means of the GetLabelCount and GetLabel methods.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Text Property


FlowChartPro.Arrow.BeginInplaceEdit Method

Arrow.BeginInplaceEdit Method
[image]

Enters inplace-edit mode, allowing users to edit the text of this arrow.

Syntax

VB6 [image] Copy Code

Public Sub BeginInplaceEdit( _
ByVal label As ArrowLabel _
)

C++ [image] Copy Code

public:
void BeginInplaceEdit (
ArrowLabel* label
)

Parameters

label

An ArrowLabel instance.

Remarks

Shows an edit control over this arrow or the specified label, enabling the user to edit their text. If the label argument is set to null, the edit control lets users enter a new value for the arrow's own Text property, or otherwise for the label's Text property.

If the AllowInplaceEdit property of an arrow is set to true, inplace editing can be also started interactively by double-clicking the arrow. The inplace editing operation can be ended programmatically by calling EndInplaceEdit, or interactively by clicking outside the edit control.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.BeginUndoRecord Method

Arrow.BeginUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Start recording the changes made to properties of this arrow.

Syntax

VB6 [image] Copy Code

Public Sub BeginUndoRecord( _
ByVal inclConnected As Boolean _
)

C++ [image] Copy Code

public:
void BeginUndoRecord (
bool inclConnected
)

Parameters

inclConnected
Indicates whether to also save undo & redo information for connected objects.

Remarks

FlowChartX automatically records users actions on the flowchart document to enable later undo and redo of any modifications. Some programmatic actions are recorded too - such as creation or deletion of objects. However, programmatic change of most of the object properties will not be recorded automatically in the undo-history. The BeginUndoRecord and EndUndoRecord pair of methods can be used to record a group of modifications to an object, allowing their undo and redo as a single atomic operation.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.BeginUndoRecord Method


FlowChartPro.Arrow.BoundingRect Method

Arrow.BoundingRect Method
[image]

Gets the coordinates of the arrow's bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Sub BoundingRect( _
ByRef left As Long, _
ByRef top As Long, _
ByRef right As Long, _
ByRef bottom As Long _
)

C++ [image] Copy Code

public:
void BoundingRect (
int* left,
int* top,
int* right,
int* bottom
)

Parameters

left
The left side of the bounding rectangle.
top
The top of the bounding rectangle.
right
The right side of the bounding rectangle.
bottom
The bottom of the bounding rectangle.

Remarks

The returned numbers are expressed in document coordinates.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Clone Method

Arrow.Clone Method
[image]

Creates a copy of this arrow.

Syntax

VB6 [image] Copy Code

Public Function Clone () As Arrow

C++ [image] Copy Code

public:
Arrow* Clone ()

Return Value

An instance of the Arrow class representing the newly created object.

Remarks

Creates a new arrow that has the same attributes as this arrow. The copy is not connected to any node; to connect it to some nodes, set its Origin and Destination properties.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.EndInplaceEdit Method

Arrow.EndInplaceEdit Method
[image]

Exits inplace-edit mode, and either accepts or rejects any changes made to the text.

Syntax

VB6 [image] Copy Code

Public Sub EndInplaceEdit( _
ByVal Accept As Boolean _
)

C++ [image] Copy Code

public:
void EndInplaceEdit (
bool Accept
)

Parameters

Accept

Specifies whether changes made to the text should be accepted.

Remarks

Hides the edit control shown previously by calling BeginInplaceEdit. That ends the in-place editing operation and validates the changes made to the Text property of the arrow or label as specified via the Accept argument.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.EndUndoRecord Method

Arrow.EndUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Stop recording the changes made to properties of this arrow and add an undo record to the undo/redo history.

Syntax

VB6 [image] Copy Code

Public Sub EndUndoRecord ()

C++ [image] Copy Code

public:
void EndUndoRecord ()

Remarks

Records in the undo-history a group of property modifications enclosed by this method and a previous call to BeginUndoRecord. You should always match EndUndoRecord with exactly one call to BeginUndoRecord, nesting of Begin/End pairs is not supported. You should avoid deleting attached items while recording is active. Adding and deleting diagram elements is automatically recorded in the undo-history.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.GetCArrow Method

Arrow.GetCArrow Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetCArrow () As Long

C++ [image] Copy Code

public:
unsigned int GetCArrow ()

Return Value

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.GetDefinition Method

Arrow.GetDefinition Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetDefinition( _
ByVal defDescr As Integer _
) As IntPtr

C++ [image] Copy Code

public:
IntPtr GetDefinition (
short defDescr
)

Parameters

defDescr

Return Value

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.GetLabel Method

Arrow.GetLabel Method
[image]

Gets the ArrowLabel at the specified position in arrow's label list.

Syntax

VB6 [image] Copy Code

Public Function GetLabel( _
ByVal labelIndex As Long _
) As ArrowLabel

C++ [image] Copy Code

public:
ArrowLabel* GetLabel (
int labelIndex
)

Parameters

labelIndex

An integer index specifying which label to return.

Return Value

An ArrowLabel instance.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
AddLabel Method
GetLabelCount Method
RemoveLabel Method


FlowChartPro.Arrow.GetLabelCount Method

Arrow.GetLabelCount Method
[image]

Gets the number of labels associated with this arrow.

Syntax

VB6 [image] Copy Code

Public Function GetLabelCount () As Long

C++ [image] Copy Code

public:
int GetLabelCount ()

Return Value

An integer value specifying the number of labels.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
AddLabel Method
GetLabel Method


FlowChartPro.Arrow.IntersectsNode Method

Arrow.IntersectsNode Method
[image]

Determines whether this arrow intersects a node, taking into account the node shape.

Syntax

VB6 [image] Copy Code

Public Function IntersectsNode( _
ByVal node As Object _
) As Boolean

C++ [image] Copy Code

public:
bool IntersectsNode (
IDispatch* node
)

Parameters

node
A diagram node to test for intersection.

Return Value

true if a segment of the arrow intersects the specified node; otherwise, false.

Remarks

The method determines whether any segment of the arrow intersects a node, taking into account the node's shape outline.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.NodesIntersect Method


FlowChartPro.Arrow.LabelFromPoint Method

Arrow.LabelFromPoint Method
[image]

Returns the label whose layout rectangle contains the specified point.

Syntax

VB6 [image] Copy Code

Public Function LabelFromPoint( _
ByVal x As Long, _
ByVal y As Long _
) As ArrowLabel

C++ [image] Copy Code

public:
ArrowLabel* LabelFromPoint (
int x,
int y
)

Parameters

x

An integer value specifying horizontal coordinate of the point.

y

An integer value specifying vertical coordinate of the point.

Return Value

The ArrowLabel that contains the specified point.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.RemoveLabel Method

Arrow.RemoveLabel Method
[image]

Removes the specified label from this arrow.

Syntax

VB6 [image] Copy Code

Public Sub RemoveLabel( _
ByVal label As ArrowLabel _
)

C++ [image] Copy Code

public:
void RemoveLabel (
ArrowLabel* label
)

Parameters

label

An ArrowLabel instance.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
AddLabel Method
GetLabelCount Method
GetLabel Method


FlowChartPro.Arrow.Route Method

Arrow.Route Method
[image]

Routes this link, regardless of whether its AutoRoute flag is enabled.

Syntax

VB6 [image] Copy Code

Public Function Route () As Boolean

C++ [image] Copy Code

public:
bool Route ()

Return Value

true is a route has been successfully found; otherwise, false.

Remarks

Routing might fail if there is a large background node whose Obstacle property is enabled, or if the value of RoutingOptions.GridSize is too big for the average distance between adjacent nodes in the diagram.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.RouteAllArrows Method


FlowChartPro.Arrow.SetTextPosition Method

Arrow.SetTextPosition Method
[image]

Sets the position of the arrow label.

Syntax

VB6 [image] Copy Code

Public Sub SetTextPosition( _
ByVal segment As Long, _
ByVal offset As Long _
)

C++ [image] Copy Code

public:
void SetTextPosition (
int segment,
int offset
)

Parameters

segment
Specifies at which segment to display the label.
offset
Specifies the position of the label relatively to the segment.

Remarks

Currently, this method can be used only when TextStyle is set to atsCenter. A negative segment argument specifies an index relative to the last segment, e.g. -1 is the last segment, -2 is the second-to-last segment, etc. A negative offset means that the offset should be relative to the segment end instead of the segment beginning.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Text Property


FlowChartPro.Arrow.Update Method

Arrow.Update Method
[image]

Updates the arrowhead direction and the internal state variables of an arrow.

Syntax

VB6 [image] Copy Code

Public Sub Update ()

C++ [image] Copy Code

public:
void Update ()

Remarks

This method should be called after programmatically modifying the positions of arrow's control points. It recalculates the orientation of arrowheads and redraws the arrow. This is not done automatically when changing the CtrlPtX and CtrlPtY properties because it could turn out to be very slow and might cause flicker when many control points positions are changed.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ZBottom Method

Arrow.ZBottom Method
[image]

Moves this arrow to the bottom of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZBottom ()

C++ [image] Copy Code

public:
void ZBottom ()

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ZLevelDown Method

Arrow.ZLevelDown Method
[image]

Moves this arrow one level down in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelDown ()

C++ [image] Copy Code

public:
void ZLevelDown ()

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ZLevelUp Method

Arrow.ZLevelUp Method
[image]

Moves this arrow one level up in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelUp ()

C++ [image] Copy Code

public:
void ZLevelUp ()

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ZTop Method

Arrow.ZTop Method
[image]

Moves this arrow to the top of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZTop ()

C++ [image] Copy Code

public:
void ZTop ()

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow Properties

Arrow Properties
[image]

Public Properties

Name | Description
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this arrow.
AllowMoveEnd | Gets or sets a value indicating whether users are allowed to move the end point of an arrow.
AllowMoveStart | Gets or sets a value indicating whether users are allowed to move the first control point of an arrow.
ArrowBase | Gets or sets what shape to display at the beginning of an arrow.
ArrowBaseSize | Gets or sets the size of the ArrowBase shape.
ArrowHead | Gets or sets the shape of the arrowhead.
ArrowHeadSize | Gets or sets the size of the arrowhead.
AutoRoute | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether an arrow should avoid nodes by going the shortest path from its origin to its destination without crossing any other nodes.
Color | Gets or sets the color in which the arrow segments should be painted.
CtrlPtCount | Gets the number of control points of the arrow.
CtrlPtX | Gets or sets the X coordinate of arrow's control point.
CtrlPtY | Gets or sets the Y coordinate of arrow's control point.
CustomDraw | Gets or sets the type of custom drawing performed on this arrow.
DestAnchor | Gets or sets the destination anchor point to which this arrow is attached.
Destination | Gets or sets the destination node of an arrow.
DestinationBox | Gets the box the arrow is pointing to.
DestinationTable | Gets the table the arrow is pointing to.
DestinationType | Gets the type of the arrow's destination node.
DestIndex | Gets the index of arrow's destination anchor point or table row.
Dynamic | Gets or sets a value indicating whether an arrow should automatically adjust its end points in order to keep pointing to the centers of nodes that it connects.
ExpectedDestination | Gets which node an arrow would be attached to if the RequestCreateArrow event is validated.
FillColor | Gets or sets in what color to fill the interior of the arrowhead shapes.
FillColorAlpha | Gets or sets the alpha component of FillColor.
Font | Gets or sets the font used to draw the label text of an arrow.
IgnoreLayout | Gets or sets a value indicating whether the automatic layout methods should consider this arrow when laying out the diagram.
IntermArrowHead | Gets or sets what shape should be displayed at the middle of each segment of this arrow.
IntermHeadSize | Gets or sets the size of the IntermArrowHead shape.
Length | Returns the length of the arrow.
Locked | Gets or sets a value indicating whether users are allowed to modify this arrow.
OrgnAnchor | Gets or sets the origin anchor point to which this arrow is attached.
OrgnIndex | Gets the index of arrow's origin anchor point or table row.
Origin | Gets or sets the origin node of an arrow.
OriginBox | Gets the box an arrow is coming out from.
OriginTable | Gets the table an arrow is coming out from.
OriginType | Gets the type of the arrow's origin node.
PenStyle | Gets or sets the dash style of the pen used to draw the arrow lines.
PenWidth | Gets or sets the width of the pen used to draw the arrow lines.
Printable | Gets or sets a value indicating whether this arrow should be drawn on paper when printing.
PrpHorzFirst |
PrpStartOrientation | Gets or sets the orientation of the first segment of a cascading arrow.
Rigid |
Segments | Gets or sets the number of segments an arrow has.
Selected | Gets a value indicating whether this arrow is selected.
SelStyle | Gets or sets a value that indicates the style of the arrow's selection handles.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the arrow that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the arrow that casts it.
SnapToNodeBorder | Gets or sets a value indicating whether the arrow end points should automatically align to node borders while a user moves them.
Style | Gets or sets the type of arrow segments and how they are positioned one relatively to another.
SubordinateGroup | Gets a reference to the group of objects that are attached to this arrow.
Tag | Gets or sets a custom integer value associated with this arrow.
Text | Gets or sets the text displayed over an arrow.
TextColor | Gets or sets the color in which the arrow text will be drawn.
TextStyle | Gets or sets the alignment of the arrow's Text.
ToolTip | Gets or sets a text message displayed when the mouse pointer rests over this arrow.
UserData | Gets or sets a custom integer value associated with this arrow.
UserString | Gets or sets a custom string value associated with this arrow.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this arrow.
Visible | Gets or sets a value indicating whether this arrow should be drawn on the screen.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
ZIndex | Gets or sets the drawing order of this arrow within the diagram.

See Also

Arrow Class


FlowChartPro.Arrow.AllowInplaceEdit Property

Arrow.AllowInplaceEdit Property
[image]

Gets or sets a value indicating whether users are allowed to edit the text of this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get AllowInplaceEdit() As Boolean
Public Property Let AllowInplaceEdit( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowInplaceEdit ()
void put_AllowInplaceEdit (
bool value
)

Property Value

true to let users edit arrow's text, or false otherwise.

Remarks

Specifies whether the text of an arrow can be edited in-place by users. If enabled, a text entry field appears when the arrow is double-clicked. In-place editing mode can be exited by clicking anywhere outside the text-field. When this happens, the control raises either the ArrowTextEdited or ArrowLabelEdited event depending on what has been edited.

Inplace editing can be started programmatically by calling the BeginInplaceEdit method, or ended via EndInplaceEdit.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.AllowMoveEnd Property

Arrow.AllowMoveEnd Property
[image]

Gets or sets a value indicating whether users are allowed to move the end point of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get AllowMoveEnd() As Boolean
Public Property Let AllowMoveEnd( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowMoveEnd ()
void put_AllowMoveEnd (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.ArrowEndsMovable.

Remarks

Specifies if the user is allowed to move the end point of an arrow. Set it to false to prevent the arrow destination to be changed interactively. Alternatively, you might handle the RequestAttachArrow event to implement selective validation of attaching an arrow to different diagram nodes.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.AllowMoveStart Property

Arrow.AllowMoveStart Property
[image]

Gets or sets a value indicating whether users are allowed to move the first control point of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get AllowMoveStart() As Boolean
Public Property Let AllowMoveStart( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowMoveStart ()
void put_AllowMoveStart (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.ArrowEndsMovable.

Remarks

Specifies if the user is allowed to move the first control point of an arrow. Set it to false to prevent the arrow's origin node to be changed interactively. Alternatively, you might handle the RequestAttachArrow event to implement selective validation of attaching an arrow to different diagram nodes.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ArrowBase Property

Arrow.ArrowBase Property
[image]

Gets or sets what shape to display at the beginning of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowBase() As EArrowHead
Public Property Let ArrowBase( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_ArrowBase ()
void put_ArrowBase (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration. Initialized with FlowChart.ArrowBase.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ArrowBaseSize Property

Arrow.ArrowBaseSize Property
[image]

Gets or sets the size of the ArrowBase shape.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowBaseSize() As Integer
Public Property Let ArrowBaseSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowBaseSize ()
void put_ArrowBaseSize (
short value
)

Property Value

A short value. Initialized with FlowChart.ArrowBaseSize.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ArrowHead Property

Arrow.ArrowHead Property
[image]

Gets or sets the shape of the arrowhead.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowHead() As EArrowHead
Public Property Let ArrowHead( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_ArrowHead ()
void put_ArrowHead (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration. Initialized with FlowChart.ArrowHead.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ArrowHeadSize Property

Arrow.ArrowHeadSize Property
[image]

Gets or sets the size of the arrowhead.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowHeadSize() As Integer
Public Property Let ArrowHeadSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowHeadSize ()
void put_ArrowHeadSize (
short value
)

Property Value

A short value. Initialize with FlowChart.ArrowHeadSize.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.AutoRoute Property

Arrow.AutoRoute Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets a value indicating whether an arrow should avoid nodes by going the shortest path from its origin to its destination without crossing any other nodes.

Syntax

VB6 [image] Copy Code

Public Property Get AutoRoute() As Boolean
Public Property Let AutoRoute( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AutoRoute ()
void put_AutoRoute (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.RouteArrows.

Remarks

If AutoRoute is enabled, an arrow automatically finds the shortest possible path between its origin and destination that doesn't intersect Obstacle nodes. The number and orientation of the arrow's segments are updated when the nodes it links are moved around. The positions of end points of a routed arrow are not changed, unless the arrow is also set to Dynamic.

It is best to use AutoRoute with arrows of Style asPerpendicular.

Performance note

Arrows having their AutoRoute property enabled are re-routed if they intersect with newly created nodes. Thus when constructing a large diagram programmatically, each arrow might be re-routed many times, once for each call to CreateBox or CreateTable whose location arguments collide with arrow's bounding rectangle. That might slow down diagram creation a lot. To avoid it, first create all nodes, and afterwards the arrows; that requires a single calculation for each arrow's route.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.RouteAllArrows Method
RoutingOptions Property
Route Method


FlowChartPro.Arrow.Color Property

Arrow.Color Property
[image]

Gets or sets the color in which the arrow segments should be painted.

Syntax

VB6 [image] Copy Code

Public Property Get Color() As Long
Public Property Let Color( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_Color ()
void put_Color (
unsigned int value
)

Property Value

A color object. Initialized with FlowChart.ArrowColor.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.CtrlPtCount Property

Arrow.CtrlPtCount Property
[image]

Gets the number of control points of the arrow.

Syntax

VB6 [image] Copy Code

Public Property Get CtrlPtCount() As Long

C++ [image] Copy Code

public:
int get_CtrlPtCount ()

Property Value

An integer value representing the point count.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.CtrlPtX Property

Arrow.CtrlPtX Property
[image]

Gets or sets the X coordinate of arrow's control point.

Syntax

VB6 [image] Copy Code

Public Property Get CtrlPtX( _
ByVal Index As Long _
) As Long
Public Property Let CtrlPtX( _
ByVal Index As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CtrlPtX (
int Index
)
void put_CtrlPtX (
int Index,
int value
)

Parameters

Index

The 0-based index of the control point.

Property Value

A long value representing the x-coordinate.

Remarks

After changing the positions of control points you should call Update.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.CtrlPtY Property

Arrow.CtrlPtY Property
[image]

Gets or sets the Y coordinate of arrow's control point.

Syntax

VB6 [image] Copy Code

Public Property Get CtrlPtY( _
ByVal Index As Long _
) As Long
Public Property Let CtrlPtY( _
ByVal Index As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CtrlPtY (
int Index
)
void put_CtrlPtY (
int Index,
int value
)

Parameters

Index

The 0-based index of the control point.

Property Value

A long value representing the y-coordinate.

Remarks

After changing the positions of control points you should call Update.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.CustomDraw Property

Arrow.CustomDraw Property
[image]

Gets or sets the type of custom drawing performed on this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get CustomDraw() As ECustomDraw
Public Property Let CustomDraw( _
ByVal Value As ECustomDraw _
)

C++ [image] Copy Code

public:
ECustomDraw get_CustomDraw ()
void put_CustomDraw (
ECustomDraw value
)

Property Value

A member of the ECustomDraw enumeration.

Remarks

Use custom drawing to implement special appearance of an arrow that cannot be achieved by customizing it through properties. The control raises the DrawArrow event to let you execute custom rendering code.

The CustomDraw property can be set to one of the following values:

  • cdNone - no custom drawing for the arrow.
  • cdAdditional - this mode makes your drawing code execute after the arrow segments are drawn but before its Text is rendered.
  • cdFull - this mode executes just the custom drawing code and no standard rendering takes place.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.DestAnchor Property

Arrow.DestAnchor Property
[image]

Gets or sets the destination anchor point to which this arrow is attached.

Syntax

VB6 [image] Copy Code

Public Property Get DestAnchor() As Long
Public Property Let DestAnchor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_DestAnchor ()
void put_DestAnchor (
int value
)

Property Value

A long value. The default is -1.

Remarks

This property specifies an integer index of an anchor point within the AnchorPattern of the arrow's destination node. The arrow is docked to that point and stays connected to it when the node is moved or resized. A value of -1 specifies that the arrow isn't docked to any specific point of the AnchorPattern object.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
OrgnAnchor Property
DestinationBox Property
DestinationTable Property


FlowChartPro.Arrow.Destination Property

Arrow.Destination Property
[image]

Gets or sets the destination node of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Destination() As Object
Public Property Let Destination( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Destination ()
void put_Destination (
IDispatch* value
)

Property Value

A reference to a Box or Table instance.

Remarks

Arrow's destination can be changed programmatically using this property. If any of the connected nodes has an AnchorPattern defined, arrows ends are placed at the nearest anchor points of the two nodes. If AutoRoute is enabled, the arrow is routed when changing its origin or destination.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
DestinationType Property
Origin Property


FlowChartPro.Arrow.DestinationBox Property

Arrow.DestinationBox Property
[image]

Gets the box the arrow is pointing to.

Syntax

VB6 [image] Copy Code

Public Property Get DestinationBox() As Box

C++ [image] Copy Code

public:
Box* get_DestinationBox ()

Property Value

A reference to a Box instance.

Remarks

Returns the box to which the arrow's end point is linked; null reference (Nothing in Visual Basic) if the destination node is a table or if the arrow end point is not connected to a node.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
DestinationType Property
Destination Property
DestAnchor Property
FlowChart.AllowUnconnectedArrows Property


FlowChartPro.Arrow.DestinationTable Property

Arrow.DestinationTable Property
[image]

Gets the table the arrow is pointing to.

Syntax

VB6 [image] Copy Code

Public Property Get DestinationTable() As Table

C++ [image] Copy Code

public:
Table* get_DestinationTable ()

Property Value

A reference to a Table instance.

Remarks

Returns the table to which the arrow's end point is linked; null reference (Nothing in Visual Basic) if the destination node is a box or if the arrow end point is not connected to a node.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
DestinationType Property
Destination Property
DestAnchor Property
FlowChart.AllowUnconnectedArrows Property


FlowChartPro.Arrow.DestinationType Property

Arrow.DestinationType Property
[image]

Gets the type of the arrow's destination node.

Syntax

VB6 [image] Copy Code

Public Property Get DestinationType() As EActiveItem

C++ [image] Copy Code

public:
EActiveItem get_DestinationType ()

Property Value

A member of the EActiveItem enumeration.

Remarks

The returned value can be one of the following:

  • aiBox - if arrow destination node is a box;
  • aiTable - if arrow destination node is a table;
  • aiNone - if the arrow is not connected to a node;

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
DestinationBox Property
DestinationTable Property
OriginType Property
FlowChart.AllowUnconnectedArrows Property


FlowChartPro.Arrow.DestIndex Property

Arrow.DestIndex Property
[image]

Gets the index of arrow's destination anchor point or table row.

Syntax

VB6 [image] Copy Code

Public Property Get DestIndex() As Long

C++ [image] Copy Code

public:
int get_DestIndex ()

Property Value

A long value.

Remarks

If arrow's destination is a box, this property lets you know the index of the anchor point at which the arrow and the box are linked. If there is no AnchorPattern defined for the destination node, the property returns -1. If the arrow is linked to a table, the property returns the related table row.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Dynamic Property

Arrow.Dynamic Property
[image]

Gets or sets a value indicating whether an arrow should automatically adjust its end points in order to keep pointing to the centers of nodes that it connects.

Syntax

VB6 [image] Copy Code

Public Property Get Dynamic() As Boolean
Public Property Let Dynamic( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Dynamic ()
void put_Dynamic (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.DynamicArrows.

Remarks

If set to true, the property causes arrow-end points to update their positions while connected boxes are moved or resized. The update is made in such way that the line through the first two control points goes through the center of origin box while the line through the last two points goes through the center of destination box. End points are updated also when the control points next to last are moved around.

If Dynamic is set to false, the end points maintain their relative positions to the box that is moved or resized.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
AutoRoute Property
SnapToNodeBorder Property


FlowChartPro.Arrow.ExpectedDestination Property

Arrow.ExpectedDestination Property
[image]

Gets which node an arrow would be attached to if the RequestCreateArrow event is validated.

Syntax

VB6 [image] Copy Code

Public Property Get ExpectedDestination() As Object

C++ [image] Copy Code

public:
IDispatch* get_ExpectedDestination ()

Property Value

A reference to a Box or Table instance.

Remarks

This property is valid only in a RequestCreateArrow event handler. It holds a reference to the object that will become arrow's DestinationBox or DestinationTable if the arrow creation is validated.

Example

The following VB example demonstrates possible use of the property:

VB6 [image] Copy Code

Private Sub fc_RequestCreateArrow(ByVal arrow As FLOWCHARTLibCtl.IArrowItem, pbCreate As Boolean)

Dim box As FLOWCHARTLibCtl.box

If TypeOf arrow.ExpectedDestination Is box Then

Set box = arrow.ExpectedDestination

'I don't like red boxes
If box.FillColor = vbRed Then
pbCreate = False
End If

End If

If TypeOf arrow.ExpectedDestination Is Table Then

'ugh! table
pbCreate = False

End If

End Sub

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.FillColor Property

Arrow.FillColor Property
[image]

Gets or sets in what color to fill the interior of the arrowhead shapes.

Syntax

VB6 [image] Copy Code

Public Property Get FillColor() As Long
Public Property Let FillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FillColor ()
void put_FillColor (
unsigned int value
)

Property Value

A color object. Initialized with FlowChart.ArrowFillColor.

Remarks

This property defines the color of the arrowhead interior, assuming the arrowhead has any interior at all.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.FillColorAlpha Property

Arrow.FillColorAlpha Property
[image]

Gets or sets the alpha component of FillColor.

Syntax

VB6 [image] Copy Code

Public Property Get FillColorAlpha() As Integer
Public Property Let FillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FillColorAlpha ()
void put_FillColorAlpha (
short value
)

Property Value

A byte value. Initialized with FlowChart.ArrowFillColorAlpha.

Remarks

Specifies the alpha component of FillColor. Alpha values, ranging from 0 to 255, represent transparency to graphics already rendered behind arrowheads. 255 means no transparency at all; 0 means full transparency; all other values specify that alpha-blending should be used to mix FillColor with background pixels colors. Alpha-blending can be used only if the GDI+ graphics engine is enabled.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.Arrow.Font Property

Arrow.Font Property
[image]

Gets or sets the font used to draw the label text of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A font object. The default is null (Nothing in Visual Basic).

Remarks

Font used for rendering the arrow's Text. If it is not set, the flowchart's Font is used instead.

Note that non-proportional fonts, such as Courier or MS Sans Serif cannot zoom out well. The minimum size that can be assigned to such fonts is the smallest value shown in the 'Size' combo box in the standard font dialog. If your application allows scaling to ZoomFactor less than 100, we recommend using proportional fonts such as Arial, Courier New or Verdana.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.IgnoreLayout Property

Arrow.IgnoreLayout Property
[image]

Gets or sets a value indicating whether the automatic layout methods should consider this arrow when laying out the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get IgnoreLayout() As Boolean
Public Property Let IgnoreLayout( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_IgnoreLayout ()
void put_IgnoreLayout (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether the position of a diagram item can be changed by automatic layout methods. If enabled, the position of an item won't be changed.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Locked Property


FlowChartPro.Arrow.IntermArrowHead Property

Arrow.IntermArrowHead Property
[image]

Gets or sets what shape should be displayed at the middle of each segment of this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get IntermArrowHead() As EArrowHead
Public Property Let IntermArrowHead( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_IntermArrowHead ()
void put_IntermArrowHead (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration. Initialized with FlowChart.IntermArrowHead.

Remarks

Specifies a shape that is displayed in the middle of each arrow segment. Value can be one of the following: ahNone, ahArrow, ahTriangle, ahCircle, ahTetragon, ahRhombus, ahBowArrow. This shape is not valid for asBezier arrows.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.IntermHeadSize Property

Arrow.IntermHeadSize Property
[image]

Gets or sets the size of the IntermArrowHead shape.

Syntax

VB6 [image] Copy Code

Public Property Get IntermHeadSize() As Integer
Public Property Let IntermHeadSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_IntermHeadSize ()
void put_IntermHeadSize (
short value
)

Property Value

A short value. Initialized with FlowChart.IntermArrowHead.

Remarks

Specifies the size of the intermediate arrowheads.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Length Property

Arrow.Length Property
[image]

Returns the length of the arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Length() As Long

C++ [image] Copy Code

public:
int get_Length ()

Property Value

A long value.

Remarks

If the arrow's Style is set to asBezier, an approximate length is calculated. In that case, the approximate value is almost always slightly smaller than the real length of Bezier segments. The exact length is returned for arrows consisting of straight segments.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Segments Property


FlowChartPro.Arrow.Locked Property

Arrow.Locked Property
[image]

Gets or sets a value indicating whether users are allowed to modify this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Locked() As Boolean
Public Property Let Locked( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Locked ()
void put_Locked (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set the property to true when you want to prevent the user from modifying or moving an arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.OrgnAnchor Property

Arrow.OrgnAnchor Property
[image]

Gets or sets the origin anchor point to which this arrow is attached.

Syntax

VB6 [image] Copy Code

Public Property Get OrgnAnchor() As Long
Public Property Let OrgnAnchor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_OrgnAnchor ()
void put_OrgnAnchor (
int value
)

Property Value

A long value. The default is -1.

Remarks

This property specifies an integer index of an anchor point within the AnchorPattern of the arrow's origin node. The arrow is docked to that point and stays connected to it when the node is moved or resized. A value of -1 specifies that the arrow isn't docked to any specific point of the AnchorPattern object.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
DestAnchor Property
OriginBox Property
OriginTable Property


FlowChartPro.Arrow.OrgnIndex Property

Arrow.OrgnIndex Property
[image]

Gets the index of arrow's origin anchor point or table row.

Syntax

VB6 [image] Copy Code

Public Property Get OrgnIndex() As Long

C++ [image] Copy Code

public:
int get_OrgnIndex ()

Property Value

A long value.

Remarks

If an arrow's origin is box, this property lets you know the index of the anchor point at which the arrow and the box are linked. If there is no AnchorPattern defined for the origin node, the property returns -1. If the arrow is linked to a table, the property returns the related table row.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Origin Property

Arrow.Origin Property
[image]

Gets or sets the origin node of an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Origin() As Object
Public Property Let Origin( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Origin ()
void put_Origin (
IDispatch* value
)

Property Value

A reference to a Box or Table instance.

Remarks

Arrow's origin can be changed programmatically using this property. If any of the connected nodes has an AnchorPattern defined, arrows ends are placed at the nearest anchor points of the two nodes. If AutoRoute is enabled, the arrow is routed when changing its origin or destination.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
OriginType Property
Destination Property


FlowChartPro.Arrow.OriginBox Property

Arrow.OriginBox Property
[image]

Gets the box an arrow is coming out from.

Syntax

VB6 [image] Copy Code

Public Property Get OriginBox() As Box

C++ [image] Copy Code

public:
Box* get_OriginBox ()

Property Value

A reference to a Box instance.

Remarks

Reference to the box from which the arrow comes out; null reference (Nothing in Visual Basic) if the origin node is a table or if the arrow origin is not connected to a node.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
OriginType Property
Origin Property
OrgnAnchor Property
AllowUnconnectedArrows Property


FlowChartPro.Arrow.OriginTable Property

Arrow.OriginTable Property
[image]

Gets the table an arrow is coming out from.

Syntax

VB6 [image] Copy Code

Public Property Get OriginTable() As Table

C++ [image] Copy Code

public:
Table* get_OriginTable ()

Property Value

A reference to a Table instance.

Remarks

Reference to the table from which the arrow comes out; null reference (Nothing in Visual Basic) if the origin node is a box or if the arrow origin is not connected to a node.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
OriginType Property
Origin Property
OrgnAnchor Property
AllowUnconnectedArrows Property


FlowChartPro.Arrow.OriginType Property

Arrow.OriginType Property
[image]

Gets the type of the arrow's origin node.

Syntax

VB6 [image] Copy Code

Public Property Get OriginType() As EActiveItem

C++ [image] Copy Code

public:
EActiveItem get_OriginType ()

Property Value

A member of the EActiveItem enumeration.

Remarks

Indicates the type of arrow's origin:

  • aiBox - if the origin node is a box;
  • aiTable - if the origin node is a table;
  • aiNone - if the arrow is not connected to a node;

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
OriginBox Property
OriginTable Property
DestinationType Property
FlowChart.AllowUnconnectedArrows Property


FlowChartPro.Arrow.PenStyle Property

Arrow.PenStyle Property
[image]

Gets or sets the dash style of the pen used to draw the arrow lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenStyle() As EPenStyle
Public Property Let PenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PenStyle ()
void put_PenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration.

Remarks

Specifies dash style for the pen used to paint arrow's segments and arrowhead outlines. The following values are currently supported: psSolid, psDash, psDot, psDashDot, psDashDotDot. Non-solid dash styles are ignored by the classic Graphics engine if PenWidth is greater than 1.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.PenWidth Property

Arrow.PenWidth Property
[image]

Gets or sets the width of the pen used to draw the arrow lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenWidth() As Long
Public Property Let PenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PenWidth ()
void put_PenWidth (
int value
)

Property Value

A long value.

Remarks

Gets or sets the width of the pen used to paint arrow's segments and arrowhead outlines.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Printable Property

Arrow.Printable Property
[image]

Gets or sets a value indicating whether this arrow should be drawn on paper when printing.

Syntax

VB6 [image] Copy Code

Public Property Get Printable() As Boolean
Public Property Let Printable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Printable ()
void put_Printable (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether an arrow is to be rendered during print or print-preview operations.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.PrintDiagram Method
FlowChart.PreviewDiagram Method


FlowChartPro.Arrow.PrpHorzFirst Property

Arrow.PrpHorzFirst Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get PrpHorzFirst() As Boolean
Public Property Let PrpHorzFirst( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_PrpHorzFirst ()
void put_PrpHorzFirst (
bool value
)

Property Value

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.PrpStartOrientation Property

Arrow.PrpStartOrientation Property
[image]

Gets or sets the orientation of the first segment of a cascading arrow.

Syntax

VB6 [image] Copy Code

Public Property Get PrpStartOrientation() As EPrpStartOrientation
Public Property Let PrpStartOrientation( _
ByVal Value As EPrpStartOrientation _
)

C++ [image] Copy Code

public:
EPrpStartOrientation get_PrpStartOrientation ()
void put_PrpStartOrientation (
EPrpStartOrientation value
)

Property Value

A member of the EPrpStartOrientation enumeration. Initialized with FlowChart.PrpArrowStartOrnt.

Remarks

Use this property to specify the orientation of the first segment of an arrow whose Style is set to asPerpendicular. Such arrows comprise a cascade of horizontal and vertical segments, where every segment is orthogonal to its neighbors. The orientation of the first segment defines the orientation of all other segments in the cascade, because each next segment changes its orientation alternately to the previous one.

If the property is set to soAuto, users may change the orientation of a cascading arrow interactively. That can be done by dragging the control point next to the first or last one to its opposite corner in the rectangle defined by its two adjacent segments. Depending on the value of ArrowsSplittable, the arrow orientation is changed by either inserting a new segment and changing only the orientation of the first or last segment (ArrowsSplittable is true), or by changing the orientation of all segments of the arrow (ArrowsSplittable is false).

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Rigid Property

Arrow.Rigid Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Rigid() As Boolean
Public Property Let Rigid( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Rigid ()
void put_Rigid (
bool value
)

Property Value

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Segments Property

Arrow.Segments Property
[image]

Gets or sets the number of segments an arrow has.

Syntax

VB6 [image] Copy Code

Public Property Get Segments() As Integer
Public Property Let Segments( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_Segments ()
void put_Segments (
short value
)

Property Value

A short value. Initialized with FlowChart.ArrowSegments.

Remarks

Gets or sets the number of segments in an arrow. Arrows whose Style is set to asPerpendicular require at least two segments. Reflexive arrows are composed of at least 3 segments if their style is not set to asBezier. Routing and layout algorithms can implicitly change the number of segments.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Length Property
AutoRoute Property
FlowChart.ArrangeDiagram Method


FlowChartPro.Arrow.Selected Property

Arrow.Selected Property
[image]

Gets a value indicating whether this arrow is selected.

Syntax

VB6 [image] Copy Code

Public Property Get Selected() As Boolean

C++ [image] Copy Code

public:
bool get_Selected ()

Property Value

A boolean value.

Remarks

true if the arrow is selected no matter alone or in multiple-selection.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.SelStyle Property

Arrow.SelStyle Property
[image]

Gets or sets a value that indicates the style of the arrow's selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get SelStyle() As ESelStyle
Public Property Let SelStyle( _
ByVal Value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_SelStyle ()
void put_SelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration.

Remarks

Specifies how arrow's selection status is indicated visually. You can choose between the following styles:

sstSquareHandles | The selection is indicated by drawing square handles at the position of each control point.
sstDashFrame | The selection is indicated by drawing dashed line segments along the arrow's segments. In addition, there are square selection handles drawn at the location of each control point of the arrow.
sstCustom | FlowChartX raises the DrawSelHandles events to let your application perform custom drawing of arrow's selection handles.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
ArrowSelStyle Property


FlowChartPro.Arrow.ShadowOffsetX Property

Arrow.ShadowOffsetX Property
[image]

Gets or sets the horizontal offset of a shadow from the arrow that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetX() As Long
Public Property Let ShadowOffsetX( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetX ()
void put_ShadowOffsetX (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetX.

Remarks

Sets horizontal offset of the arrow shadow in relation to the arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ShadowOffsetY Property

Arrow.ShadowOffsetY Property
[image]

Gets or sets the vertical offset of a shadow from the arrow that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetY() As Long
Public Property Let ShadowOffsetY( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetY ()
void put_ShadowOffsetY (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetY.

Remarks

Sets vertical offset of the arrow shadow in relation to the arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.SnapToNodeBorder Property

Arrow.SnapToNodeBorder Property
[image]

Gets or sets a value indicating whether the arrow end points should automatically align to node borders while a user moves them.

Syntax

VB6 [image] Copy Code

Public Property Get SnapToNodeBorder() As Boolean
Public Property Let SnapToNodeBorder( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SnapToNodeBorder ()
void put_SnapToNodeBorder (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.ArrowsSnapToNodeBorders.

Remarks

If this property is enabled and a user drags an end control point of an arrow, the control point snaps to the border lines of target nodes. That prevents the user from placing arrow's end point inside the interior of a node.

Another way to control where arrow end points can be placed is provided by the AnchorPattern property of boxes.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Style Property

Arrow.Style Property
[image]

Gets or sets the type of arrow segments and how they are positioned one relatively to another.

Syntax

VB6 [image] Copy Code

Public Property Get Style() As EArrowStyle
Public Property Let Style( _
ByVal Value As EArrowStyle _
)

C++ [image] Copy Code

public:
EArrowStyle get_Style ()
void put_Style (
EArrowStyle value
)

Property Value

A member of the EArrowStyle enumeration. Initialized with FlowChart.ArrowStyle.

Remarks

Defines the shape of an arrow. Possible values are listed below. Arrow's style can be implicitly changed by ArrangeDiagram.

  • asBezier - the arrow is composed of Bezier curves.
  • asPolyline - the arrow is composed of straight segments.
  • asPerpendicular - the arrow is composed of straight segments, each segment is orthogonal to its neighbors.
  • asSpline - the segments of a link are curves forming an interpolating spline that passes through all control points.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Segments Property


FlowChartPro.Arrow.SubordinateGroup Property

Arrow.SubordinateGroup Property
[image]

Gets a reference to the group of objects that are attached to this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get SubordinateGroup() As Group

C++ [image] Copy Code

public:
Group* get_SubordinateGroup ()

Property Value

A reference to a Group object.

Remarks

Holds a reference to the group of which this arrow is the main object. The property equals to null (Nothing in Visual Basic) if there is no group attached to the arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Tag Property

Arrow.Tag Property
[image]

Gets or sets a custom integer value associated with this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Tag() As Long
Public Property Let Tag( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Tag ()
void put_Tag (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data; its value is not used by FlowChartX in any way. Possible usage might be to store an integer identifier or a pointer to a larger structure.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Text Property

Arrow.Text Property
[image]

Gets or sets the text displayed over an arrow.

Syntax

VB6 [image] Copy Code

Public Property Get Text() As String
Public Property Let Text( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Text ()
void put_Text (
BSTR value
)

Property Value

A string value. Initialized with FlowChart.ArrowText.

Remarks

Gets or sets the text associated with the arrow. That text is painted as specified in TextStyle using the color set in TextColor.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
AddLabel Method


FlowChartPro.Arrow.TextColor Property

Arrow.TextColor Property
[image]

Gets or sets the color in which the arrow text will be drawn.

Syntax

VB6 [image] Copy Code

Public Property Get TextColor() As Long
Public Property Let TextColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TextColor ()
void put_TextColor (
unsigned int value
)

Property Value

A color object.

Remarks

Color of the arrow's Text.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.TextStyle Property

Arrow.TextStyle Property
[image]

Gets or sets the alignment of the arrow's Text.

Syntax

VB6 [image] Copy Code

Public Property Get TextStyle() As EArrowTextStyle
Public Property Let TextStyle( _
ByVal Value As EArrowTextStyle _
)

C++ [image] Copy Code

public:
EArrowTextStyle get_TextStyle ()
void put_TextStyle (
EArrowTextStyle value
)

Property Value

A member of the EArrowTextStyle enumeration. Initialized with FlowChart.ArrowTextStyle.

Remarks

The following values from the EArrowTextStyle enumeration can be assigned to this property:

atsCenter | The text is displayed horizontally above the middle arrow segment or control point, depending on whether there are an odd or even number of segments.
atsRotate | The text is displayed rotated parallelly to the segment where the text is placed. A long enough segment from the middle arrow segments is chosen for that purpose. Note: Text rotation is supported only by the GDI+ Graphics engine.
atsOverLongestSegment | The text follows the longest arrow segment and is displayed centered at the segment's middle point.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
Text Property
TextColor Property


FlowChartPro.Arrow.ToolTip Property

Arrow.ToolTip Property
[image]

Gets or sets a text message displayed when the mouse pointer rests over this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTip() As String
Public Property Let ToolTip( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_ToolTip ()
void put_ToolTip (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Sets or gets the text to be displayed as a tool-tip if the mouse pointer stays for a while over an arrow. To get multi-lined tool-tips, specify a string containing standard EOL line dividers.

See Also

Arrow Members
Arrow Class
FlowChartPro Namespace
FlowChart.ToolTipDelay Property
FlowChart.ShowToolTips Property


FlowChartPro.Arrow.UserData Property

Arrow.UserData Property
[image]

Gets or sets a custom integer value associated with this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get UserData() As Long
Public Property Let UserData( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_UserData ()
void put_UserData (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data that is not used by FlowChartX in any way. Possible usage includes storing some integer identifier or a pointer to a larger structure.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.UserString Property

Arrow.UserString Property
[image]

Gets or sets a custom string value associated with this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get UserString() As String
Public Property Let UserString( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_UserString ()
void put_UserString (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

User-defined string that is not used by FlowChartX in any way. Possible usage includes storing a string identifier or a hidden text associated with the arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.VariantTag Property

Arrow.VariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with this arrow.

Syntax

VB6 [image] Copy Code

Public Property Get VariantTag() As Object
Public Property Let VariantTag( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_VariantTag ()
void put_VariantTag (
IDispatch* value
)

Property Value

A COM VARIANT structure.

Remarks

Contains user defined data that can be represented with a VARIANT structure. The property is serialized when saving files if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANT objects.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Visible Property

Arrow.Visible Property
[image]

Gets or sets a value indicating whether this arrow should be drawn on the screen.

Syntax

VB6 [image] Copy Code

Public Property Get Visible() As Boolean
Public Property Let Visible( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Visible ()
void put_Visible (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

You can make arrows completely invisible using this property. Note that collapsing / expanding of box hierarchical structures is implemented by setting the child boxes and their connecting arrows respectively invisible / visible. Thus, you can use this property to determine if collapsing a tree hid an arrow.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.Weight Property

Arrow.Weight Property
[image]

Gets or sets a weight value used in layout and path-finding algorithms.

Syntax

VB6 [image] Copy Code

Public Property Get Weight() As Single
Public Property Let Weight( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_Weight ()
void put_Weight (
float value
)

Property Value

A float value specifying the weight of this item. The default value is 1.

Remarks

Currently link weights are used in the implementation of the SpringLayout class. The weight of a link connecting two nodes is multiplied by the desired NodeDistance to determine the final distance between the nodes.

See Also

Arrow Members
Arrow Class


FlowChartPro.Arrow.ZIndex Property

Arrow.ZIndex Property
[image]

Gets or sets the drawing order of this arrow within the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get ZIndex() As Long
Public Property Let ZIndex( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ZIndex ()
void put_ZIndex (
int value
)

Property Value

A long value.

Remarks

Holds the index of an arrow in the Z order. Its value can vary from 0 to 'number of items in the document - 1'.

See Also

Arrow Members
Arrow Class


FlowChartPro.ArrowLabel Class

ArrowLabel Class
Remarks See Also
[image]

Represents a label displayed by an Arrow. New labels can be added to the arrow by calling its AddLabel method.

Syntax

C# [image] Copy Code

public class ArrowLabel : __ComObject, IArrowLabel, ArrowLabel

Visual Basic [image] Copy Code

Public Class ArrowLabel
Inherits __ComObject
Implements IArrowLabel, ArrowLabel

VB6 [image] Copy Code

Public Class ArrowLabel

C++ [image] Copy Code

class ArrowLabel

Remarks

The text displayed by an ArrowLabel is set via the Text property, and its attributes are specified via Font. The label's foreground and background can be set via TextColor and BackColor properties.

The target position of a label along link segments is specified through RelativeTo and Index, and offset from that position via HorizontalOffset and VerticalOffset properties. Instead of using fixed offsets, enable the AutoArrange property to let links automatically choose positions of their labels that won't intersect nodes or other labels.

See Also

ArrowLabel Members


FlowChartPro.ArrowLabel Members

ArrowLabel Members
Constructors Properties Methods
[image]

Represents a label displayed by an Arrow. New labels can be added to the arrow by calling its AddLabel method.

The following tables list the members exposed by the ArrowLabel type.

Public Constructors

Name | Description
ArrowLabel |

Public Properties

Name | Description
Arrow | Gets the Arrow that displays this label.
AutoArrange | Gets or sets a value indicating whether the label can be auto arranged.
BackColor | A color used to paint the label's background.
EnableWrap | Gets or sets a value indicating whether the label's text can be wrapped.
Font | Gets or sets the label's font.
HorizontalAlign | Gets or sets the label's horizontal alignment.
HorizontalOffset | Gets or sets the label's horizontal offset.
Index | Gets or sets the index of the segment or control point this label is relative to.
Margin | Gets or sets the label's margin.
MaxWidth | Gets or sets the maximum width of the label.
RelativeTo | Gets or sets the label's relative positioning.
Text | Gets or sets the label's text.
TextColor | Gets or sets the color used to draw the label's text.
VerticalAlign | Gets or sets the label's vertical alignment.
VerticalOffset | Gets or sets the label's vertical offset.

Public Methods

Name | Description
SetControlPointPosition | Positions this label relatively to the specified control point.
SetLinkLengthPosition | Positions this label relatively to the arrow's length.
SetSegmentPosition | Positions this label relatively to the specified link segment.

See Also

ArrowLabel Class


FlowChartPro.ArrowLabel Constructor

ArrowLabel Constructor
[image]

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
ArrowLabel ()

See Also

ArrowLabel Class


FlowChartPro.ArrowLabel Methods

ArrowLabel Methods
[image]

Public Methods

Name | Description
SetControlPointPosition | Positions this label relatively to the specified control point.
SetLinkLengthPosition | Positions this label relatively to the arrow's length.
SetSegmentPosition | Positions this label relatively to the specified link segment.

See Also

ArrowLabel Class


FlowChartPro.ArrowLabel.SetControlPointPosition Method

ArrowLabel.SetControlPointPosition Method
[image]

Positions this label relatively to the specified control point.

Syntax

VB6 [image] Copy Code

Public Sub SetControlPointPosition( _
ByVal controlPoint As Long, _
ByVal dx As Single, _
ByVal dy As Single _
)

C++ [image] Copy Code

public:
void SetControlPointPosition (
int controlPoint,
float dx,
float dy
)

Parameters

controlPoint

The control point index.

dx

Horizontal offset from the point.

dy

Vertical offset from the point.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.SetLinkLengthPosition Method

ArrowLabel.SetLinkLengthPosition Method
[image]

Positions this label relatively to the arrow's length.

Syntax

VB6 [image] Copy Code

Public Sub SetLinkLengthPosition( _
ByVal lengthFactor As Single _
)

C++ [image] Copy Code

public:
void SetLinkLengthPosition (
float lengthFactor
)

Parameters

lengthFactor

A value between 0 and 1 specifying the position of the label relatively to the arrow's length.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.SetSegmentPosition Method

ArrowLabel.SetSegmentPosition Method
[image]

Positions this label relatively to the specified link segment.

Syntax

VB6 [image] Copy Code

Public Sub SetSegmentPosition( _
ByVal segment As Long, _
ByVal dx As Single, _
ByVal dy As Single _
)

C++ [image] Copy Code

public:
void SetSegmentPosition (
int segment,
float dx,
float dy
)

Parameters

segment

The segment index.

dx
Horizontal offset from the segment center.
dy

Vertical offset from the segment center.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel Properties

ArrowLabel Properties
[image]

Public Properties

Name | Description
Arrow | Gets the Arrow that displays this label.
AutoArrange | Gets or sets a value indicating whether the label can be auto arranged.
BackColor | A color used to paint the label's background.
EnableWrap | Gets or sets a value indicating whether the label's text can be wrapped.
Font | Gets or sets the label's font.
HorizontalAlign | Gets or sets the label's horizontal alignment.
HorizontalOffset | Gets or sets the label's horizontal offset.
Index | Gets or sets the index of the segment or control point this label is relative to.
Margin | Gets or sets the label's margin.
MaxWidth | Gets or sets the maximum width of the label.
RelativeTo | Gets or sets the label's relative positioning.
Text | Gets or sets the label's text.
TextColor | Gets or sets the color used to draw the label's text.
VerticalAlign | Gets or sets the label's vertical alignment.
VerticalOffset | Gets or sets the label's vertical offset.

See Also

ArrowLabel Class


FlowChartPro.ArrowLabel.Arrow Property

ArrowLabel.Arrow Property
[image]

Gets the Arrow that displays this label.

Syntax

VB6 [image] Copy Code

Public Property Get Arrow() As Arrow

C++ [image] Copy Code

public:
Arrow* get_arrow ()

Property Value

An Arrow instance.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.AutoArrange Property

ArrowLabel.AutoArrange Property
[image]

Gets or sets a value indicating whether the label can be auto arranged.

Syntax

VB6 [image] Copy Code

Public Property Get AutoArrange() As Boolean
Public Property Let AutoArrange( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AutoArrange ()
void put_AutoArrange (
bool value
)

Property Value

true to automatically place the label; otherwise, false.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.BackColor Property

ArrowLabel.BackColor Property
[image]

A color used to paint the label's background.

Syntax

C# [image] Copy Code

public virtual uint BackColor { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property BackColor As UInteger

Property Value

An OLE_COLOR value specifying the background. The default is transparent color.

See Also

ArrowLabel Members
ArrowLabel Class
FlowChartPro Namespace
TextColor Property


FlowChartPro.ArrowLabel.EnableWrap Property

ArrowLabel.EnableWrap Property
[image]

Gets or sets a value indicating whether the label's text can be wrapped.

Syntax

VB6 [image] Copy Code

Public Property Get EnableWrap() As Boolean
Public Property Let EnableWrap( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableWrap ()
void put_EnableWrap (
bool value
)

Property Value

true to enable text wrapping; otherwise, false.

Remarks

The label gets wrapped to a new line if it is longer than the MaxWidth value.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.Font Property

ArrowLabel.Font Property
[image]

Gets or sets the label's font.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A Font object.

Remarks

This property can be null (Nothing in Visual Basic) in which case the label will use the Font of its parent arrow.

See Also

ArrowLabel Members
ArrowLabel Class
FlowChartPro Namespace
Text Property


FlowChartPro.ArrowLabel.HorizontalAlign Property

ArrowLabel.HorizontalAlign Property
[image]

Gets or sets the label's horizontal alignment.

Syntax

VB6 [image] Copy Code

Public Property Get HorizontalAlign() As EStringAlignment
Public Property Let HorizontalAlign( _
ByVal value As EStringAlignment _
)

C++ [image] Copy Code

public:
EStringAlignment get_HorizontalAlign ()
void put_HorizontalAlign (
EStringAlignment value
)

Property Value

A member of the EStringAlignment enumeration. The default is saCenter.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.HorizontalOffset Property

ArrowLabel.HorizontalOffset Property
[image]

Gets or sets the label's horizontal offset.

Syntax

VB6 [image] Copy Code

Public Property Get HorizontalOffset() As Single
Public Property Let HorizontalOffset( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_HorizontalOffset ()
void put_HorizontalOffset (
float value
)

Property Value

A float value.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.Index Property

ArrowLabel.Index Property
[image]

Gets or sets the index of the segment or control point this label is relative to.

Syntax

VB6 [image] Copy Code

Public Property Get Index() As Long
Public Property Let Index( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Index ()
void put_Index (
int value
)

Property Value

An integer value.

See Also

ArrowLabel Members
ArrowLabel Class
FlowChartPro Namespace
RelativeTo Property


FlowChartPro.ArrowLabel.Margin Property

ArrowLabel.Margin Property
[image]

Gets or sets the label's margin.

Syntax

VB6 [image] Copy Code

Public Property Get Margin() As Long
Public Property Let Margin( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Margin ()
void put_Margin (
int value
)

Property Value

A float value.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.MaxWidth Property

ArrowLabel.MaxWidth Property
[image]

Gets or sets the maximum width of the label.

Syntax

VB6 [image] Copy Code

Public Property Get MaxWidth() As Long
Public Property Let MaxWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_MaxWidth ()
void put_MaxWidth (
int value
)

Property Value

A float value specifying the maximum label width.

Remarks

This property is considered when EnableWrap is set to true.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.RelativeTo Property

ArrowLabel.RelativeTo Property
[image]

Gets or sets the label's relative positioning.

Syntax

VB6 [image] Copy Code

Public Property Get RelativeTo() As ERelativeToLink
Public Property Let RelativeTo( _
ByVal value As ERelativeToLink _
)

C++ [image] Copy Code

public:
ERelativeToLink get_RelativeTo ()
void put_RelativeTo (
ERelativeToLink value
)

Property Value

A member of the ERelativeToLink enumeration. The default is rtlLinkLength.

Remarks

If RelativeTo is set to rtlSegment or rtlControlPoint, the label is aliged to the arrow's segment or point whose index is assigned to the Index property.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.Text Property

ArrowLabel.Text Property
[image]

Gets or sets the label's text.

Syntax

VB6 [image] Copy Code

Public Property Get Text() As String
Public Property Let Text( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Text ()
void put_Text (
BSTR value
)

Property Value

A string value.

See Also

ArrowLabel Members
ArrowLabel Class
FlowChartPro Namespace
Font Property
TextColor Property


FlowChartPro.ArrowLabel.TextColor Property

ArrowLabel.TextColor Property
[image]

Gets or sets the color used to draw the label's text.

Syntax

VB6 [image] Copy Code

Public Property Get TextColor() As Long
Public Property Let TextColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TextColor ()
void put_TextColor (
unsigned int value
)

Property Value

An OLE_COLOR value specifying the color.

See Also

ArrowLabel Members
ArrowLabel Class
FlowChartPro Namespace
Text Property
BackColor Property


FlowChartPro.ArrowLabel.VerticalAlign Property

ArrowLabel.VerticalAlign Property
[image]

Gets or sets the label's vertical alignment.

Syntax

VB6 [image] Copy Code

Public Property Get VerticalAlign() As EStringAlignment
Public Property Let VerticalAlign( _
ByVal value As EStringAlignment _
)

C++ [image] Copy Code

public:
EStringAlignment get_VerticalAlign ()
void put_VerticalAlign (
EStringAlignment value
)

Property Value

A member of the EStringAlignment enumeration. The default is saFar.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.ArrowLabel.VerticalOffset Property

ArrowLabel.VerticalOffset Property
[image]

Gets or sets the label's vertical offset.

Syntax

VB6 [image] Copy Code

Public Property Get VerticalOffset() As Single
Public Property Let VerticalOffset( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_VerticalOffset ()
void put_VerticalOffset (
float value
)

Property Value

A float value.

See Also

ArrowLabel Members
ArrowLabel Class


FlowChartPro.Box Class

Box Class
Remarks See Also
[image]

The Box class represents diagram nodes that can have distinct shapes. Boxes might represent nodes in a graph, tree, process diagram, etc.

Syntax

VB6 [image] Copy Code

Public Class Box

C++ [image] Copy Code

class Box

Remarks

The shape of a box is specified via the Style property. Style value can be set to a member of the EBoxStyle enumeration, which provides several simple shape styles such as Ellipse and Rectangle. If Style is set to bsShape, a more elaborate shape can be assigned to a box through the Shape property. The latter style also lets boxes to be rotated, either interactively using the rotation handle above the box, or programmatically using the RotationAngle property.

Boxes can have incoming and outgoing arrows attached, which are accessible through the IncomingArrows and OutgoingArrows collections. The points from which arrows are allowed to go out from a box or come into a box can be defined via AnchorPattern.

Constraints upon how users are allowed to modify a box are set through the Constraints and MnpHandlesMask properties. The former specifies constraints on move direction and box size. The latter enables or disables specific manipulation handles of the box.

A text string can be associated with a box via the Text property. That string is painted using the box' Font and TextColor. Control over the placement and layout of the text is provided by the TextStyle property. Laying out text in non-rectangular box outlines and using styled text is possible for boxes whose Style is set to bsShape or bsPolygon. The EnableStyledText property allows using HTML-like formatting tags to apply various attributes to any part of the text string. Use PlainText to get text without the embedded formatting tags. The FitSizeToText method resizes a box so that it is just big enough to contain its text entirely.

The border and decoration lines of a box are drawn with the colors set in FrameColor and DecorationColor. The box is filled according to the values of FillStyle, FillColor and FillColor2. The box could display an image as specified in Picture and PicturePos. The shadow offset can be changed through ShadowOffsetX and ShadowOffsetY. A box can be made Transparent to have only its text or picture visible, or it can be completely hidden by setting Visible to false.

A box can be partially or fully custom-drawn, as specified via the CustomDraw property. Handle the CustomDraw event to draw the custom visual elements of a box. Call the Repaint method to redraw a custom-drawn box after its related data changes. You can also use that method to create animations.

Boxes can form hierarchical structures that can be expanded or collapsed by a user or programmatically. That is controlled via the following methods and properties: Collapse, Expand, Expandable, Expanded.

User data can be attached to a box via the Tag and VariantTag properties.

See Also

Box Members


FlowChartPro.Box Members

Box Members
Properties Methods
[image]

The Box class represents diagram nodes that can have distinct shapes. Boxes might represent nodes in a graph, tree, process diagram, etc.

The following tables list the members exposed by the Box type.

Public Properties

Name | Description
AllowContainment | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether users are allowed to put this box in a container.
AllowFlip | Gets or sets a value indicating whether the node's shape flips when an edge is dragged over its opposite edge.
AllowIncomingArrows | Gets or sets a value indicating whether users are allowed to draw incoming arrows to this box.
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this box.
AllowOutgoingArrows | Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this box.
AnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to this box.
AutoResizeContainer | Gets or sets a value indicating whether container boxes should resize automatically to fit their children.
AxControl | ( [image] a feature of FlowChartX Pro edition) Gets a reference to the ActiveX control hosted in this box.
AxControlId | Gets or sets the type of the ActiveX control hosted in this box.
AxRawPtr | ( [image] a feature of FlowChartX Pro edition) Gets the raw IUnknown interface pointer to the ActiveX control hosted in this box.
Bottom | Gets the Y coordinate of the bottom side of the box bounding rectangle.
Constraints | Gets or sets the constraints applied to the location and size of this box.
ContainedItems | ( [image] a feature of FlowChartX Pro edition) Gets the list of items contained in the box.
ControlActivation | Gets or sets a value indicating how the ActiveX control hosted in this box is activated.
CustomDraw | Gets or sets the type of custom drawing performed on this box.
DecorationColor | Gets or sets the color of the decoration lines that are defined for the Shape of this box.
EnableStyledText | Gets or sets a value indicating whether styled text rendering is enabled.
Expandable | Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from the box.
Expanded | Gets or sets a value indicating whether the tree that starts from this box is expanded or collapsed.
FeedbackColor | Gets or sets the color of the box feedback frame.
FeedbackPenStyle | Gets or sets the line style of the box feedback frame.
FeedbackPenWidth | Gets or sets the width of the box feedback frame.
FillColor | Gets or sets the color used to fill the box interior.
FillColor2 | Gets or sets a color used to fill the box interior with a gradient.
FillColorAlpha | Gets or sets a value defining the transparency of the box fill color.
FillStyle | Gets or sets the gradient mode used to fill the interior of this box.
FlipX | Gets or sets a value indicating whether the node's shape is flipped horizontally.
FlipY | Gets or sets a value indicating whether the node's shape is flipped vertically.
Font | Gets or sets the font used to render the text of this box.
FrameColor | Gets or sets the color of the pen used to draw the box border lines.
FrameColorAlpha | Gets or sets the transparency of the box border.
HyperLink | Gets or sets the hyperlink associated with this box.
IgnoreLayout | Gets or sets a value indicating whether the position of this box can be changed by automatic layout methods.
IncmAnchor | Gets or sets at which anchor points incoming arrows are allowed to connect.
IncomingArrows | Gets the collection of arrows that enter into this box.
LayoutGap | ( [image] a feature of FlowChartX Pro edition) Gets or sets the amount of space between items in a container box.
LayoutStyle | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating how the items in a container box are laid out.
Left | Gets the X coordinate of the left side of the box bounding rectangle.
Locked | Gets or sets a value indicating whether users are allowed to select and modify this box.
MasterGroup | Gets a reference to the group to which the box is attached.
MnpHandlesMask | Gets or sets what modifications can be applied to a box through its selection handles.
Obstacle | Gets or sets a value indicating whether this box should be considered an obstacle by the arrow-routing algorithm.
OutgAnchor | Gets or sets at which anchor points outgoing arrows are allowed to connect.
OutgoingArrows | Gets a collection of arrows that go out from this box.
PenStyle | Gets or sets the style of the pen used to draw the box frame lines.
PenWidth | Gets or sets the width of the pen used to draw the box frame lines.
Picture | Gets or sets the image displayed inside the box.
PicturePos | Gets or sets the alignment and stretch mode of the box Picture.
PlainText | Gets the plain text of this box.
Printable | Gets or sets a value indicating whether this box is drawn on paper when printing.
Right | Gets the X coordinate of the right side of the box bounding rectangle.
RotateContents | Gets or sets a value indicating whether the Picture is rotated when the box is rotated.
RotateText | Gets or sets a value indicating whether the text in a box is rotated when the box is rotated.
RotationAngle | Gets or sets the angle at which this box is rotated.
Selected | Gets a value indicating whether the box is selected.
SelStyle | Gets or sets a value indicating how box selection handles behave and what they look like.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the box that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the box that casts it.
Shape | Gets or sets the shape of a box whose Style is set to bsShape.
ShapeOrientation | Gets or sets a shape rotation applied when calculating the shape vertex coordinates inside the box bounding rectangle.
Style | Gets or sets the style of this box.
SubordinateGroup | Gets a reference to the group of objects that are attached to this box.
Tag | Gets or sets a custom integer value associated with this box.
Text | Gets or sets the text to display inside this box.
TextAntiAliasing | Gets or sets the type of text anti aliasing.
TextColor | Gets or sets the color used to draw the box' Text.
TextStyle | Gets or sets the alignment style of the box' Text.
ToolTip | Gets or sets a short text message displayed when the mouse pointer rests over this box.
Top | Gets the Y coordinate of the top side of the box bounding rectangle.
Transparent | Gets or sets a value indicating whether the box frame lines and interior should be painted.
UserData | Gets or sets a custom integer value associated with this box.
UserString | Gets or sets a custom string value associated with this box.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this box.
Visible | Gets or sets value indicating whether this box is visible.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
WindowFrame | Gets or sets the border style of the window in which a hosted ActiveX control resides.
ZIndex | Gets or sets the position of this box in the Z order.

Public Methods

Name | Description
ActivateControl | ( [image] a feature of FlowChartX Pro edition) Activates the ActiveX control hosted in this box.
AddAeroEffect | Adds an Aero effect to this box.
AddGlassEffect | Adds a Glass effect to this box.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the text of this box.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Starts recording modifications made to this box for later undo.
BindToControl | ( [image] a feature of FlowChartX Pro edition) Binds a Windows control or a VB control to this box.
BoundingRect | Gets the box bounding rectangle coordinates.
ClearEffects | Removes all effects from this box.
Clone | Creates a copy of this box.
Collapse | Collapses the tree branch that starts from this box.
DeactivateControl | ( [image] a feature of FlowChartX Pro edition) Deactivates the ActiveX control hosted in this box.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stops tracking modifications made to the box and adds a modification record to the undo queue.
Expand | Expands the tree branch that starts from this box.
FitSizeToPicture | Makes the box as big as the picture assigned to it.
FitSizeToText | Makes the box big enough so that its text is entirely visible.
GetCBox |
GetShape | Returns the id of a shape from custom shape library if one is assigned to this box.
LoadPicFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to the box' Picture.
LoadPicture | Loads an image from the specified file and assigns it to the box' Picture.
LoadPredefShape | Loads a predefined polygonal shape definition and assigns it to this box.
MoveTo | Moves the box to the specified location.
PutInContainer | ( [image] a feature of FlowChartX Pro edition) Puts this box into a container box.
RemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Removes this box from its container.
Repaint | Forces the box to redraw itself.
ResizeToFitChildren | ( [image] a feature of FlowChartX Pro edition) Resizes a container box to fit its child nodes.
SetPolyShape | Sets the shape of box whose style is set to bsPolygon.
SetPolyShapeArray | Sets the shape of box whose style is set to bsPolygon.
SetRect | Sets the box' location and size.
SetShape | ( [image] a feature of FlowChartX Pro edition) Sets the shape of a box whose style is set to bsLibShape.
SetSize | Sets the size of this box.
SetTextPadding | Sets padding space between the box boundaries and text.
TextFits | Checks if node's text fits within the node's geometry.
Unbind | ( [image] a feature of FlowChartX Pro edition) Unbinds the window currently bound to this box.
ZBottom | Moves the box to the bottom of the Z order.
ZLevelDown | Moves the box one position down in the Z order.
ZLevelUp | Moves the box one position up in the Z order.
ZTop | Moves the box to the top of the Z order.

See Also

Box Class


FlowChartPro.Box Methods

Box Methods
[image]

Public Methods

Name | Description
ActivateControl | ( [image] a feature of FlowChartX Pro edition) Activates the ActiveX control hosted in this box.
AddAeroEffect | Adds an Aero effect to this box.
AddGlassEffect | Adds a Glass effect to this box.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the text of this box.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Starts recording modifications made to this box for later undo.
BindToControl | ( [image] a feature of FlowChartX Pro edition) Binds a Windows control or a VB control to this box.
BoundingRect | Gets the box bounding rectangle coordinates.
ClearEffects | Removes all effects from this box.
Clone | Creates a copy of this box.
Collapse | Collapses the tree branch that starts from this box.
DeactivateControl | ( [image] a feature of FlowChartX Pro edition) Deactivates the ActiveX control hosted in this box.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stops tracking modifications made to the box and adds a modification record to the undo queue.
Expand | Expands the tree branch that starts from this box.
FitSizeToPicture | Makes the box as big as the picture assigned to it.
FitSizeToText | Makes the box big enough so that its text is entirely visible.
GetCBox |
GetShape | Returns the id of a shape from custom shape library if one is assigned to this box.
LoadPicFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to the box' Picture.
LoadPicture | Loads an image from the specified file and assigns it to the box' Picture.
LoadPredefShape | Loads a predefined polygonal shape definition and assigns it to this box.
MoveTo | Moves the box to the specified location.
PutInContainer | ( [image] a feature of FlowChartX Pro edition) Puts this box into a container box.
RemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Removes this box from its container.
Repaint | Forces the box to redraw itself.
ResizeToFitChildren | ( [image] a feature of FlowChartX Pro edition) Resizes a container box to fit its child nodes.
SetPolyShape | Sets the shape of box whose style is set to bsPolygon.
SetPolyShapeArray | Sets the shape of box whose style is set to bsPolygon.
SetRect | Sets the box' location and size.
SetShape | ( [image] a feature of FlowChartX Pro edition) Sets the shape of a box whose style is set to bsLibShape.
SetSize | Sets the size of this box.
SetTextPadding | Sets padding space between the box boundaries and text.
TextFits | Checks if node's text fits within the node's geometry.
Unbind | ( [image] a feature of FlowChartX Pro edition) Unbinds the window currently bound to this box.
ZBottom | Moves the box to the bottom of the Z order.
ZLevelDown | Moves the box one position down in the Z order.
ZLevelUp | Moves the box one position up in the Z order.
ZTop | Moves the box to the top of the Z order.

See Also

Box Class


FlowChartPro.Box.ActivateControl Method

Box.ActivateControl Method
[image]

( [image] a feature of FlowChartX Pro edition)

Activates the ActiveX control hosted in this box.

Syntax

VB6 [image] Copy Code

Public Sub ActivateControl ()

C++ [image] Copy Code

public:
void ActivateControl ()

Remarks

Makes the hosted ActiveX control interactive. After calling this method, the mouse messages sent to the control's window are no longer filtered by FlowChartX. The method is valid if ControlActivation is set to caProgrammatic. Check the latter link for more information.

See Also

Box Members
Box Class


FlowChartPro.Box.AddAeroEffect Method

Box.AddAeroEffect Method
[image]

Adds an Aero effect to this box.

Syntax

VB6 [image] Copy Code

Public Sub AddAeroEffect( _
ByVal opacity As Single, _
ByVal shadeColor As Long, _
ByVal innerOutlineColor As Long _
)

C++ [image] Copy Code

public:
void AddAeroEffect (
float opacity,
unsigned int shadeColor,
unsigned int innerOutlineColor
)

Parameters

opacity

A float value between 0 and 1 specifying the opacity to apply to the node's background.

shadeColor

The color of the shade.

innerOutlineColor

The color of the inner outline.

Remarks

The Aero effect adds semi-transparency to the node and emphasizes its outline by adding a shade and an inner stroke.

Example

The following example applies an Aero effect to a box:

VB6 [image] Copy Code
box.AddAeroEffect 0.5, vbBlack, vbWhite

See Also

Box Members
Box Class
FlowChartPro Namespace
AddGlassEffect Method
ClearEffects Method
FillColor Property


FlowChartPro.Box.AddGlassEffect Method

Box.AddGlassEffect Method
[image]

Adds a Glass effect to this box.

Syntax

VB6 [image] Copy Code

Public Sub AddGlassEffect( _
ByVal effectType As EGlassEffectType, _
ByVal glowColor As Long, _
ByVal reflectionColor As Long, _
ByVal usePenAsGlow As Boolean _
)

C++ [image] Copy Code

public:
void AddGlassEffect (
EGlassEffectType effectType,
unsigned int glowColor,
unsigned int reflectionColor,
bool usePenAsGlow
)

Parameters

effectType
A member of the EGlassEffectType enumeration.
glowColor

The color of the glow portion of the effect.

reflectionColor

The color of the reflection portion of the effect.

usePenAsGlow

Specifies whether the glow portion of the effect should be painted with the pen color of the respective node.

Remarks

The Glass effect adds glass reflection -like visual effect to nodes.

Example

The following example adds a glass effect to a box.

VB6 [image] Copy Code
box.AddGlassEffect gtType1, vbWhite, vbWhite, False

See Also

Box Members
Box Class
FlowChartPro Namespace
AddAeroEffect Method
ClearEffects Method


FlowChartPro.Box.BeginInplaceEdit Method

Box.BeginInplaceEdit Method
[image]

Enters inplace-edit mode, allowing users to edit the text of this box.

Syntax

VB6 [image] Copy Code

Public Sub BeginInplaceEdit ()

C++ [image] Copy Code

public:
void BeginInplaceEdit ()

Remarks

Shows an edit control over a box, enabling the user to edit box' Text. If the AllowInplaceEdit property of a box is set to true, inplace editing can be also started interactively by double-clicking the box. The inplace editing operation can be ended programmatically by calling EndInplaceEdit, or interactively by clicking outside the edit control.

See Also

Box Members
Box Class


FlowChartPro.Box.BeginUndoRecord Method

Box.BeginUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Starts recording modifications made to this box for later undo.

Syntax

VB6 [image] Copy Code

Public Sub BeginUndoRecord( _
ByVal inclConnected As Boolean _
)

C++ [image] Copy Code

public:
void BeginUndoRecord (
bool inclConnected
)

Parameters

inclConnected
Indicates whether to also save undo & redo information for connected arrows.

Remarks

FlowChartX automatically records users actions on the flowchart document to enable later undo and redo of any modifications. Some programmatic actions are recorded too - such as creation or deletion of objects. However, programmatic change of most of the object properties will not be recorded automatically in the undo-history. The BeginUndoRecord and EndUndoRecord pair of methods can be used to record a group of modifications to an object, allowing their undo and redo as a single atomic operation. If you change an object position and it has attached arrows their positions will be changed too. In such situations you can pass true as value of the inclConnected parameter, and the arrows modifications will also be recorded in the undo-history.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlowChart.BeginUndoRecord Method


FlowChartPro.Box.BindToControl Method

Box.BindToControl Method
[image]

( [image] a feature of FlowChartX Pro edition)

Binds a Windows control or a VB control to this box.

Syntax

VB6 [image] Copy Code

Public Sub BindToControl( _
ByVal ctrl As Object, _
ByVal hwnd As Long _
)

C++ [image] Copy Code

public:
void BindToControl (
IDispatch* ctrl,
unsigned int hwnd
)

Parameters

ctrl
An IDispatch pointer to a VB control.
hwnd
A handle to window / UI control.

Remarks

Binds a box to the window specified via hwnd. You must create the window before invoking this method. Use either the standard window creation APIs, or the VB Load method to create a new member of a control array. The ctl parameter may be initialized with an IDispatch pointer to a VB control. If it is not null, the Width and Height extended properties of a VB control are set when the bound box is resized. That is needed because some VB controls don't respond to the WM_SIZE message to update their painting area size, but rely solely on the values of the aforementioned properties.

Example

Here a VB control array is used to create the window. The window handle is set to 0, since FlowChartX can query it from the passed IDispatch pointer:

VB6 [image] Copy Code

Load cmd(1)

Set cmd(1).Container = fcx
cmd(1).Visible = True

fcx.ActiveBox.BindToControl cmd(1), 0

See Also

Box Members
Box Class


FlowChartPro.Box.BoundingRect Method

Box.BoundingRect Method
[image]

Gets the box bounding rectangle coordinates.

Syntax

VB6 [image] Copy Code

Public Sub BoundingRect( _
ByRef left As Long, _
ByRef top As Long, _
ByRef right As Long, _
ByRef bottom As Long _
)

C++ [image] Copy Code

public:
void BoundingRect (
int* left,
int* top,
int* right,
int* bottom
)

Parameters

left
The left side of the bounding rectangle.
top
The top of the bounding rectangle.
right
The right side of the bounding rectangle.
bottom
The bottom of the bounding rectangle.

Remarks

Gets bounding rectangle position expressed in document coordinates.

See Also

Box Members
Box Class


FlowChartPro.Box.ClearEffects Method

Box.ClearEffects Method
[image]

Removes all effects from this box.

Syntax

VB6 [image] Copy Code

Public Sub ClearEffects ()

C++ [image] Copy Code

public:
void ClearEffects ()

See Also

Box Members
Box Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.Box.Clone Method

Box.Clone Method
[image]

Creates a copy of this box.

Syntax

VB6 [image] Copy Code

Public Function Clone () As Box

C++ [image] Copy Code

public:
Box* Clone ()

Return Value

A reference to Box object representing the newly created box.

Remarks

Creates a new box that has the same attributes as this box. The copy also has the same coordinates as the original box, so it might be useful to call the MoveTo method to move the boxes apart.

See Also

Box Members
Box Class


FlowChartPro.Box.Collapse Method

Box.Collapse Method
[image]

Collapses the tree branch that starts from this box.

Syntax

VB6 [image] Copy Code

Public Sub Collapse ()

C++ [image] Copy Code

public:
void Collapse ()

Remarks

When using FlowChartX to represent hierarchical structure as a tree you might want to hide a branch of the tree. Invoking the Collapse method on a box will make the box children (arrows and other boxes) invisible. It depends on the ExpandOnIncoming property, which objects connected to the box are considered its children. This method is meant for use only with tree-like structures and it is your responsibility to ensure that your diagram is really a tree. A graph is a tree if every box has no more than one parent and there's one root box that can be reached from all boxes going in child-parent direction. The tree can be expanded again using Expand.

See Also

Box Members
Box Class


FlowChartPro.Box.DeactivateControl Method

Box.DeactivateControl Method
[image]

( [image] a feature of FlowChartX Pro edition)

Deactivates the ActiveX control hosted in this box.

Syntax

VB6 [image] Copy Code

Public Sub DeactivateControl ()

C++ [image] Copy Code

public:
void DeactivateControl ()

Remarks

Makes the hosted ActiveX control non-interactive. After calling this method, the mouse messages sent to the control's window are filtered by FlowChartX. The method is valid if ControlActivation is set to caProgrammatic. Check the latter link for more information.

See Also

Box Members
Box Class


FlowChartPro.Box.EndInplaceEdit Method

Box.EndInplaceEdit Method
[image]

Exits inplace-edit mode, and either accepts or rejects any changes made to the text.

Syntax

VB6 [image] Copy Code

Public Sub EndInplaceEdit( _
ByVal Accept As Boolean _
)

C++ [image] Copy Code

public:
void EndInplaceEdit (
bool Accept
)

Parameters

Accept
Specifies whether changes made to the text should be accepted.

Remarks

Hides the edit control shown previously by calling BeginInplaceEdit. That ends the inplace editing operation and validates the changes made to box' Text as specified via the Accept argument.

See Also

Box Members
Box Class


FlowChartPro.Box.EndUndoRecord Method

Box.EndUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Stops tracking modifications made to the box and adds a modification record to the undo queue.

Syntax

VB6 [image] Copy Code

Public Sub EndUndoRecord ()

C++ [image] Copy Code

public:
void EndUndoRecord ()

Remarks

The method records in the undo-queue a group of property modifications enclosed by this method and a previous call to BeginUndoRecord. You should always match EndUndoRecord with exactly one call to BeginUndoRecord, nesting of Begin/End pairs is not supported. Avoid deleting or adding arrows to the object while property-change recording is active. Adding or deleting arrows is recorded automatically in the undo-history.

See Also

Box Members
Box Class


FlowChartPro.Box.Expand Method

Box.Expand Method
[image]

Expands the tree branch that starts from this box.

Syntax

VB6 [image] Copy Code

Public Sub Expand ()

C++ [image] Copy Code

public:
void Expand ()

Remarks

Displays box child-objects that were previously hidden using Collapse. If the flowchart RecursiveExpand property is set to false then only the first level of box descendants will be redisplayed. Otherwise the whole hierarchy starting from this box will be expanded.

See Also

Box Members
Box Class


FlowChartPro.Box.FitSizeToPicture Method

Box.FitSizeToPicture Method
[image]

Makes the box as big as the picture assigned to it.

Syntax

VB6 [image] Copy Code

Public Sub FitSizeToPicture ()

C++ [image] Copy Code

public:
void FitSizeToPicture ()

Remarks

If there is a Picture loaded in a box, this method makes the box the same size as the picture.

See Also

Box Members
Box Class


FlowChartPro.Box.FitSizeToText Method

Box.FitSizeToText Method
[image]

Makes the box big enough so that its text is entirely visible.

Syntax

VB6 [image] Copy Code

Public Sub FitSizeToText ()

C++ [image] Copy Code

public:
void FitSizeToText ()

Remarks

Makes a box big enough, so that no parts of the Text displayed inside the box are obscured.

If TextStyle is set to one of the multi-line styles - tsLeftML, tsRightML or tsCenterML, FitSizeToText changes only the height of a box, leaving its width intact.

If TextStyle is set to one of the "fit in polygon" styles such as tsFitPolyTop, tsFitPolyCenter or tsFitPolyBottom, the method changes both the box' width and height, maintaining their original ratio.

FitSizeToText does not work with the other text styles.

See Also

Box Members
Box Class
FlowChartPro Namespace
TextFits Method


FlowChartPro.Box.GetCBox Method

Box.GetCBox Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetCBox () As Long

C++ [image] Copy Code

public:
unsigned int GetCBox ()

Return Value

See Also

Box Members
Box Class


FlowChartPro.Box.GetShape Method

Box.GetShape Method
[image]

Returns the id of a shape from custom shape library if one is assigned to this box.

Syntax

VB6 [image] Copy Code

Public Sub GetShape( _
ByRef libGUID As String, _
ByRef shape As Long _
)

C++ [image] Copy Code

public:
void GetShape (
BSTR* libGUID,
int* shape
)

Parameters

libGUID
A class identifier designating a loaded shape library.
shape
An index of a shape in the shape library.

Remarks

If the box uses a shape from a custom shape library, this method returns the identifier of the library and the index of the custom shape. These parameters are usually set with previous call to SetShape. FlowChartX displays the custom shape only if the box Style is set to bsLibShape.

See Also

Box Members
Box Class


FlowChartPro.Box.LoadPicFromRes Method

Box.LoadPicFromRes Method
[image]

Loads an image from the resources embedded in a .dll or .exe file and assigns it to the box' Picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicFromRes( _
ByVal hRsrcInst As Long, _
ByVal RsrcName As String, _
ByVal RsrcType As String _
)

C++ [image] Copy Code

public:
void LoadPicFromRes (
unsigned int hRsrcInst,
BSTR RsrcName,
BSTR RsrcType
)

Parameters

hRsrcInst
A HINSTANCE. This is the handle of the module from which the resource is to be loaded.
RsrcName
The name of the resource. Use MAKEINTRESOURCE macro if you use integer identifiers for your resources (in Visual C++).
RsrcType
The name of the resource type.

Remarks

Loads an image from a resource in the box. Note that standard resource icons and bitmaps are not supported. You should insert your pictures as custom resources, either by pasting the binary contents of the image file into the resource binary code, or by addressing it through the resource script.

Following syntax in the .RC file makes the latter:

Copy Code

RESNAME TYPENAME "path to file"

The image can be loaded in the box that way:

Copy Code

fc.LoadPicFromRsc((ULONG)AfxGetResourceHandle(), RESNAME, TYPENAME)

Check the PicFromRes sample to see how Windows resources can be accessed from VB.

See Also

Box Members
Box Class


FlowChartPro.Box.LoadPicture Method

Box.LoadPicture Method
[image]

Loads an image from the specified file and assigns it to the box' Picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicture( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void LoadPicture (
BSTR FileName
)

Parameters

FileName

The name of the image file to load from.

Remarks

Loads an image from file and assigns it to box' Picture. The file format can be any of OleLoadPicture supported image formats, such as ico, gif, jpeg, wmf, emf, bmp.

See Also

Box Members
Box Class


FlowChartPro.Box.LoadPredefShape Method

Box.LoadPredefShape Method
[image]

Loads a predefined polygonal shape definition and assigns it to this box.

Syntax

VB6 [image] Copy Code

Public Sub LoadPredefShape( _
ByVal nId As Long _
)

C++ [image] Copy Code

public:
void LoadPredefShape (
int nId
)

Parameters

nId

The integer identifier of the shape to load.

Remarks

Sets the box shape to one of the predefined polygonal shapes stored as resources in the flowchart.dll file. Note: The shape is applied only if the box Style is bsPolygon.

See Also

Box Members
Box Class


FlowChartPro.Box.MoveTo Method

Box.MoveTo Method
[image]

Moves the box to the specified location.

Syntax

VB6 [image] Copy Code

Public Sub MoveTo( _
ByVal x As Long, _
ByVal y As Long _
)

C++ [image] Copy Code

public:
void MoveTo (
int x,
int y
)

Parameters

x
The x coordinate of the new position of the box.
y
The y coordinate of the new position of the box.

Remarks

Moves the box without changing its size.

See Also

Box Members
Box Class


FlowChartPro.Box.PutInContainer Method

Box.PutInContainer Method
[image]

( [image] a feature of FlowChartX Pro edition)

Puts this box into a container box.

Syntax

VB6 [image] Copy Code

Public Sub PutInContainer( _
ByVal container As Box _
)

C++ [image] Copy Code

public:
void PutInContainer (
Box* container
)

Parameters

container
The container box in which to place this box.

Remarks

Puts this node into a container. If the box passed as argument is not a container, its Style is automatically changed to bsContainer. The node is added to the end of the container, after all other contained items.

See Also

Box Members
Box Class
FlowChartPro Namespace
RemoveFromContainer Method


FlowChartPro.Box.RemoveFromContainer Method

Box.RemoveFromContainer Method
[image]

( [image] a feature of FlowChartX Pro edition)

Removes this box from its container.

Syntax

VB6 [image] Copy Code

Public Sub RemoveFromContainer ()

C++ [image] Copy Code

public:
void RemoveFromContainer ()

Remarks

Removes the box from its container. If the box is not in a container, this method does not have any effect.

See Also

Box Members
Box Class
FlowChartPro Namespace
PutInContainer Method


FlowChartPro.Box.Repaint Method

Box.Repaint Method
[image]

Forces the box to redraw itself.

Syntax

VB6 [image] Copy Code

Public Sub Repaint ()

C++ [image] Copy Code

public:
void Repaint ()

Remarks

Use this method to refresh a custom-drawn box after the data it represents changes. Note that Repaint does not redraw the box immediately, but posts a WM_PAINT message to the message queue of the FlowChartX window. Thus, in order to implement animation, you must let FlowChartX process the messages in its message queue. Do that either by invoking DoEvents between calls to Repaint, or by repainting the box from a timer event handler.

See Also

Box Members
Box Class
FlowChartPro Namespace
CustomDraw Property


FlowChartPro.Box.ResizeToFitChildren Method

Box.ResizeToFitChildren Method
[image]

( [image] a feature of FlowChartX Pro edition)

Resizes a container box to fit its child nodes.

Syntax

VB6 [image] Copy Code

Public Sub ResizeToFitChildren ()

C++ [image] Copy Code

public:
void ResizeToFitChildren ()

Remarks

This method sets the bounding rectangle of the container to the union of its child nodes' bounding rectangles. It works only for boxes whose Style is set to bsContainer.

See Also

Box Members
Box Class
FlowChartPro Namespace
LayoutStyle Property
ContainedItems Property
AutoResizeContainer Property


FlowChartPro.Box.SetPolyShape Method

Box.SetPolyShape Method
[image]

Sets the shape of box whose style is set to bsPolygon.

Syntax

VB6 [image] Copy Code

Public Sub SetPolyShape( _
ByVal count As Integer, _
ByRef ptc As Byte _
)

C++ [image] Copy Code

public:
void SetPolyShape (
short count,
unsigned char* ptc
)

Parameters

count
The number of points in the custom shape.
ptc
The point coordinates.

Remarks

Sets shape of bsPolygon boxes. You can use any custom polygonal form you define. The count parameter sets number of points defining the shape. The array of bytes passed as second parameter sets the (x,y) coordinates of the polygon vertices as percents of the rectangle bounding the form.

Example

To pass a rectangle use following array: {0, 0, 100, 0, 100, 100, 0, 100}. To pass a rhombus use: {50, 0, 100, 50, 50, 100, 0, 50}. If the user places this rhombus on a position with bounding rectangle (100, 100) - (300, 200) then the rhombus points calculated from the percent array will be (200, 100) - (300, 150) - (200, 200) - (100, 150).

You can define as complex shapes as you wish.

See Also

Box Members
Box Class


FlowChartPro.Box.SetPolyShapeArray Method

Box.SetPolyShapeArray Method
[image]

Sets the shape of box whose style is set to bsPolygon.

Syntax

VB6 [image] Copy Code

Public Sub SetPolyShapeArray( _
ByRef psaPoints() As Byte _
)

C++ [image] Copy Code

public:
void SetPolyShapeArray (
unsigned char** psaPoints
)

Parameters

psaPoints
An array containing the points coordinates of the custom shape.

Remarks

Sets the shape for this box, if its type is bsPolygon. You can define whatever custom polygonal form you need and use it. The psaArray parameter sets the (x,y) coordinates of the polygon vertices as percents of the rectangle bounding the form.

Example

To pass a rectangle use following array: {0, 0, 100, 0, 100, 100, 0, 100}. To pass a rhombus use: {50, 0, 100, 50, 50, 100, 0, 50}. If the user places this rhombus on a position with bounding rectangle (100, 100) - (300, 200) then the rhombus points calculated from the percent array will be (200, 100) - (300, 150) - (200, 200) - (100, 150).

You can define as complex shapes as you wish.

The following C# code illustrates the use of this method:

C# [image] Copy Code

System.Array bpoints = new byte[] { 0, 0, 100, 100, 0, 100 };

axFlowChart1.Boxes[0].Style = FLOWCHARTLib.EBoxStyle.bsPolygon;
axFlowChart1.Boxes[0].SetPolyShapeArray(ref bpoints);

See Also

Box Members
Box Class


FlowChartPro.Box.SetRect Method

Box.SetRect Method
[image]

Sets the box' location and size.

Syntax

VB6 [image] Copy Code

Public Sub SetRect( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetRect (
int left,
int top,
int right,
int bottom
)

Parameters

left
The left side of the new bounding rectangle.
top
The top of the new bounding rectangle.
right
The right side of the new bounding rectangle.
bottom
The bottom of the new bounding rectangle.

Remarks

Sets box placement, allows changing both the position and size of the box.

See Also

Box Members
Box Class
FlowChartPro Namespace
FitSizeToPicture Method
FitSizeToText Method
FlowChart.MeasureUnit Property


FlowChartPro.Box.SetShape Method

Box.SetShape Method
[image]

( [image] a feature of FlowChartX Pro edition)

Sets the shape of a box whose style is set to bsLibShape.

Syntax

VB6 [image] Copy Code

Public Sub SetShape( _
ByVal libGUID As String, _
ByVal shape As Long _
)

C++ [image] Copy Code

public:
void SetShape (
BSTR libGUID,
int shape
)

Parameters

libGUID
A unique identifier designating a loaded shape library.
shape
An index of a shape in the shape library.

Remarks

Sets the shape of a box to one from the specified library. The box Style must be set in advance to bsLibShape. The library must be already loaded by means of the LoadShapeLib method.

See Also

Box Members
Box Class


FlowChartPro.Box.SetSize Method

Box.SetSize Method
[image]

Sets the size of this box.

Syntax

VB6 [image] Copy Code

Public Sub SetSize( _
ByVal width As Long, _
ByVal height As Long _
)

C++ [image] Copy Code

public:
void SetSize (
int width,
int height
)

Parameters

width
The new width of the box.
height
The new height of the box.

Remarks

Resizes the box. The upper-left corner remains on its original position.

See Also

Box Members
Box Class


FlowChartPro.Box.SetTextPadding Method

Box.SetTextPadding Method
[image]

Sets padding space between the box boundaries and text.

Syntax

VB6 [image] Copy Code

Public Sub SetTextPadding( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetTextPadding (
int left,
int top,
int right,
int bottom
)

Parameters

left

An integer value specifying the left padding size.

top

An integer value specifying the top padding size.

right

An integer value specifying the right padding size.

bottom

An integer value specifying the bottom padding size.

See Also

Box Members
Box Class
FlowChartPro Namespace
Text Property
Font Property


FlowChartPro.Box.TextFits Method

Box.TextFits Method
[image]

Checks if node's text fits within the node's geometry.

Syntax

VB6 [image] Copy Code

Public Function TextFits () As Boolean

C++ [image] Copy Code

public:
bool TextFits ()

Return Value

true if the text fits entirely inside the node, or false otherwise.

See Also

Box Members
Box Class
FlowChartPro Namespace
FitSizeToText Method


FlowChartPro.Box.Unbind Method

Box.Unbind Method
[image]

( [image] a feature of FlowChartX Pro edition)

Unbinds the window currently bound to this box.

Syntax

VB6 [image] Copy Code

Public Sub Unbind ()

C++ [image] Copy Code

public:
void Unbind ()

Remarks

Unbinds a box from the window previously bound via the BindToControl method.

See Also

Box Members
Box Class


FlowChartPro.Box.ZBottom Method

Box.ZBottom Method
[image]

Moves the box to the bottom of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZBottom ()

C++ [image] Copy Code

public:
void ZBottom ()

See Also

Box Members
Box Class


FlowChartPro.Box.ZLevelDown Method

Box.ZLevelDown Method
[image]

Moves the box one position down in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelDown ()

C++ [image] Copy Code

public:
void ZLevelDown ()

See Also

Box Members
Box Class


FlowChartPro.Box.ZLevelUp Method

Box.ZLevelUp Method
[image]

Moves the box one position up in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelUp ()

C++ [image] Copy Code

public:
void ZLevelUp ()

See Also

Box Members
Box Class


FlowChartPro.Box.ZTop Method

Box.ZTop Method
[image]

Moves the box to the top of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZTop ()

C++ [image] Copy Code

public:
void ZTop ()

See Also

Box Members
Box Class


FlowChartPro.Box Properties

Box Properties
[image]

Public Properties

Name | Description
AllowContainment | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether users are allowed to put this box in a container.
AllowFlip | Gets or sets a value indicating whether the node's shape flips when an edge is dragged over its opposite edge.
AllowIncomingArrows | Gets or sets a value indicating whether users are allowed to draw incoming arrows to this box.
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this box.
AllowOutgoingArrows | Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this box.
AnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to this box.
AutoResizeContainer | Gets or sets a value indicating whether container boxes should resize automatically to fit their children.
AxControl | ( [image] a feature of FlowChartX Pro edition) Gets a reference to the ActiveX control hosted in this box.
AxControlId | Gets or sets the type of the ActiveX control hosted in this box.
AxRawPtr | ( [image] a feature of FlowChartX Pro edition) Gets the raw IUnknown interface pointer to the ActiveX control hosted in this box.
Bottom | Gets the Y coordinate of the bottom side of the box bounding rectangle.
Constraints | Gets or sets the constraints applied to the location and size of this box.
ContainedItems | ( [image] a feature of FlowChartX Pro edition) Gets the list of items contained in the box.
ControlActivation | Gets or sets a value indicating how the ActiveX control hosted in this box is activated.
CustomDraw | Gets or sets the type of custom drawing performed on this box.
DecorationColor | Gets or sets the color of the decoration lines that are defined for the Shape of this box.
EnableStyledText | Gets or sets a value indicating whether styled text rendering is enabled.
Expandable | Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from the box.
Expanded | Gets or sets a value indicating whether the tree that starts from this box is expanded or collapsed.
FeedbackColor | Gets or sets the color of the box feedback frame.
FeedbackPenStyle | Gets or sets the line style of the box feedback frame.
FeedbackPenWidth | Gets or sets the width of the box feedback frame.
FillColor | Gets or sets the color used to fill the box interior.
FillColor2 | Gets or sets a color used to fill the box interior with a gradient.
FillColorAlpha | Gets or sets a value defining the transparency of the box fill color.
FillStyle | Gets or sets the gradient mode used to fill the interior of this box.
FlipX | Gets or sets a value indicating whether the node's shape is flipped horizontally.
FlipY | Gets or sets a value indicating whether the node's shape is flipped vertically.
Font | Gets or sets the font used to render the text of this box.
FrameColor | Gets or sets the color of the pen used to draw the box border lines.
FrameColorAlpha | Gets or sets the transparency of the box border.
HyperLink | Gets or sets the hyperlink associated with this box.
IgnoreLayout | Gets or sets a value indicating whether the position of this box can be changed by automatic layout methods.
IncmAnchor | Gets or sets at which anchor points incoming arrows are allowed to connect.
IncomingArrows | Gets the collection of arrows that enter into this box.
LayoutGap | ( [image] a feature of FlowChartX Pro edition) Gets or sets the amount of space between items in a container box.
LayoutStyle | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating how the items in a container box are laid out.
Left | Gets the X coordinate of the left side of the box bounding rectangle.
Locked | Gets or sets a value indicating whether users are allowed to select and modify this box.
MasterGroup | Gets a reference to the group to which the box is attached.
MnpHandlesMask | Gets or sets what modifications can be applied to a box through its selection handles.
Obstacle | Gets or sets a value indicating whether this box should be considered an obstacle by the arrow-routing algorithm.
OutgAnchor | Gets or sets at which anchor points outgoing arrows are allowed to connect.
OutgoingArrows | Gets a collection of arrows that go out from this box.
PenStyle | Gets or sets the style of the pen used to draw the box frame lines.
PenWidth | Gets or sets the width of the pen used to draw the box frame lines.
Picture | Gets or sets the image displayed inside the box.
PicturePos | Gets or sets the alignment and stretch mode of the box Picture.
PlainText | Gets the plain text of this box.
Printable | Gets or sets a value indicating whether this box is drawn on paper when printing.
Right | Gets the X coordinate of the right side of the box bounding rectangle.
RotateContents | Gets or sets a value indicating whether the Picture is rotated when the box is rotated.
RotateText | Gets or sets a value indicating whether the text in a box is rotated when the box is rotated.
RotationAngle | Gets or sets the angle at which this box is rotated.
Selected | Gets a value indicating whether the box is selected.
SelStyle | Gets or sets a value indicating how box selection handles behave and what they look like.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the box that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the box that casts it.
Shape | Gets or sets the shape of a box whose Style is set to bsShape.
ShapeOrientation | Gets or sets a shape rotation applied when calculating the shape vertex coordinates inside the box bounding rectangle.
Style | Gets or sets the style of this box.
SubordinateGroup | Gets a reference to the group of objects that are attached to this box.
Tag | Gets or sets a custom integer value associated with this box.
Text | Gets or sets the text to display inside this box.
TextAntiAliasing | Gets or sets the type of text anti aliasing.
TextColor | Gets or sets the color used to draw the box' Text.
TextStyle | Gets or sets the alignment style of the box' Text.
ToolTip | Gets or sets a short text message displayed when the mouse pointer rests over this box.
Top | Gets the Y coordinate of the top side of the box bounding rectangle.
Transparent | Gets or sets a value indicating whether the box frame lines and interior should be painted.
UserData | Gets or sets a custom integer value associated with this box.
UserString | Gets or sets a custom string value associated with this box.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this box.
Visible | Gets or sets value indicating whether this box is visible.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
WindowFrame | Gets or sets the border style of the window in which a hosted ActiveX control resides.
ZIndex | Gets or sets the position of this box in the Z order.

See Also

Box Class


FlowChartPro.Box.AllowContainment Property

Box.AllowContainment Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets a value indicating whether users are allowed to put this box in a container.

Syntax

VB6 [image] Copy Code

Public Property Get AllowContainment() As Boolean
Public Property Let AllowContainment( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowContainment ()
void put_AllowContainment (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Containers are boxes that can hold other diagram nodes inside them. Disable this property for a box to prevent that box to be placed in a container. To make a box container, set its Style to bsContainer.

See Also

Box Members
Box Class


FlowChartPro.Box.AllowFlip Property

Box.AllowFlip Property
[image]

Gets or sets a value indicating whether the node's shape flips when an edge is dragged over its opposite edge.

Syntax

VB6 [image] Copy Code

Public Property Get AllowFlip() As Boolean
Public Property Let AllowFlip( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowFlip ()
void put_AllowFlip (
bool value
)

Property Value

true to let users flip the shape, or false otherwise. The default value is false.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlipX Property
FlipY Property
MnpHandlesMask Property
Shape Property


FlowChartPro.Box.AllowIncomingArrows Property

Box.AllowIncomingArrows Property
[image]

Gets or sets a value indicating whether users are allowed to draw incoming arrows to this box.

Syntax

VB6 [image] Copy Code

Public Property Get AllowIncomingArrows() As Boolean
Public Property Let AllowIncomingArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowIncomingArrows ()
void put_AllowIncomingArrows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Even if this property is disabled, arrow can still be linked to this box programmatically.

See Also

Box Members
Box Class
FlowChartPro Namespace
IncomingArrows Property
AllowOutgoingArrows Property


FlowChartPro.Box.AllowInplaceEdit Property

Box.AllowInplaceEdit Property
[image]

Gets or sets a value indicating whether users are allowed to edit the text of this box.

Syntax

VB6 [image] Copy Code

Public Property Get AllowInplaceEdit() As Boolean
Public Property Let AllowInplaceEdit( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowInplaceEdit ()
void put_AllowInplaceEdit (
bool value
)

Property Value

A boolean value.

Remarks

Specifies whether the text of a box can be edited in-place by users. If enabled, a text-entry field appears when the box is double-clicked. In-place editing mode can be exited by clicking anywhere outside the text-field. When this happens, a BoxTextEdited event is raised.

Inplace editing can be started programmatically by calling the BeginInplaceEdit method, or ended via EndInplaceEdit.

See Also

Box Members
Box Class


FlowChartPro.Box.AllowOutgoingArrows Property

Box.AllowOutgoingArrows Property
[image]

Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this box.

Syntax

VB6 [image] Copy Code

Public Property Get AllowOutgoingArrows() As Boolean
Public Property Let AllowOutgoingArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowOutgoingArrows ()
void put_AllowOutgoingArrows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Even if this property is disabled, arrow can still be linked to this box programmatically.

See Also

Box Members
Box Class
FlowChartPro Namespace
OutgoingArrows Property
AllowIncomingArrows Property


FlowChartPro.Box.AnchorPattern Property

Box.AnchorPattern Property
[image]

Gets or sets the AnchorPattern object defining the points at which arrows can connect to this box.

Syntax

VB6 [image] Copy Code

Public Property Get AnchorPattern() As AnchorPattern
Public Property Let AnchorPattern( _
ByVal Value As AnchorPattern _
)

C++ [image] Copy Code

public:
AnchorPattern* get_AnchorPattern ()
void put_AnchorPattern (
AnchorPattern* value
)

Property Value

A reference to an AnchorPattern object.

Remarks

An anchor pattern defines a set of anchor points at which arrows connect to a box. Assigning to this property automatically sets IncmAnchor and OutgAnchor to aaPattern. If a box has not any anchor points defined, arrows can be linked to any point of that box. The indices of the anchor points to which an arrow is attached can be accessed via the OrgnAnchor and DestAnchor properties of the Arrow class.

See Also

Box Members
Box Class


FlowChartPro.Box.AutoResizeContainer Property

Box.AutoResizeContainer Property
[image]

Gets or sets a value indicating whether container boxes should resize automatically to fit their children.

Syntax

VB6 [image] Copy Code

Public Property Get AutoResizeContainer() As Boolean
Public Property Let AutoResizeContainer( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AutoResizeContainer ()
void put_AutoResizeContainer (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If this property is enabled, a container box is automatically resized when its child nodes are resized or when children are added or removed.

See Also

Box Members
Box Class
FlowChartPro Namespace
ContainedItems Property
ResizeToFitChildren Method


FlowChartPro.Box.AxControl Property

Box.AxControl Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets a reference to the ActiveX control hosted in this box.

Syntax

VB6 [image] Copy Code

Public Property Get AxControl() As Object

C++ [image] Copy Code

public:
IDispatch* get_AxControl ()

Property Value

A reference to object.

Remarks

To create an OCX control inside a box, assign its class identifier (CLSID) or program identifier (ProgID) to AxControlId, and set the box' Style to bsAxControl. C++ programmers might prefer getting a pointer to the hosted control's IUnknown interface via AxRawPtr. The AxControl property returns IDispatch pointer, required by VB, but harder to use with C++.

See Also

Box Members
Box Class
FlowChartPro Namespace
WindowFrame Property


FlowChartPro.Box.AxControlId Property

Box.AxControlId Property
[image]

Gets or sets the type of the ActiveX control hosted in this box.

Syntax

VB6 [image] Copy Code

Public Property Get AxControlId() As String
Public Property Let AxControlId( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_AxControlId ()
void put_AxControlId (
BSTR value
)

Property Value

A string value. Initialized with FlowChart.AxControlId.

Remarks

Box objects can host ActiveX controls inside them. To instantiate a control you must assign its class identifier (CLSID) or program identifier (ProgID) to this property, and set the box' Style to bsAxControl. If the value of the property is not a valid control identifier, it is interpreted as an URL and a browser control is created and navigated to the specified link. You can access the hosted control via the AxRawPtr and AxControl properties.

See Also

Box Members
Box Class


FlowChartPro.Box.AxRawPtr Property

Box.AxRawPtr Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets the raw IUnknown interface pointer to the ActiveX control hosted in this box.

Syntax

VB6 [image] Copy Code

Public Property Get AxRawPtr() As Object

C++ [image] Copy Code

public:
IDispatch* get_AxRawPtr ()

Property Value

A pointer to IUnknown.

Remarks

To create an OCX control inside a box, assign its class identifier (CLSID) or program identifier (ProgID) to AxControlId, and set the box' Style to bsAxControl. VB programmers would prefer getting reference to the hosted control via the AxControl property, which returns a pointer to IDispatch.

See Also

Box Members
Box Class


FlowChartPro.Box.Bottom Property

Box.Bottom Property
[image]

Gets the Y coordinate of the bottom side of the box bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Bottom() As Long

C++ [image] Copy Code

public:
int get_Bottom ()

Property Value

A long value.

Remarks

Gets the bottom side of the bounding rectangle of the box, measured in document coordinates.

See Also

Box Members
Box Class


FlowChartPro.Box.Constraints Property

Box.Constraints Property
[image]

Gets or sets the constraints applied to the location and size of this box.

Syntax

VB6 [image] Copy Code

Public Property Get Constraints( _
ByVal constraint As ENodeConstraint _
) As Integer
Public Property Let Constraints( _
ByVal constraint As ENodeConstraint, _
ByVal Value As Integer _
)

C++ [image] Copy Code

public:
short get_Constraints (
ENodeConstraint constraint
)
void put_Constraints (
ENodeConstraint constraint,
short value
)

Parameters

constraint
A value from the ENodeConstraint enumeration.

Property Value

A short value.

Remarks

Allows applying constraints to the location and size of a box. These constraints are considered when a user modifies the box interactively. They are ignored if box placement is changed programmatically via methods and properties. Currently, the following constrains can be set:

Constraint index

Value

ncMoveDirection

0 - no movement constraints;
1 - users can move the box only horizontally;
2 - users can move the box only vertically;

ncMinWidth

0 - no constraints;
any other value specifies the minimal box width allowed;

ncMinHeight

0 - no constraints;
any other value specifies the minimal box height allowed;

ncMaxWidth

0 - no constraints;
any other value specifies the maximal box width allowed;

ncMaxHeight

0 - no constraints;
any other value specifies the maximal box height allowed;

ncKeepInsideDiagram

0 - no constraints;
otherwise the user is prevents from dragging nodes outside of the flowchart boundaries;

Example

This sample disables moving or resizing a box vertically.

VB6 [image] Copy Code

' allow moving the box only horizontally
fcx.ActiveBox.Constraints(ncMoveDirection) = 1

' disable handles that can be used to resize the box vertically
' binary 110100000: bit 8 = move handle; bits 5 & 7 = left & right resize handles
fcx.ActiveBox.MnpHandlesMask = 416

See Also

Box Members
Box Class
FlowChartPro Namespace
MnpHandlesMask Property


FlowChartPro.Box.ContainedItems Property

Box.ContainedItems Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets the list of items contained in the box.

Syntax

VB6 [image] Copy Code

Public Property Get ContainedItems() As Group

C++ [image] Copy Code

public:
Group* get_ContainedItems ()

Property Value

A reference to a Group object.

Remarks

Containers use a group object internally to manage the items contained in them. A container is the main object of its internal group, so when it is moved all the attached items are moved too. Using this property you can access the group and enumerate the items attached to it.

See Also

Box Members
Box Class
FlowChartPro Namespace
ResizeToFitChildren Method
AutoResizeContainer Property


FlowChartPro.Box.ControlActivation Property

Box.ControlActivation Property
[image]

Gets or sets a value indicating how the ActiveX control hosted in this box is activated.

Syntax

VB6 [image] Copy Code

Public Property Get ControlActivation() As EControlActivation
Public Property Let ControlActivation( _
ByVal Value As EControlActivation _
)

C++ [image] Copy Code

public:
EControlActivation get_ControlActivation ()
void put_ControlActivation (
EControlActivation value
)

Property Value

A member of the EControlActivation enumeration. The default is caAlwaysActive.

Remarks

FlowChartX subclasses the window of any hosted control, in order to detect mouse interaction performed on the control. Thus, move and resize operations can be carried out as with ordinary diagram nodes. However manipulation of the OCX' node via mouse might interfere with some user-interface feature of the control; for that reason FlowChartX can filter the mouse messages sent to the hosted OCX. A control is considered as active when the mouse messages are passed to it. The ControlActivation property specifies how and when to activate the control. It can have the following values:

  • caAlwaysActive - the control is always active and receives all mouse messages even when its node is resized, moved or linked to other nodes;
  • caWhenSelected - the control is active only when it is selected; if it is not selected the mouse messages sent to its window are filtered;
  • caProgrammatic - the control is activate or deactivated programmatically via the ActivateControl and DeactivateControl methods;

Note: only the topmost window of the hosted ActiveX control is subclassed. If the control has child windows the mouse messages sent to them are not filtered.

See Also

Box Members
Box Class


FlowChartPro.Box.CustomDraw Property

Box.CustomDraw Property
[image]

Gets or sets the type of custom drawing performed on this box.

Syntax

VB6 [image] Copy Code

Public Property Get CustomDraw() As ECustomDraw
Public Property Let CustomDraw( _
ByVal Value As ECustomDraw _
)

C++ [image] Copy Code

public:
ECustomDraw get_CustomDraw ()
void put_CustomDraw (
ECustomDraw value
)

Property Value

A member of the ECustomDraw enumeration. Initialized with FlowChart.BoxCustomDraw.

Remarks

To provide special outlook for box objects, not defined by standard objects or customizable polygonal shapes use custom drawing. Write own drawing code in FlowChartX painting process using CustomDraw event.

Give CustomDraw property one of the following values:

  • cdNone - no custom drawing for the box.
  • cdAdditional - this mode makes your drawing code execute after the box of the chosen Style and its Picture are drawn but before box Text is rendered. The CustomDraw event is raised to indicate that custom painting shall be done and the device context-clipping region is set to the shape of the current box. This generally means you cannot draw outside the box unless you clear the clipping region.
  • cdFull - this mode executes just your drawing code and no standard painting takes place. When CustomDraw event is raised no clipping region is set and no restrictions to drawing area are set by style and shape of the box rectangle.

See Also

Box Members
Box Class
FlowChartPro Namespace
Repaint Method


FlowChartPro.Box.DecorationColor Property

Box.DecorationColor Property
[image]

Gets or sets the color of the decoration lines that are defined for the Shape of this box.

Syntax

VB6 [image] Copy Code

Public Property Get DecorationColor() As Long
Public Property Let DecorationColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_DecorationColor ()
void put_DecorationColor (
unsigned int value
)

Property Value

A color value. The default is -1.

Remarks

A value of -1 specifies that the decorations should be drawn with the color set in FrameColor. Decorations are lines or curves in the shape definition that are not part of the shape outline, they do not partake in hit testing and do not affect how the shape is filled. Decorations can be added to the shape definition via the AddDecoration* methods of the ShapeTemplate class.

See Also

Box Members
Box Class
FlowChartPro Namespace
RenderFlags Property


FlowChartPro.Box.EnableStyledText Property

Box.EnableStyledText Property
[image]

Gets or sets a value indicating whether styled text rendering is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get EnableStyledText() As Boolean
Public Property Let EnableStyledText( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableStyledText ()
void put_EnableStyledText (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.EnableStyledText.

Remarks

Styled text can have various attributes applied to the characters it contains. The attributes are specified using HTML-like tags embedded in the raw text. Attributes can be combined just like in HTML. Styled text formatting is provided by the same renderer that implements "fit polygon" text layout styles. As a consequence, such text is rendered properly only for boxes of Style bsShape whose TextStyle is set to one of the following values: tsFitPolyTop, tsFitPolyCenter or tsFitPolyBottom.

The following table lists the currently supported style tags:

Tag | Description
<i> text </i> | italic text
<b> text </b> | bold text
<u> text </u> | underlined text
<sub> text </sub> | subscript
<sup> text </sup> | superscript

Example

The following example demonstrates how to set styled text to a box:

VB6 [image] Copy Code

fcx.ActiveBox.TextStyle = tsFitPolyTop
fcx.ActiveBox.EnableStyledText = True
fcx.ActiveBox.Style = bsShape
fcx.ActiveBox.Text = "H<sub>2</sub>O"

See Also

Box Members
Box Class
FlowChartPro Namespace
Text Property
PlainText Property
TextColor Property


FlowChartPro.Box.Expandable Property

Box.Expandable Property
[image]

Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from the box.

Syntax

VB6 [image] Copy Code

Public Property Get Expandable() As Boolean
Public Property Let Expandable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Expandable ()
void put_Expandable (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.BoxesExpandable.

Remarks

Displays a +/- button beside a box to allow users Expand or Collapse the tree that has this box as a root. Clicking the button when it displays a "-" sign collapses the tree and raises a BoxCollapsed event. Clicking the button when it displays a "+" sign expands the tree and raises a BoxExpanded event.

This behavior can be overridden by setting the fOverrideTreeExpanding event flag. That makes the respective events still raised when a user clicks on the +/- buttons, without actually hiding or showing child nodes in the tree.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlowChart.ExpandOnIncoming Property
FlowChart.ButtonImages Property
FlowChart.EventFlags Property


FlowChartPro.Box.Expanded Property

Box.Expanded Property
[image]

Gets or sets a value indicating whether the tree that starts from this box is expanded or collapsed.

Syntax

VB6 [image] Copy Code

Public Property Get Expanded() As Boolean
Public Property Let Expanded( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Expanded ()
void put_Expanded (
bool value
)

Property Value

A boolean value.

Remarks

Returns false if the tree starting from this box is collapsed, either by the user or programmatically through the Collapse method; true, if the tree is expanded.

See Also

Box Members
Box Class


FlowChartPro.Box.FeedbackColor Property

Box.FeedbackColor Property
[image]

Gets or sets the color of the box feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackColor() As Long
Public Property Let FeedbackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FeedbackColor ()
void put_FeedbackColor (
unsigned int value
)

Property Value

A color value.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a box to indicate that the box would accept the dragged data. The frame is painted with the color assigned to this property.

See Also

Box Members
Box Class


FlowChartPro.Box.FeedbackPenStyle Property

Box.FeedbackPenStyle Property
[image]

Gets or sets the line style of the box feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenStyle() As EPenStyle
Public Property Let FeedbackPenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_FeedbackPenStyle ()
void put_FeedbackPenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a box to indicate that the box would accept the dragged data. This property specifies the style of the pen with which the frame is painted.

See Also

Box Members
Box Class


FlowChartPro.Box.FeedbackPenWidth Property

Box.FeedbackPenWidth Property
[image]

Gets or sets the width of the box feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenWidth() As Long
Public Property Let FeedbackPenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_FeedbackPenWidth ()
void put_FeedbackPenWidth (
int value
)

Property Value

A long value.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a box to indicate that the box would accept the dragged data. This property specifies the width of the pen with which the frame is painted.

See Also

Box Members
Box Class


FlowChartPro.Box.FillColor Property

Box.FillColor Property
[image]

Gets or sets the color used to fill the box interior.

Syntax

VB6 [image] Copy Code

Public Property Get FillColor() As Long
Public Property Let FillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FillColor ()
void put_FillColor (
unsigned int value
)

Property Value

A color value. Initialized with FlowChart.BoxFillColor.

Remarks

Sets the color of the box interior.

See Also

Box Members
Box Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.Box.FillColor2 Property

Box.FillColor2 Property
[image]

Gets or sets a color used to fill the box interior with a gradient.

Syntax

VB6 [image] Copy Code

Public Property Get FillColor2() As Long
Public Property Let FillColor2( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FillColor2 ()
void put_FillColor2 (
unsigned int value
)

Property Value

A color value. Initialized with FlowChart.BoxFillColor2.

Remarks

Sets the second color for gradient brushes, used if the box FillStyle is set to fsGradientH or fsGradientV.

See Also

Box Members
Box Class


FlowChartPro.Box.FillColorAlpha Property

Box.FillColorAlpha Property
[image]

Gets or sets a value defining the transparency of the box fill color.

Syntax

VB6 [image] Copy Code

Public Property Get FillColorAlpha() As Integer
Public Property Let FillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FillColorAlpha ()
void put_FillColorAlpha (
short value
)

Property Value

A byte value. Initialized with FlowChart.BoxFillColorAlpha.

Remarks

Specifies the alpha component of FillColor. Alpha values, ranging from 0 to 255, represent transparency to graphics already rendered behind a box. 255 means no transparency at all; 0 means full transparency; all other values specify that alpha-blending should be used to mix FillColor with background pixels colors. Alpha-blending can be used only if the GDI+ graphics engine is enabled.

See Also

Box Members
Box Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.Box.FillStyle Property

Box.FillStyle Property
[image]

Gets or sets the gradient mode used to fill the interior of this box.

Syntax

VB6 [image] Copy Code

Public Property Get FillStyle() As EFillStyle
Public Property Let FillStyle( _
ByVal Value As EFillStyle _
)

C++ [image] Copy Code

public:
EFillStyle get_FillStyle ()
void put_FillStyle (
EFillStyle value
)

Property Value

A member of the EFillStyle enumeration. Initialized with FlowChart.BoxFillStyle.

Remarks

Sets how the box interior is filled. Currently solid-color and gradient brushes are supported. Possible values are:

  • fsSolid - the box is filled with a solid-color brush, using the FillColor property;
  • fsGradientH - box is filled with a horizontal-gradient brush; the gradient colors are defined by FillColor and FillColor2 properties;
  • fsGradientV - box is filled with a vertical-gradient brush; the gradient colors are defined by FillColor and FillColor2 properties;

See Also

Box Members
Box Class


FlowChartPro.Box.FlipX Property

Box.FlipX Property
[image]

Gets or sets a value indicating whether the node's shape is flipped horizontally.

Syntax

VB6 [image] Copy Code

Public Property Get FlipX() As Boolean
Public Property Let FlipX( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FlipX ()
void put_FlipX (
bool value
)

Property Value

true if the shape is flipped horizontally, or false otherwise.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlipY Property
AllowFlip Property


FlowChartPro.Box.FlipY Property

Box.FlipY Property
[image]

Gets or sets a value indicating whether the node's shape is flipped vertically.

Syntax

VB6 [image] Copy Code

Public Property Get FlipY() As Boolean
Public Property Let FlipY( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FlipY ()
void put_FlipY (
bool value
)

Property Value

true if the shape is flipped vertically, or false otherwise.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlipX Property
AllowFlip Property


FlowChartPro.Box.Font Property

Box.Font Property
[image]

Gets or sets the font used to render the text of this box.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A font object. The default is null (Nothing in Visual Basic).

Remarks

Font used for rendering the box' Text. If it is not set, the flowchart's Font is used instead.

Note that non-proportional fonts, such as Courier or MS Sans Serif cannot zoom out well. The minimum size that can be assigned to such fonts is the smallest value shown in the 'Size' combo box in the standard font dialog. If your application allows scaling to ZoomFactor less than 100, we recommend using proportional fonts such as Arial, Courier New or Verdana.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

Example

The following code sets the font of a box:

VB6 [image] Copy Code

Set box.Font = New StdFont
box.Font.Name = "Arial"
box.Font.Size = 20
box.Font.Italic = True

box.Text = "test"

See Also

Box Members
Box Class


FlowChartPro.Box.FrameColor Property

Box.FrameColor Property
[image]

Gets or sets the color of the pen used to draw the box border lines.

Syntax

VB6 [image] Copy Code

Public Property Get FrameColor() As Long
Public Property Let FrameColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FrameColor ()
void put_FrameColor (
unsigned int value
)

Property Value

A color value. Initialized with FlowChart.BoxFrameColor.

Remarks

Specifies the color of the box frame lines.

See Also

Box Members
Box Class
FlowChartPro Namespace
DecorationColor Property
FillColor Property
FrameColorAlpha Property


FlowChartPro.Box.FrameColorAlpha Property

Box.FrameColorAlpha Property
[image]

Gets or sets the transparency of the box border.

Syntax

VB6 [image] Copy Code

Public Property Get FrameColorAlpha() As Integer
Public Property Let FrameColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FrameColorAlpha ()
void put_FrameColorAlpha (
short value
)

Property Value

A byte value. The default is 255.

Remarks

Specifies the alpha component of FrameColor. Alpha values, ranging from 0 to 255, represent transparency to graphics already rendered behind a box. 255 means no transparency at all; 0 means full transparency; all other values specify that alpha-blending should be used to mix FrameColor with background pixels colors. Alpha-blending can be used only if the GDI+ graphics engine is enabled.

See Also

Box Members
Box Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.Box.HyperLink Property

Box.HyperLink Property
[image]

Gets or sets the hyperlink associated with this box.

Syntax

VB6 [image] Copy Code

Public Property Get HyperLink() As String
Public Property Let HyperLink( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_HyperLink ()
void put_HyperLink (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Sets or gets a hyperlink associated with a box. When creating an image map via HtmlBuilder's CreateImageMap method, the hyperlink is used as HREF value for the <AREA> definition corresponding to this box.

Example

The sample code below assigns a hyperlink to a box before creating an HTML image map.

VB6 [image] Copy Code

box.ToolTip = "Visit our site"
box.Hyperlink = "http://mindfusion.eu"

...

Dim hb As New HtmlBuilder
hb.Document = fcx
hb.LinkTarget = "_blank"
htmlCode = hb.CreateImageMap("map1")

See Also

Box Members
Box Class


FlowChartPro.Box.IgnoreLayout Property

Box.IgnoreLayout Property
[image]

Gets or sets a value indicating whether the position of this box can be changed by automatic layout methods.

Syntax

VB6 [image] Copy Code

Public Property Get IgnoreLayout() As Boolean
Public Property Let IgnoreLayout( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_IgnoreLayout ()
void put_IgnoreLayout (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether the position of a diagram item can be changed by automatic layout methods. If enabled, the position of an item won't be changed.

See Also

Box Members
Box Class
FlowChartPro Namespace
Locked Property


FlowChartPro.Box.IncmAnchor Property

Box.IncmAnchor Property
[image]

Gets or sets at which anchor points incoming arrows are allowed to connect.

Syntax

VB6 [image] Copy Code

Public Property Get IncmAnchor() As EArrowAnchor
Public Property Let IncmAnchor( _
ByVal Value As EArrowAnchor _
)

C++ [image] Copy Code

public:
EArrowAnchor get_IncmAnchor ()
void put_IncmAnchor (
EArrowAnchor value
)

Property Value

A member of the EArrowAnchor enumeration. Initialized with FlowChart.BoxIncmAnchor.

Remarks

Sets an anchor point to which incoming arrows will be connected. The possible values of this property are aaNoAnchor, aaHorzCenter, aaVertCenter, aaLeftCenter, aaRightCenter, aaTopCenter, aaBottomCenter. When arrows are created they are fastened to box anchor points but later the user can move them to different position inside the box, unless the ArrowEndsMovable property is set to false. You can also control if arrow ends position can be changed through the RequestAttachArrow event.

See Also

Box Members
Box Class


FlowChartPro.Box.IncomingArrows Property

Box.IncomingArrows Property
[image]

Gets the collection of arrows that enter into this box.

Syntax

VB6 [image] Copy Code

Public Property Get IncomingArrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_IncomingArrows ()

Property Value

A collection of Arrow objects.

Remarks

Returns a collection of all arrows that relate other nodes to this box. IncomingArrows allows enumerating each incoming arrow and accessing its properties and methods. If there are not arrows coming into the box, the collection Count property is zero.

See Also

Box Members
Box Class
FlowChartPro Namespace
AllowIncomingArrows Property
OutgoingArrows Property
FlowChart.CreateArrow Method


FlowChartPro.Box.LayoutGap Property

Box.LayoutGap Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the amount of space between items in a container box.

Syntax

VB6 [image] Copy Code

Public Property Get LayoutGap() As Long
Public Property Let LayoutGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LayoutGap ()
void put_LayoutGap (
int value
)

Property Value

A long value.

Remarks

The layout gap defines how much space is left between objects inside a container when automatic layout is performed.

See Also

Box Members
Box Class


FlowChartPro.Box.LayoutStyle Property

Box.LayoutStyle Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets a value indicating how the items in a container box are laid out.

Syntax

VB6 [image] Copy Code

Public Property Get LayoutStyle() As ELayoutStyle
Public Property Let LayoutStyle( _
ByVal Value As ELayoutStyle _
)

C++ [image] Copy Code

public:
ELayoutStyle get_LayoutStyle ()
void put_LayoutStyle (
ELayoutStyle value
)

Property Value

A member of the ELayoutStyle enumeration. The default is lsVerticalCentered.

Remarks

This property defines how items inside a container box are oriented and aligned one to another. Every time an item is added to or removed from the container, all items in the container are rearranged as specified by this property. Items are also rearranged if the user resizes any of them. Currently vertical and horizontal layouts with various alignment options are supported.

See Also

Box Members
Box Class


FlowChartPro.Box.Left Property

Box.Left Property
[image]

Gets the X coordinate of the left side of the box bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Left() As Long

C++ [image] Copy Code

public:
int get_Left ()

Property Value

A long value.

Remarks

Gets the left side of the bounding rectangle of the box, measured in document coordinates.

See Also

Box Members
Box Class


FlowChartPro.Box.Locked Property

Box.Locked Property
[image]

Gets or sets a value indicating whether users are allowed to select and modify this box.

Syntax

VB6 [image] Copy Code

Public Property Get Locked() As Boolean
Public Property Let Locked( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Locked ()
void put_Locked (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set to true prevents the user from modifying or moving the box.

See Also

Box Members
Box Class


FlowChartPro.Box.MasterGroup Property

Box.MasterGroup Property
[image]

Gets a reference to the group to which the box is attached.

Syntax

VB6 [image] Copy Code

Public Property Get MasterGroup() As Group

C++ [image] Copy Code

public:
Group* get_MasterGroup ()

Property Value

A reference to a Group object.

Remarks

Holds a reference to the group in which this box is a subordinate object, e.g. it has been added to this group using one of the Attach* methods. The property equals to null (Nothing in Visual Basic) if the box is not attached to any group.

See Also

Box Members
Box Class


FlowChartPro.Box.MnpHandlesMask Property

Box.MnpHandlesMask Property
[image]

Gets or sets what modifications can be applied to a box through its selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get MnpHandlesMask() As Long
Public Property Let MnpHandlesMask( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_MnpHandlesMask ()
void put_MnpHandlesMask (
int value
)

Property Value

A long value. The default is 0xFFFFFFFF.

Remarks

A bit-mask allowing the possible users' modifications to a box to be restricted. Each manipulation handle can be enabled or disabled by setting or clearing the bits in the mask. The correspondence of bits to manipulation handles is shown below, the zero bit being the right most in the binary form of a number.

Bit | Handle location | Function
0 | upper-left corner manipulation handle | resizes the box
1 | upper-right corner manipulation handle | resizes the box
2 | bottom-right corner manipulation handle | resizes the box
3 | bottom-left corner manipulation handle | resizes the box
4 | upper-center manipulation handle | resizes the box vertically
5 | right-center manipulation handle | resizes the box horizontally
6 | bottom-center corner manipulation handle | resizes the box vertically
7 | left-center corner manipulation handle | resizes the box horizontally
8 | central manipulation handle | moves the box
9 | a round handle above the box | rotates the box

Example

To make a box resizable only horizontally, use binary 110100000 (hex. 1A0). That disables all manipulation handles, except the middle left and middle right, which allow horizontal resizing, and the central one allowing movement of the box.

See Also

Box Members
Box Class
FlowChartPro Namespace
Constraints Property
AllowMultipleResize Property


FlowChartPro.Box.Obstacle Property

Box.Obstacle Property
[image]

Gets or sets a value indicating whether this box should be considered an obstacle by the arrow-routing algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get Obstacle() As Boolean
Public Property Let Obstacle( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Obstacle ()
void put_Obstacle (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether a box is treated as an obstacle by the arrow-routing algorithm. If enabled, routed arrows try to find a path around this box; otherwise arrows ignore the box and go straight through it. It is useful to set the property to false for nodes used as decorative containers or labels.

See Also

Box Members
Box Class
FlowChartPro Namespace
IgnoreLayout Property
Arrow.AutoRoute Property


FlowChartPro.Box.OutgAnchor Property

Box.OutgAnchor Property
[image]

Gets or sets at which anchor points outgoing arrows are allowed to connect.

Syntax

VB6 [image] Copy Code

Public Property Get OutgAnchor() As EArrowAnchor
Public Property Let OutgAnchor( _
ByVal Value As EArrowAnchor _
)

C++ [image] Copy Code

public:
EArrowAnchor get_OutgAnchor ()
void put_OutgAnchor (
EArrowAnchor value
)

Property Value

A member of the EArrowAnchor enumeration.

Remarks

Sets an anchor point to which outgoing arrows will be connected. The possible values of this property are aaNoAnchor, aaHorzCenter, aaVertCenter, aaLeftCenter, aaRightCenter, aaTopCenter, aaBottomCenter. When arrows are created they are fastened to box anchor points but later the user can move them to different position inside the box, unless the ArrowEndsMovable property is set to false. You can also control if arrow ends position can be changed through the RequestAttachArrow event.

See Also

Box Members
Box Class


FlowChartPro.Box.OutgoingArrows Property

Box.OutgoingArrows Property
[image]

Gets a collection of arrows that go out from this box.

Syntax

VB6 [image] Copy Code

Public Property Get OutgoingArrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_OutgoingArrows ()

Property Value

A collection of Arrow objects.

Remarks

Returns a collection of all arrows that relate this box to other nodes. OutgoingArrows allows enumerating each outgoing arrow and accessing its properties and methods. If there are not arrows going out of the box, the collection Count property is zero.

See Also

Box Members
Box Class
FlowChartPro Namespace
AllowOutgoingArrows Property
IncomingArrows Property
FlowChart.CreateArrow Method


FlowChartPro.Box.PenStyle Property

Box.PenStyle Property
[image]

Gets or sets the style of the pen used to draw the box frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenStyle() As EPenStyle
Public Property Let PenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PenStyle ()
void put_PenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. Initialized with FlowChart.PenStyle.

Remarks

Specifies dash style for the pen used to paint box' frame lines. The following values are currently supported: psSolid, psDash, psDot, psDashDot, psDashDotDot. Non-solid dash styles are ignored by the classic Graphics engine if PenWidth is greater than 1.

See Also

Box Members
Box Class


FlowChartPro.Box.PenWidth Property

Box.PenWidth Property
[image]

Gets or sets the width of the pen used to draw the box frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenWidth() As Long
Public Property Let PenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PenWidth ()
void put_PenWidth (
int value
)

Property Value

A long value. Initialized with FlowChart.PenWidth.

Remarks

Gets or sets the width of the pen used to paint box' frame lines. A positive value specifies that the width of the pen is inside the outline of the box shape. A negative value specifies that the absolute width of the pen is centered on the outline of the shape.

See Also

Box Members
Box Class


FlowChartPro.Box.Picture Property

Box.Picture Property
[image]

Gets or sets the image displayed inside the box.

Syntax

VB6 [image] Copy Code

Public Property Get Picture() As IPictureDisp
Public Property Let Picture( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Picture ()
void put_Picture (
IPictureDisp* value
)

Property Value

A picture object.

Remarks

Gets or sets the picture that is displayed in the box. The SetPictureRect method of the ShapeTemplate class lets you specify a rectangular area inside the box in which the image should be painted. Use the PicturePos property to specify whether and how the picture is aligned, stretched or tiled in that area. If the box shape is non-rectangular, the picture is clipped to match the shape outlines.

If there isn't any image assigned to this property, the box displays the Picture specified in its Shape definition.

Nodes can display transparent icons or gif images too. If you develop in Visual Basic, please note that the VB picture box control and LoadPicture method can load transparent gif images successfully, but in a format that doesn't allow saving their transparency information later. If you need to save diagrams that contain transparent images, use the FlowChartX LoadPicture methods to load these images initially.

See Also

Box Members
Box Class
FlowChartPro Namespace
LoadImageFromUrl Method


FlowChartPro.Box.PicturePos Property

Box.PicturePos Property
[image]

Gets or sets the alignment and stretch mode of the box Picture.

Syntax

VB6 [image] Copy Code

Public Property Get PicturePos() As EPicturePos
Public Property Let PicturePos( _
ByVal Value As EPicturePos _
)

C++ [image] Copy Code

public:
EPicturePos get_PicturePos ()
void put_PicturePos (
EPicturePos value
)

Property Value

A member of the EPicturePos enumeration. The default is picStretch.

Remarks

Specifies how the Picture is aligned to the bounding rectangle of this box. picStretch and picFit make the picture stretched to cover the box area, respectively non-proportionally or proportionally. picTile tiles several copies of the picture over the box. The picCenter value centers the picture inside the box. Other EPicturePos values align the picture to the corresponding box corner or side.

If the box Style is set to bsShape, the image is aligned to the rectangular area specified via the SetPictureRect method of the ShapeTemplate class.

See Also

Box Members
Box Class


FlowChartPro.Box.PlainText Property

Box.PlainText Property
[image]

Gets the plain text of this box.

Syntax

VB6 [image] Copy Code

Public Property Get PlainText() As String

C++ [image] Copy Code

public:
BSTR get_PlainText ()

Property Value

A string value.

Remarks

Removes any formatting tags from box' Text and returns the plain human-readable text. That is useful when styled text is enabled and you need to display box' content outside of FlowChartX, e.g. in a message box or a dialog.

See Also

Box Members
Box Class
FlowChartPro Namespace
EnableStyledText Property


FlowChartPro.Box.Printable Property

Box.Printable Property
[image]

Gets or sets a value indicating whether this box is drawn on paper when printing.

Syntax

VB6 [image] Copy Code

Public Property Get Printable() As Boolean
Public Property Let Printable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Printable ()
void put_Printable (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether a box is to be rendered during print or print-preview operations.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlowChart.PrintDiagram Method
FlowChart.PreviewDiagram Method


FlowChartPro.Box.Right Property

Box.Right Property
[image]

Gets the X coordinate of the right side of the box bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Right() As Long

C++ [image] Copy Code

public:
int get_Right ()

Property Value

A long value.

Remarks

Returns the right side of the bounding rectangle of a box, measured in document coordinates.

See Also

Box Members
Box Class


FlowChartPro.Box.RotateContents Property

Box.RotateContents Property
[image]

Gets or sets a value indicating whether the Picture is rotated when the box is rotated.

Syntax

VB6 [image] Copy Code

Public Property Get RotateContents() As Boolean
Public Property Let RotateContents( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RotateContents ()
void put_RotateContents (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If this property is set to true, the Picture of a box is rotated around the box center at the same angle as of the box rotation. If the property is set to false, the box Picture is clipped by the rotated box outline even if the picture is not rotated.

In FlowChartX versions prior to 4.1.2, the RotateContents property applied to both rotating the picture and the text in a box. In the new version 4.1.2, the RotateContents property enables rotating only the Picture displayed inside a box, and the RotateText property enables rotating the text.

See Also

Box Members
Box Class
FlowChartPro Namespace
RotationAngle Property
FollowMasterRotation Property


FlowChartPro.Box.RotateText Property

Box.RotateText Property
[image]

Gets or sets a value indicating whether the text in a box is rotated when the box is rotated.

Syntax

VB6 [image] Copy Code

Public Property Get RotateText() As Boolean
Public Property Let RotateText( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RotateText ()
void put_RotateText (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If this property is set to true, the Text of a box is rotated around the box center at the same angle as the box rotation. If the property is set to false, the text of a box whose TextStyle is set to one of the tsFitPoly* values stays horizontal, but it adapts to the rotated outline of the box.

See Also

Box Members
Box Class
FlowChartPro Namespace
RotationAngle Property
RotateContents Property


FlowChartPro.Box.RotationAngle Property

Box.RotationAngle Property
[image]

Gets or sets the angle at which this box is rotated.

Syntax

VB6 [image] Copy Code

Public Property Get RotationAngle() As Single
Public Property Let RotationAngle( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_RotationAngle ()
void put_RotationAngle (
float value
)

Property Value

A float value. The default is 0.

Remarks

Only boxes whose Style is set to bsShape can be rotated. Rotation is done around the center of a box, and it affects the box outline, decoration lines and text position. The Text and Picture of a box follow its rotation if the RotateText and RotateContents properties are enabled. Even if your application does not need rotation of geometric shapes, it can still use rotated Transparent boxes to implement rotated text labels and images attached to composite objects.

The rotation angle grows in clockwise direction. Any value can be assigned programmatically to the property - FlowChartX will use its modulo 360 as a rotation angle. If a user rotates a box with the rotation handle, the values of this property range from -180 to +180 degrees. By default users are allowed to rotate bsShape boxes; to disable interactive rotation, clear the 9th bit in MnpHandlesMask.

Rotation is not supported by the classic GDI graphics engine when running on Win9X operating systems. GDI+ supports rotation on Windows 98 and ME, but cannot be used on Windows 95.

See Also

Box Members
Box Class
FlowChartPro Namespace
SetRect Method
FollowMasterRotation Property


FlowChartPro.Box.Selected Property

Box.Selected Property
[image]

Gets a value indicating whether the box is selected.

Syntax

VB6 [image] Copy Code

Public Property Get Selected() As Boolean

C++ [image] Copy Code

public:
bool get_Selected ()

Property Value

A boolean value.

Remarks

Returns true if the box is selected, no matter alone or in multiple-selection.

See Also

Box Members
Box Class


FlowChartPro.Box.SelStyle Property

Box.SelStyle Property
[image]

Gets or sets a value indicating how box selection handles behave and what they look like.

Syntax

VB6 [image] Copy Code

Public Property Get SelStyle() As ESelStyle
Public Property Let SelStyle( _
ByVal Value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_SelStyle ()
void put_SelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration. Initialized with FlowChart.BoxSelStyle.

Remarks

Specifies how a selected box is indicated visually. In addition the property defines how manipulation of the box can be done, i.e. how to move it, resize it or link it to other objects. You can choose between the following styles:

  • sstInvisible - the selection is not indicated visually. The box can be resized by dragging the borders and corners of its bounding rectangle. Clicking inside the box interior, near the borders, and dragging starts arrow creation. Clicking near its center and dragging starts moving the box.
  • sstSquareHandles - the selection is indicated by drawing square handles around the box and at its center. The box can be moved or resized by dragging those handles. Clicking inside the box interior and dragging starts arrow creation.
  • sstDashFrame - the selection is indicated by drawing dashed frame around the box. The box can be resized by dragging the borders and corners of that frame. Clicking inside the box interior, near the borders, and dragging starts arrow creation. Clicking near the center and dragging starts moving the box.
  • sstHatchFrame - the selection is indicated by drawing hatched frame around the box. The box can be resized by dragging the borders and corners of that frame. Clicking inside the box interior, near the borders, and dragging starts arrow creation. Clicking near its center and dragging starts moving the box.
  • sstHatchHandles - the selection is indicated by drawing square handles and hatched frame around the box. The box can be resized by dragging those handles, and moved by dragging the frame. Clicking inside the box interior starts arrow creation.

See Also

Box Members
Box Class
FlowChartPro Namespace
FlowChart.BoxSelStyle Property


FlowChartPro.Box.ShadowOffsetX Property

Box.ShadowOffsetX Property
[image]

Gets or sets the horizontal offset of a shadow from the box that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetX() As Long
Public Property Let ShadowOffsetX( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetX ()
void put_ShadowOffsetX (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetX.

See Also

Box Members
Box Class


FlowChartPro.Box.ShadowOffsetY Property

Box.ShadowOffsetY Property
[image]

Gets or sets the vertical offset of a shadow from the box that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetY() As Long
Public Property Let ShadowOffsetY( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetY ()
void put_ShadowOffsetY (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetY.

See Also

Box Members
Box Class


FlowChartPro.Box.Shape Property

Box.Shape Property
[image]

Gets or sets the shape of a box whose Style is set to bsShape.

Syntax

VB6 [image] Copy Code

Public Property Get Shape() As ShapeTemplate
Public Property Let Shape( _
ByVal Value As ShapeTemplate _
)

C++ [image] Copy Code

public:
ShapeTemplate* get_Shape ()
void put_Shape (
ShapeTemplate* value
)

Property Value

A reference to a ShapeTemplate object.

Remarks

Specifies the shape of box' outline to be used for hit-testing, clipping and finding intersections with arrows. The shape might also contain a definition of region in which box' text is to be rendered. You can access existing shape templates to assign to box, via the Shapes array indexed with shape string identifier. Assigning a shape to this property automatically sets Style to bsShape.

Example

The following code assigns the Procedure flowcharting shape to the active diagram node:

VB6 [image] Copy Code

fcx.ActiveBox.Shape = fcx.Shapes("Procedure")
fcx.ActiveBox.ShapeOrientation = 90

See Also

Box Members
Box Class
FlowChartPro Namespace
RotationAngle Property
AllowFlip Property


FlowChartPro.Box.ShapeOrientation Property

Box.ShapeOrientation Property
[image]

Gets or sets a shape rotation applied when calculating the shape vertex coordinates inside the box bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get ShapeOrientation() As Integer
Public Property Let ShapeOrientation( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ShapeOrientation ()
void put_ShapeOrientation (
short value
)

Property Value

A short value. The allowed values are 0/90/180/270. Initialized with FlowChart.ShapeOrientation.

Remarks

The template applied to a box' Shape is rotated at this angle to determine the final coordinates of the shape.

See Also

Box Members
Box Class


FlowChartPro.Box.Style Property

Box.Style Property
[image]

Gets or sets the style of this box.

Syntax

VB6 [image] Copy Code

Public Property Get Style() As EBoxStyle
Public Property Let Style( _
ByVal Value As EBoxStyle _
)

C++ [image] Copy Code

public:
EBoxStyle get_Style ()
void put_Style (
EBoxStyle value
)

Property Value

A member of the EBoxStyle enumeration. Initialized with FlowChart.BoxStyle.

Remarks

Defines what a box looks like and the way it can be interacted with. The simple styles define only the outline of boxes. That outline is drawn with the color set via FrameColor. The interior is painted with FillColor. The following simple styles are available:

bsRect | The box has rectangular form.
bsEllipse | The box has elliptic form.
bsRoundRect | The box is rectangle with rounded corners.
bsRhombus | The box has the shape of a rhombus.
bsDelay | 'D'-like symbol denoting delay in process diagrams.

You can define your custom shapes composed of straight lines and Bezier curves. It is also possible to create and use dll libraries of shapes, which can be plugged into the FlowChartX rendering engine. Set the box' style to one of the following:

bsPolygon | Any polygonal shape can be assigned to the box. See SetPolyShape for details. Additionally, you can choose from more than 50 predefined shapes - consult LoadPredefShape for further details.
bsShape | A shape template consisting of straight or curved outline, decorations, text region definition and default anchor point pattern can be assigned to the Shape property of boxes. If no shape is assigned to a box, the DefaultShape property is used.
bsLibShape | ( [image] a feature of FlowChartX Pro edition) The box shape is loaded from a shape library. Shape libraries are dlls that can be plugged into the FlowChartX rendering engine. You can create your own libraries or download some from MindFusion's web site.

FlowChartX diagram nodes can host ActiveX and VB controls. You could create your own controls, or get ready-made to use as advanced entity viewers / editors for your ER diagrams. It is also possible to bind boxes to ordinary windows - either standard UI controls, or windows of your own WNDCLASS:

bsAxControl | ( [image] a feature of FlowChartX Pro edition) The box hosts an ActiveX control, whose class identifier is specified via AxControlId. Check Hosting ActiveX Controls for more information.
bsWindow | ( [image] a feature of FlowChartX Pro edition) The box contains a window. Call the BindToControl method to bind a box to an existing window handle.

Boxes can act as containers of other nodes; set the style to:

bsContainer

( [image] a feature of FlowChartX Pro edition)

The box can contain other objects; the contained objects are automatically arranged inside their container when new items are added or removed.

See Also

Box Members
Box Class
FlowChartPro Namespace
RotationAngle Property


FlowChartPro.Box.SubordinateGroup Property

Box.SubordinateGroup Property
[image]

Gets a reference to the group of objects that are attached to this box.

Syntax

VB6 [image] Copy Code

Public Property Get SubordinateGroup() As Group

C++ [image] Copy Code

public:
Group* get_SubordinateGroup ()

Property Value

A reference to a Group object.

Remarks

Holds a reference to the group of which this box is the main object. The property equals to null (Nothing in Visual Basic) if there is no group attached to the box.

See Also

Box Members
Box Class


FlowChartPro.Box.Tag Property

Box.Tag Property
[image]

Gets or sets a custom integer value associated with this box.

Syntax

VB6 [image] Copy Code

Public Property Get Tag() As Long
Public Property Let Tag( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Tag ()
void put_Tag (
int value
)

Property Value

A long value. The default is 0.

Remarks

Contains user-defined integer data. Possible usage includes storing an integer identifier or a pointer to a larger structure.

See Also

Box Members
Box Class
FlowChartPro Namespace
VariantTag Property


FlowChartPro.Box.Text Property

Box.Text Property
[image]

Gets or sets the text to display inside this box.

Syntax

VB6 [image] Copy Code

Public Property Get Text() As String
Public Property Let Text( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Text ()
void put_Text (
BSTR value
)

Property Value

A string value. Initialized with FlowChart.BoxText.

Remarks

Sets text displayed in the box. Text can be aligned in different ways as pointed by the TextStyle property. HTML-like tags can be used to apply additional formatting to text if EnableStyledText is set to true.

See Also

Box Members
Box Class
FlowChartPro Namespace
PlainText Property
FitSizeToText Method
SetTextPadding Method


FlowChartPro.Box.TextAntiAliasing Property

Box.TextAntiAliasing Property
[image]

Gets or sets the type of text anti aliasing.

Syntax

VB6 [image] Copy Code

Public Property Get TextAntiAliasing() As ETextAntiAlias
Public Property Let TextAntiAliasing( _
ByVal Value As ETextAntiAlias _
)

C++ [image] Copy Code

public:
ETextAntiAlias get_TextAntiAliasing ()
void put_TextAntiAliasing (
ETextAntiAlias value
)

Property Value

A member of the ETextAntiAlias enumeration. The default is taaSystemDefault.

Remarks

Text antialiasing is available only in GDI+ Graphics mode.

See Also

Box Members
Box Class
FlowChartPro Namespace
Text Property
Font Property


FlowChartPro.Box.TextColor Property

Box.TextColor Property
[image]

Gets or sets the color used to draw the box' Text.

Syntax

VB6 [image] Copy Code

Public Property Get TextColor() As Long
Public Property Let TextColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TextColor ()
void put_TextColor (
unsigned int value
)

Property Value

A color value. Initialized with FlowChart.TextColor.

See Also

Box Members
Box Class


FlowChartPro.Box.TextStyle Property

Box.TextStyle Property
[image]

Gets or sets the alignment style of the box' Text.

Syntax

VB6 [image] Copy Code

Public Property Get TextStyle() As ETextStyle
Public Property Let TextStyle( _
ByVal Value As ETextStyle _
)

C++ [image] Copy Code

public:
ETextStyle get_TextStyle ()
void put_TextStyle (
ETextStyle value
)

Property Value

A member of the ETextStyle enumeration. Initialized with FlowChart.TextStyle.

Remarks

Sets the position and alignment of text rendered inside a box. Values can be any of these:

tsCenter | Single line of text, centered horizontally and vertically;
tsTop | Horizontally centered line of text at the top of the box;
tsBottom | Horizontally centered line of text at the bottom of the box;
tsLeft | Vertically centered line of text starting at the left side of the box;
tsRight | Vertically centered line of text ending at the right side of the box;
tsLeftML | Multiple left-aligned lines of text;
tsRightML | Multiple right-aligned lines of text;
tsCenterML | Multiple horizontally centered lines of text;
tsBelow | Text is displayed below the box, as for desktop icons. The maximal width of the text can be changed via IconTextWidth.
tsFitPolyTop | Text is formatted inside a polygonal shape, starting from the top. Valid for boxes of Style bsPolygon and bsShape.
tsFitPolyCenter | Text is formatted inside a polygonal shape, centered vertically. Valid for boxes of Style bsPolygon and bsShape.
tsFitPolyBottom | Text is formatted inside a polygonal shape, starting from the bottom. Valid for boxes of Style bsPolygon and bsShape.

See Also

Box Members
Box Class
FlowChartPro Namespace
EnableStyledText Property


FlowChartPro.Box.ToolTip Property

Box.ToolTip Property
[image]

Gets or sets a short text message displayed when the mouse pointer rests over this box.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTip() As String
Public Property Let ToolTip( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_ToolTip ()
void put_ToolTip (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Sets or gets the text to be displayed as a tool-tip if the mouse pointer stays for a while over a box. To get multi-lined tool-tips, specify a string containing standard EOL line dividers.

Example

The code below sets multi-line tooltip.

See Also

Box Members
Box Class
FlowChartPro Namespace
ToolTipDelay Property
ShowToolTips Property


FlowChartPro.Box.Top Property

Box.Top Property
[image]

Gets the Y coordinate of the top side of the box bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Top() As Long

C++ [image] Copy Code

public:
int get_Top ()

Property Value

A long value.

Remarks

Gets the top side of the bounding rectangle of a box measured, in document coordinates.

See Also

Box Members
Box Class


FlowChartPro.Box.Transparent Property

Box.Transparent Property
[image]

Gets or sets a value indicating whether the box frame lines and interior should be painted.

Syntax

VB6 [image] Copy Code

Public Property Get Transparent() As Boolean
Public Property Let Transparent( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Transparent ()
void put_Transparent (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

A transparent box has only its Picture and Text painted. There is no frame drawn around such a box, nor its interior is filled. Possible usages include simulating floating text or images in a FlowChartX document. Optionally, the Shape decoration lines can be drawn for transparent boxes if the respective flag in RenderFlags is enabled.

See Also

Box Members
Box Class


FlowChartPro.Box.UserData Property

Box.UserData Property
[image]

Gets or sets a custom integer value associated with this box.

Syntax

VB6 [image] Copy Code

Public Property Get UserData() As Long
Public Property Let UserData( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_UserData ()
void put_UserData (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data that is not used by FlowChartX in any way. Possible usage includes storing some integer identifier or a pointer to a larger structure.

See Also

Box Members
Box Class


FlowChartPro.Box.UserString Property

Box.UserString Property
[image]

Gets or sets a custom string value associated with this box.

Syntax

VB6 [image] Copy Code

Public Property Get UserString() As String
Public Property Let UserString( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_UserString ()
void put_UserString (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

User-defined string that is not used by FlowChartX in any way. Possible usage includes storing a string identifier or a hidden text associated with the box.

See Also

Box Members
Box Class


FlowChartPro.Box.VariantTag Property

Box.VariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with this box.

Syntax

VB6 [image] Copy Code

Public Property Get VariantTag() As Object
Public Property Let VariantTag( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_VariantTag ()
void put_VariantTag (
IDispatch* value
)

Property Value

A COM VARIANT structure.

Remarks

Contains user defined data that can be represented with a VARIANT structure. The property is serialized when saving files if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANTs.

See Also

Box Members
Box Class
FlowChartPro Namespace
Tag Property


FlowChartPro.Box.Visible Property

Box.Visible Property
[image]

Gets or sets value indicating whether this box is visible.

Syntax

VB6 [image] Copy Code

Public Property Get Visible() As Boolean
Public Property Let Visible( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Visible ()
void put_Visible (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

A box can be made completely invisible by assigning false to this property. If invisible, no part of the box will be painted (as opposed to Transparent, where box' text and picture are still painted). Note that collapsing / expanding of box hierarchical structures is implemented by setting the child boxes and their connecting arrows respectively invisible / visible. Thus, you can use this property to determine if collapsing a tree hides a box.

The ToolTip of an invisible box is not displayed.

See Also

Box Members
Box Class


FlowChartPro.Box.Weight Property

Box.Weight Property
[image]

Gets or sets a weight value used in layout and path-finding algorithms.

Syntax

VB6 [image] Copy Code

Public Property Get Weight() As Single
Public Property Let Weight( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_Weight ()
void put_Weight (
float value
)

Property Value

A float value specifying the weight of this item. The default value is 1.

Remarks

Currently node weights are used in the implementation of TreeMapLayout, where the ratio of node areas corresponds to the ratio of their weights.

See Also

Box Members
Box Class


FlowChartPro.Box.WindowFrame Property

Box.WindowFrame Property
[image]

Gets or sets the border style of the window in which a hosted ActiveX control resides.

Syntax

VB6 [image] Copy Code

Public Property Get WindowFrame() As ECellBorders
Public Property Let WindowFrame( _
ByVal Value As ECellBorders _
)

C++ [image] Copy Code

public:
ECellBorders get_WindowFrame ()
void put_WindowFrame (
ECellBorders value
)

Property Value

A member of the ECellBorders enumeration. Initialized with FlowChart.BoxWindowFrame.

Remarks

This property is useful for boxes whose Style is set to bsAxControl. The following values can be assigned to it:

cbNone | Do not draw borders around the hosted control.
cbSimple | Draw simple borders around the control.
cbSystem3D | Draw borders as 3D edges using the system 3D colors.

See Also

Box Members
Box Class
FlowChartPro Namespace
AxControl Property


FlowChartPro.Box.ZIndex Property

Box.ZIndex Property
[image]

Gets or sets the position of this box in the Z order.

Syntax

VB6 [image] Copy Code

Public Property Get ZIndex() As Long
Public Property Let ZIndex( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ZIndex ()
void put_ZIndex (
int value
)

Property Value

A long value.

Remarks

Holds the index of an item in the Z order. Its value can vary from 0 to 'number of objects in the document - 1'.

See Also

Box Members
Box Class


FlowChartPro.ButtonImages Class

ButtonImages Class
Remarks See Also
[image]

Allows changing the images used to display intrinsic button controls.

Syntax

VB6 [image] Copy Code

Public Class ButtonImages

C++ [image] Copy Code

class ButtonImages

Remarks

A member of this class can be accessed via the ButtonImages property of the FlowChart class.

See Also

ButtonImages Members


FlowChartPro.ButtonImages Members

ButtonImages Members
Properties
[image]

Allows changing the images used to display intrinsic button controls.

The following tables list the members exposed by the ButtonImages type.

Public Properties

Name | Description
Collapse | Gets or sets the image to display for the 'Collapse' button of expandable nodes.
Expand | Gets or sets the image to display for the 'Expand' button of expandable nodes.
Scroll | Gets or sets the image to display for the scroller in the caption area of scrollable tables.

See Also

ButtonImages Class


FlowChartPro.ButtonImages Properties

ButtonImages Properties
[image]

Public Properties

Name | Description
Collapse | Gets or sets the image to display for the 'Collapse' button of expandable nodes.
Expand | Gets or sets the image to display for the 'Expand' button of expandable nodes.
Scroll | Gets or sets the image to display for the scroller in the caption area of scrollable tables.

See Also

ButtonImages Class


FlowChartPro.ButtonImages.Collapse Property

ButtonImages.Collapse Property
[image]

Gets or sets the image to display for the 'Collapse' button of expandable nodes.

Syntax

VB6 [image] Copy Code

Public Property Get Collapse() As IPictureDisp
Public Property Let Collapse( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Collapse ()
void put_Collapse (
IPictureDisp* value
)

Property Value

A picture object. The default is a small "+" icon.

See Also

ButtonImages Members
ButtonImages Class


FlowChartPro.ButtonImages.Expand Property

ButtonImages.Expand Property
[image]

Gets or sets the image to display for the 'Expand' button of expandable nodes.

Syntax

VB6 [image] Copy Code

Public Property Get Expand() As IPictureDisp
Public Property Let Expand( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Expand ()
void put_Expand (
IPictureDisp* value
)

Property Value

A picture object. The default is a small "-" icon.

See Also

ButtonImages Members
ButtonImages Class


FlowChartPro.ButtonImages.Scroll Property

ButtonImages.Scroll Property
[image]

Gets or sets the image to display for the scroller in the caption area of scrollable tables.

Syntax

VB6 [image] Copy Code

Public Property Get Scroll() As IPictureDisp
Public Property Let Scroll( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Scroll ()
void put_Scroll (
IPictureDisp* value
)

Property Value

A picture object.

See Also

ButtonImages Members
ButtonImages Class


FlowChartPro.CircularLayout Class

CircularLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a circular graph layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class CircularLayout

C++ [image] Copy Code

class CircularLayout

Remarks

This layout algorithm distributes nodes evenly on the circumference of a circle at positions that result in as few link crossing as possible. Set the Radius property to specify the size of the layout circle. Use SiftingRounds to set the number of fine-tuning crossing-reduction iterations. To apply the layout to a diagram, create a CircularLayout instance, set its members and invoke the ArrangeDiagram method.

See Also

CircularLayout Members


FlowChartPro.CircularLayout Members

CircularLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a circular graph layout algorithm.

The following tables list the members exposed by the CircularLayout type.

Public Constructors

Name | Description
CircularLayout | Initializes a new instance of the CircularLayout class.

Public Properties

Name | Description
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
Radius | Gets or sets the radius of the layout circle.
SiftingRounds | Gets or sets the number of sifts to perform during the layout.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

See Also

CircularLayout Class


FlowChartPro.CircularLayout Constructor

CircularLayout Constructor
[image]

Initializes a new instance of the CircularLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
CircularLayout ()

See Also

CircularLayout Class


FlowChartPro.CircularLayout Properties

CircularLayout Properties
[image]

Public Properties

Name | Description
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
Radius | Gets or sets the radius of the layout circle.
SiftingRounds | Gets or sets the number of sifts to perform during the layout.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

See Also

CircularLayout Class


FlowChartPro.CircularLayout.MultipleGraphsPlacement Property

CircularLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal Value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

Remarks

If the diagram contains several unconnected subgraphs, each of them is processed by the algorithm independently from the others. This property specifies how such subgraphs should be placed one relatively to another. The possible options are to arrange them in a row, in a column, or in such a way that the diagram covers a minimal area.

See Also

CircularLayout Members
CircularLayout Class
FlowChartPro Namespace
SplitGraph Property


FlowChartPro.CircularLayout.Radius Property

CircularLayout.Radius Property
[image]

Gets or sets the radius of the layout circle.

Syntax

VB6 [image] Copy Code

Public Property Get Radius() As Long
Public Property Let Radius( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Radius ()
void put_Radius (
int value
)

Property Value

A long value. The default is 250.

Remarks

Set Radius to a value proportional to (number of nodes) * (mean node size) / PI to place nodes at uniform distance from each other that does not depend on the number of nodes in the graph.

See Also

CircularLayout Members
CircularLayout Class


FlowChartPro.CircularLayout.SiftingRounds Property

CircularLayout.SiftingRounds Property
[image]

Gets or sets the number of sifts to perform during the layout.

Syntax

VB6 [image] Copy Code

Public Property Get SiftingRounds() As Long
Public Property Let SiftingRounds( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_SiftingRounds ()
void put_SiftingRounds (
int value
)

Property Value

A long value. The default is 1.

Remarks

After calculating the initial placement of nodes using a fast but inaccurate layout function, the algorithm can run a few sifting rounds to reduce the link crossings, as set in this property.

See Also

CircularLayout Members
CircularLayout Class


FlowChartPro.CircularLayout.SplitGraph Property

CircularLayout.SplitGraph Property
[image]

Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

Syntax

VB6 [image] Copy Code

Public Property Get SplitGraph() As Boolean
Public Property Let SplitGraph( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SplitGraph ()
void put_SplitGraph (
bool value
)

Property Value

A boolean value. The default is true.

See Also

CircularLayout Members
CircularLayout Class
FlowChartPro Namespace
MultipleGraphsPlacement Property


FlowChartPro.DataObject Class

DataObject Class
[image]

Syntax

VB6 [image] Copy Code

Public Class DataObject

C++ [image] Copy Code

class DataObject

See Also

DataObject Members


FlowChartPro.DataObject Members

DataObject Members
Properties Methods
[image]

The following tables list the members exposed by the DataObject type.

Public Properties

Name | Description
FileCount |
Files |
HoldsChartData |

Public Methods

Name | Description
GetData |
GetFormat |

See Also

DataObject Class


FlowChartPro.DataObject Methods

DataObject Methods
[image]

Public Methods

Name | Description
GetData |
GetFormat |

See Also

DataObject Class


FlowChartPro.DataObject.GetData Method

DataObject.GetData Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetData( _
ByVal sFormat As Integer _
) As Object

C++ [image] Copy Code

public:
IDispatch* GetData (
short sFormat
)

Parameters

sFormat

Return Value

See Also

DataObject Members
DataObject Class


FlowChartPro.DataObject.GetFormat Method

DataObject.GetFormat Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetFormat( _
ByVal sFormat As Integer _
) As Boolean

C++ [image] Copy Code

public:
bool GetFormat (
short sFormat
)

Parameters

sFormat

Return Value

See Also

DataObject Members
DataObject Class


FlowChartPro.DataObject Properties

DataObject Properties
[image]

Public Properties

Name | Description
FileCount |
Files |
HoldsChartData |

See Also

DataObject Class


FlowChartPro.DataObject.FileCount Property

DataObject.FileCount Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get FileCount() As Integer

C++ [image] Copy Code

public:
short get_FileCount ()

Property Value

See Also

DataObject Members
DataObject Class


FlowChartPro.DataObject.Files Property

DataObject.Files Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Files( _
ByVal Index As Integer _
) As String

C++ [image] Copy Code

public:
BSTR get_Files (
short Index
)

Parameters

Index

Property Value

See Also

DataObject Members
DataObject Class


FlowChartPro.DataObject.HoldsChartData Property

DataObject.HoldsChartData Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get HoldsChartData() As Boolean

C++ [image] Copy Code

public:
bool get_HoldsChartData ()

Property Value

See Also

DataObject Members
DataObject Class


FlowChartPro.DecisionLayout Class

DecisionLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a flowchart layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class DecisionLayout

C++ [image] Copy Code

class DecisionLayout

Remarks

This algorithm arranges simple flowcharts consisting of decision boxes with up to three outgoing links per node and activity boxes with a single outgoing link per node. The nodes are arranged in columns and rows, whose distance depends on the HorizontalPadding and VerticalPadding property values. When links share the same row or column, they are placed at a distance specified via LinkPadding.

The layout arranges nodes recursively starting from StartNode. If StartNode is not specified, the algorithm selects the root of the deepest branch of the graph's spanning tree as start node.

The overall orientation of the layout can be set via the Orientation property. There is no distinction made between yes/no links, and the node sides by which links are aligned depend only on the order of links in OutgoingArrows collection. If you have a preferred position for links depending on their yes/no type, make sure the OutgoingArrows collections of nodes are sorted by links' logical values.

See Also

DecisionLayout Members


FlowChartPro.DecisionLayout Members

DecisionLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a flowchart layout algorithm.

The following tables list the members exposed by the DecisionLayout type.

Public Constructors

Name | Description
DecisionLayout | Initializes a new instance of the DecisionLayout class with the default settings.

Public Properties

Name | Description
HorizontalPadding | Gets or sets the horizontal distance between adjacent nodes.
LinkPadding | Gets or sets the distance between parallel links.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
Orientation | Gets or sets the orientation of the arranged diagram.
StartNode | Gets or sets the initial (top-left) node in the arranged diagram.
VerticalPadding | Gets or sets the vertical distance between adjacent nodes.

See Also

DecisionLayout Class


FlowChartPro.DecisionLayout Constructor

DecisionLayout Constructor
[image]

Initializes a new instance of the DecisionLayout class with the default settings.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
DecisionLayout ()

See Also

DecisionLayout Class


FlowChartPro.DecisionLayout Properties

DecisionLayout Properties
[image]

Public Properties

Name | Description
HorizontalPadding | Gets or sets the horizontal distance between adjacent nodes.
LinkPadding | Gets or sets the distance between parallel links.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
Orientation | Gets or sets the orientation of the arranged diagram.
StartNode | Gets or sets the initial (top-left) node in the arranged diagram.
VerticalPadding | Gets or sets the vertical distance between adjacent nodes.

See Also

DecisionLayout Class


FlowChartPro.DecisionLayout.HorizontalPadding Property

DecisionLayout.HorizontalPadding Property
[image]

Gets or sets the horizontal distance between adjacent nodes.

Syntax

VB6 [image] Copy Code

Public Property Get HorizontalPadding() As Long
Public Property Let HorizontalPadding( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_HorizontalPadding ()
void put_HorizontalPadding (
int value
)

Property Value

A long value specifying the distance between adjacent nodes in same row. The default value is 40.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecisionLayout.LinkPadding Property

DecisionLayout.LinkPadding Property
[image]

Gets or sets the distance between parallel links.

Syntax

VB6 [image] Copy Code

Public Property Get LinkPadding() As Long
Public Property Let LinkPadding( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LinkPadding ()
void put_LinkPadding (
int value
)

Property Value

A long value specifying the distance between links that share the same row or column. The default value is 8.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecisionLayout.MultipleGraphsPlacement Property

DecisionLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecisionLayout.Orientation Property

DecisionLayout.Orientation Property
[image]

Gets or sets the orientation of the arranged diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Orientation() As EOrientation
Public Property Let Orientation( _
ByVal value As EOrientation _
)

C++ [image] Copy Code

public:
EOrientation get_Orientation ()
void put_Orientation (
EOrientation value
)

Property Value

A member of the EOrientation enumeration specifying the overall layout orientation. The default value is orVertical.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecisionLayout.StartNode Property

DecisionLayout.StartNode Property
[image]

Gets or sets the initial (top-left) node in the arranged diagram.

Syntax

VB6 [image] Copy Code

Public Property Get StartNode() As Object
Public Property Let StartNode( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_StartNode ()
void put_StartNode (
IDispatch* value
)

Property Value

Reference to a node specifying the start node. The default is null (Nothing in Visual Basic).

Remarks

If this property is null, the layout will select a start node automatically.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecisionLayout.VerticalPadding Property

DecisionLayout.VerticalPadding Property
[image]

Gets or sets the vertical distance between adjacent nodes.

Syntax

VB6 [image] Copy Code

Public Property Get VerticalPadding() As Long
Public Property Let VerticalPadding( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_VerticalPadding ()
void put_VerticalPadding (
int value
)

Property Value

A long value specifying the distance between adjacent nodes in same column. The default value is 40.

See Also

DecisionLayout Members
DecisionLayout Class


FlowChartPro.DecorationLine Class

DecorationLine Class
Remarks See Also
[image]

Decorations are lightweight objects that can be used for drawing background graphics such as frames, lane divider lines, etc.

Syntax

VB6 [image] Copy Code

Public Class DecorationLine

C++ [image] Copy Code

class DecorationLine

Remarks

Decorations do not participate in graph or parent-child relationships with other objects in the flowchart. The locations of control points can be changed through the CtrlPtX and CtrlPtY properties. The line is drawn using a pen whose attributes are specified via the Color, PenStyle and PenWidth properties.

See Also

DecorationLine Members


FlowChartPro.DecorationLine Members

DecorationLine Members
Properties Methods
[image]

Decorations are lightweight objects that can be used for drawing background graphics such as frames, lane divider lines, etc.

The following tables list the members exposed by the DecorationLine type.

Public Properties

Name | Description
Color | Gets or sets the color in which the line should be painted.
CtrlPtX | Gets or sets the X coordinate of the specified end point.
CtrlPtY | Gets or sets the Y coordinate of the specified end point.
Locked | Gets or sets a value indicating whether users are allowed to modify this line.
PenStyle | Gets or sets the dash style of the pen used to draw the line.
PenWidth | Gets or sets the width of the pen used to draw the line.
Printable | Gets or sets a value indicating whether this line should be drawn on paper when printing.
Selected | Gets a value indicating whether this decoration line is selected.
Tag | Gets or sets a custom integer value associated with this line.
ToolTip | Gets or sets a text message displayed when the mouse pointer rests over this line.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this line.
Visible | Gets or sets a value indicating whether this line should be drawn on the screen.
ZIndex | Gets or sets the drawing order of this line within the diagram.

Public Methods

Name | Description
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Start recording the changes made to properties of this line.
Clone | Creates a copy of this decoration line.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stop recording the changes made to properties of this line and add an undo record to the undo/redo history.
GetDecorationLine |
ZBottom | Moves this line to the bottom of the Z order.
ZLevelDown | Moves this line one level down in the Z order.
ZLevelUp | Moves this line one level up in the Z order.
ZTop | Moves this line to the top of the Z order.

See Also

DecorationLine Class


FlowChartPro.DecorationLine Methods

DecorationLine Methods
[image]

Public Methods

Name | Description
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Start recording the changes made to properties of this line.
Clone | Creates a copy of this decoration line.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stop recording the changes made to properties of this line and add an undo record to the undo/redo history.
GetDecorationLine |
ZBottom | Moves this line to the bottom of the Z order.
ZLevelDown | Moves this line one level down in the Z order.
ZLevelUp | Moves this line one level up in the Z order.
ZTop | Moves this line to the top of the Z order.

See Also

DecorationLine Class


FlowChartPro.DecorationLine.BeginUndoRecord Method

DecorationLine.BeginUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Start recording the changes made to properties of this line.

Syntax

VB6 [image] Copy Code

Public Sub BeginUndoRecord( _
ByVal inclConnected As Boolean _
)

C++ [image] Copy Code

public:
void BeginUndoRecord (
bool inclConnected
)

Parameters

inclConnected
Indicates whether to also save undo & redo information for connected objects.

Remarks

FlowChartX automatically records users actions on the flowchart document to enable later undo and redo of any modifications. Some programmatic actions are recorded too - such as creation or deletion of objects. However, programmatic change of most of the object properties will not be recorded automatically in the undo-history. The BeginUndoRecord and EndUndoRecord pair of methods can be used to record a group of modifications to an object, allowing their undo and redo as a single atomic operation.

See Also

DecorationLine Members
DecorationLine Class
FlowChartPro Namespace
FlowChart.BeginUndoRecord Method


FlowChartPro.DecorationLine.Clone Method

DecorationLine.Clone Method
[image]

Creates a copy of this decoration line.

Syntax

VB6 [image] Copy Code

Public Function Clone () As DecorationLine

C++ [image] Copy Code

public:
DecorationLine* Clone ()

Return Value

A DecorationLine instance representing the newly created line.

Remarks

Creates a new decoration line that has the same attributes as this line.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.EndUndoRecord Method

DecorationLine.EndUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Stop recording the changes made to properties of this line and add an undo record to the undo/redo history.

Syntax

VB6 [image] Copy Code

Public Sub EndUndoRecord ()

C++ [image] Copy Code

public:
void EndUndoRecord ()

Remarks

Records in the undo-history a group of property modifications enclosed by this method and a previous call to BeginUndoRecord. You should always match EndUndoRecord with exactly one call to BeginUndoRecord, nesting of Begin/End pairs is not supported. You should avoid deleting attached items while recording is active. Adding and deleting diagram elements is automatically recorded in the undo-history.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.GetDecorationLine Method

DecorationLine.GetDecorationLine Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetDecorationLine () As Long

C++ [image] Copy Code

public:
unsigned int GetDecorationLine ()

Return Value

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ZBottom Method

DecorationLine.ZBottom Method
[image]

Moves this line to the bottom of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZBottom ()

C++ [image] Copy Code

public:
void ZBottom ()

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ZLevelDown Method

DecorationLine.ZLevelDown Method
[image]

Moves this line one level down in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelDown ()

C++ [image] Copy Code

public:
void ZLevelDown ()

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ZLevelUp Method

DecorationLine.ZLevelUp Method
[image]

Moves this line one level up in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelUp ()

C++ [image] Copy Code

public:
void ZLevelUp ()

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ZTop Method

DecorationLine.ZTop Method
[image]

Moves this line to the top of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZTop ()

C++ [image] Copy Code

public:
void ZTop ()

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine Properties

DecorationLine Properties
[image]

Public Properties

Name | Description
Color | Gets or sets the color in which the line should be painted.
CtrlPtX | Gets or sets the X coordinate of the specified end point.
CtrlPtY | Gets or sets the Y coordinate of the specified end point.
Locked | Gets or sets a value indicating whether users are allowed to modify this line.
PenStyle | Gets or sets the dash style of the pen used to draw the line.
PenWidth | Gets or sets the width of the pen used to draw the line.
Printable | Gets or sets a value indicating whether this line should be drawn on paper when printing.
Selected | Gets a value indicating whether this decoration line is selected.
Tag | Gets or sets a custom integer value associated with this line.
ToolTip | Gets or sets a text message displayed when the mouse pointer rests over this line.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this line.
Visible | Gets or sets a value indicating whether this line should be drawn on the screen.
ZIndex | Gets or sets the drawing order of this line within the diagram.

See Also

DecorationLine Class


FlowChartPro.DecorationLine.Color Property

DecorationLine.Color Property
[image]

Gets or sets the color in which the line should be painted.

Syntax

VB6 [image] Copy Code

Public Property Get Color() As Long
Public Property Let Color( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_Color ()
void put_Color (
unsigned int value
)

Property Value

A color object.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.CtrlPtX Property

DecorationLine.CtrlPtX Property
[image]

Gets or sets the X coordinate of the specified end point.

Syntax

VB6 [image] Copy Code

Public Property Get CtrlPtX( _
ByVal Index As Long _
) As Long
Public Property Let CtrlPtX( _
ByVal Index As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CtrlPtX (
int Index
)
void put_CtrlPtX (
int Index,
int value
)

Parameters

Index

The 0-based index of the point.

Property Value

A long value.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.CtrlPtY Property

DecorationLine.CtrlPtY Property
[image]

Gets or sets the Y coordinate of the specified end point.

Syntax

VB6 [image] Copy Code

Public Property Get CtrlPtY( _
ByVal Index As Long _
) As Long
Public Property Let CtrlPtY( _
ByVal Index As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CtrlPtY (
int Index
)
void put_CtrlPtY (
int Index,
int value
)

Parameters

Index
The 0-based index of the point.

Property Value

A long value.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.Locked Property

DecorationLine.Locked Property
[image]

Gets or sets a value indicating whether users are allowed to modify this line.

Syntax

VB6 [image] Copy Code

Public Property Get Locked() As Boolean
Public Property Let Locked( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Locked ()
void put_Locked (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set the property to true when you want to prevent the user from modifying or moving a decoration line.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.PenStyle Property

DecorationLine.PenStyle Property
[image]

Gets or sets the dash style of the pen used to draw the line.

Syntax

VB6 [image] Copy Code

Public Property Get PenStyle() As EPenStyle
Public Property Let PenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PenStyle ()
void put_PenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration.

Remarks

Specifies dash style for the pen used to draw the line. The following values are currently supported: psSolid, psDash, psDot, psDashDot, psDashDotDot. Non-solid dash styles are ignored by the classic Graphics engine if PenWidth is greater than 1.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.PenWidth Property

DecorationLine.PenWidth Property
[image]

Gets or sets the width of the pen used to draw the line.

Syntax

VB6 [image] Copy Code

Public Property Get PenWidth() As Long
Public Property Let PenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PenWidth ()
void put_PenWidth (
int value
)

Property Value

A long value.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.Printable Property

DecorationLine.Printable Property
[image]

Gets or sets a value indicating whether this line should be drawn on paper when printing.

Syntax

VB6 [image] Copy Code

Public Property Get Printable() As Boolean
Public Property Let Printable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Printable ()
void put_Printable (
bool value
)

Property Value

A boolean value. The default is true.

See Also

DecorationLine Members
DecorationLine Class
FlowChartPro Namespace
PrintDiagram Method
PreviewDiagram Method


FlowChartPro.DecorationLine.Selected Property

DecorationLine.Selected Property
[image]

Gets a value indicating whether this decoration line is selected.

Syntax

VB6 [image] Copy Code

Public Property Get Selected() As Boolean

C++ [image] Copy Code

public:
bool get_Selected ()

Property Value

true if the line is selected; otherwise, false.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.Tag Property

DecorationLine.Tag Property
[image]

Gets or sets a custom integer value associated with this line.

Syntax

VB6 [image] Copy Code

Public Property Get Tag() As Long
Public Property Let Tag( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Tag ()
void put_Tag (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data; its value is not used by FlowChartX in any way. Possible usage might be to store an integer identifier or a pointer to a larger structure.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ToolTip Property

DecorationLine.ToolTip Property
[image]

Gets or sets a text message displayed when the mouse pointer rests over this line.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTip() As String
Public Property Let ToolTip( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_ToolTip ()
void put_ToolTip (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Specifies the text to be displayed as a tool-tip if the mouse pointer stays for a while over a line. To get multi-lined tool-tips, specify a string containing standard EOL line dividers.

See Also

DecorationLine Members
DecorationLine Class
FlowChartPro Namespace
ToolTipDelay Property
ShowToolTips Property


FlowChartPro.DecorationLine.VariantTag Property

DecorationLine.VariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with this line.

Syntax

VB6 [image] Copy Code

Public Property Get VariantTag() As Object
Public Property Let VariantTag( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_VariantTag ()
void put_VariantTag (
IDispatch* value
)

Property Value

A COM VARIANT structure. The default value is empty.

Remarks

Contains user defined data that can be represented with a VARIANT structure. The property is serialized when saving files if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANTs.

See Also

DecorationLine Members
DecorationLine Class
FlowChartPro Namespace
Tag Property


FlowChartPro.DecorationLine.Visible Property

DecorationLine.Visible Property
[image]

Gets or sets a value indicating whether this line should be drawn on the screen.

Syntax

VB6 [image] Copy Code

Public Property Get Visible() As Boolean
Public Property Let Visible( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Visible ()
void put_Visible (
bool value
)

Property Value

A boolean value. The default is true.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.DecorationLine.ZIndex Property

DecorationLine.ZIndex Property
[image]

Gets or sets the drawing order of this line within the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get ZIndex() As Long
Public Property Let ZIndex( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ZIndex ()
void put_ZIndex (
int value
)

Property Value

A long value.

Remarks

Holds the index of a line in the Z order. Its value can vary from 0 to 'number of items in the document - 1'.

See Also

DecorationLine Members
DecorationLine Class


FlowChartPro.EAction Enumeration

EAction Enumeration
[image]

Syntax

VB6 [image] Copy Code

Public Enum EAction

C++ [image] Copy Code

enum EAction

Members

Member name | Value | Description
acNoop | 0 |
acCreate | 1 |
acModify | 2 |
acSplit | 3 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EActionType Enumeration

EActionType Enumeration
[image]

The values of this enumeration are used as arguments of the ActionRedone and ActionUndone events.

Syntax

VB6 [image] Copy Code

Public Enum EActionType

C++ [image] Copy Code

enum EActionType

Members

Member name | Value | Description
actCustom | 0 | Identifies a custom undo/redo record.
actCreate | 1 | Identifies an item creation undo/redo record.
actDelete | 2 | Identifies an item deletion undo/redo record.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EActiveItem Enumeration

EActiveItem Enumeration
[image]

Identifies the type of the diagram's active item; the enumeration members are used as values of the ActiveItemType property.

Syntax

VB6 [image] Copy Code

Public Enum EActiveItem

C++ [image] Copy Code

enum EActiveItem

Members

Member name | Value | Description
aiNone | 0 | There isn't any item selected.
aiBox | 1 | The active item is a box.
aiArrow | 2 | The active item is an arrow.
aiTable | 3 | The active item is a table.
aiDecoration | 4 | The active item is a DecorationLine.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EAnchoring Enumeration

EAnchoring Enumeration
[image]

Specifies how layout algorithms should align arrows to nodes' anchor points; the enumeration members are used as values of the ArrowAnchoring property of layout classes.

Syntax

VB6 [image] Copy Code

Public Enum EAnchoring

C++ [image] Copy Code

enum EAnchoring

Members

Member name | Value | Description
ancIgnore | 0 | Ignore anchor points.
ancKeep | 1 | Keep the original anchor points.
ancReassign | 2 | Assign new anchor points.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowAnchor Enumeration

EArrowAnchor Enumeration
[image]

The enumeration members are used as values of the IncmAnchor and OutgAnchor properties of boxes.

Syntax

VB6 [image] Copy Code

Public Enum EArrowAnchor

C++ [image] Copy Code

enum EArrowAnchor

Members

Member name | Value | Description
aaNoAnchor | 0 | No anchor points defines for a box.
aaHorzCenter | 1 | Use the top and bottom center points as anchor points.
aaVertCenter | 2 | Use the left and right center points as anchor points.
aaLeftCenter | 3 | Use the left center point as an anchor point.
aaRightCenter | 4 | Use the right center point as an anchor point.
aaTopCenter | 5 | Use the top center point as an anchor point.
aaBottomCenter | 6 | Use the bottom center point as an anchor point.
aaPattern | 7 | Use the box' AnchorPattern property to define anchor points.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowCrossings Enumeration

EArrowCrossings Enumeration
[image]

The enumeration members are used as values of the flowchart's ArrowCrossings property.

Syntax

VB6 [image] Copy Code

Public Enum EArrowCrossings

C++ [image] Copy Code

enum EArrowCrossings

Members

Member name | Value | Description
acStraight | 0 | Do not display any special figures at arrows' crossing points.
acArcs | 1 | Display arcs at arrow crossing points.
acBreaking | 2 | Break the arrow lines at their crossing points.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowHead Enumeration

EArrowHead Enumeration
[image]

The enumeration members are used as values of the arrows ArrowHead, ArrowBase and IntermArrowHead properties.

Syntax

VB6 [image] Copy Code

Public Enum EArrowHead

C++ [image] Copy Code

enum EArrowHead

Members

Member name | Value | Description
ahNone | 0 | Do not display an arrowhead shape.
ahArrow | 1 | Display an arrow-like shape.
ahTriangle | 2 | Display a triangle.
ahCircle | 3 | Display a circle.
ahTetragon | 4 | Display a tetragon.
ahRhombus | 5 | Display a rhombus.
ahBowArrow | 6 | Display a bow arrow.
ahPointerArrow | 7 | Display a pointer arrow.
ahPentagon | 8 | Display a pentagon.
ahDoubleArrow | 9 | Display a double arrow.
ahReversed | 10 | Reversed arrowhead.
ahRevTriangle | 11 | Display a reversed triangle.
ahQuill | 12 | Display a quill.
ahRevWithLine | 13 | Reversed arrowhead with intersecting line.
ahRevWithCirc | 14 | Reversed arrowhead with a circle.
ahBackSlash | 15 | Display a back slash.
ahSlash | 16 | Display a slash.
ahDefaultFlow | 17 | "Default flow" in BPMN diagrams.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowHeadElement Enumeration

EArrowHeadElement Enumeration
[image]

Syntax

VB6 [image] Copy Code

Public Enum EArrowHeadElement

C++ [image] Copy Code

enum EArrowHeadElement

Members

Member name | Value | Description
heLine | 0 |
heShape | 1 |
heCircle | 2 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowStyle Enumeration

EArrowStyle Enumeration
[image]

Specifies the style of an arrow; the enumeration members are used as values of the Style property of arrows.

Syntax

VB6 [image] Copy Code

Public Enum EArrowStyle

C++ [image] Copy Code

enum EArrowStyle

Members

Member name | Value | Description
asBezier | 0 | The arrow segments are Bezier curves.
asPolyline | 1 | The arrow segments are straight lines.
asPerpendicular | 2 | The arrow segments are cascading straight lines, changing their orientation alternatively.
asSpline | 3 | The segments of a link are curves forming an interpolating spline that passes through all control points.
asHRigid | 4 | The arrow consists of a single horizontal line segment that binds the connected nodes so they move together vertically.
asVRigid | 5 | The arrow consists of a single vertical line segment that binds the connected nodes so they move together horizontally.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EArrowTextStyle Enumeration

EArrowTextStyle Enumeration
[image]

Specifies the style of arrow's text; the enumeration members are used as values of the TextStyle property of arrows.

Syntax

VB6 [image] Copy Code

Public Enum EArrowTextStyle

C++ [image] Copy Code

enum EArrowTextStyle

Members

Member name | Value | Description
atsCenter | 0 | The text is displayed horizontally above the middle arrow segment or control point, depending on whether there are an odd or even number of segments.
atsRotate | 1 | The text is displayed rotated parallelly to the segment where the text is placed. A long enough segment from the middle arrow segments is chosen for that purpose. Note: Text rotation is supported only by the GDI+ Graphics engine.
atsOverLongestSegment | 2 | The text follows the longest arrow segment and is displayed centered at the segment's middle point.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EAttachType Enumeration

EAttachType Enumeration
[image]

Specifies how a diagram node is attached to its group master.

Syntax

VB6 [image] Copy Code

Public Enum EAttachType

C++ [image] Copy Code

enum EAttachType

Members

Member name | Value | Description
atFixedCorner | 0 | Indicates that the node is attached to a corner point.
atProportional | 1 | Indicates that the node is attached proportionally.
atArrowPoint | 2 | Indicates that the node is attached to the control point of an arrow.
atArrowSegment | 3 | Indicates that the node is attached to the segment of an arrow.
atLongestHSegment | 4 | Indicates that the node is attached to the longest segment of an arrow.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EBehavior Enumeration

EBehavior Enumeration
[image]

Members of this enumeration specify how the control should respond to users' actions and can be assigned to the flowchart's Behavior property.

Syntax

VB6 [image] Copy Code

Public Enum EBehavior

C++ [image] Copy Code

enum EBehavior

Members

Member name | Value | Description
bhModify | 0 | Users can only select existing shapes and arrows, move and modify them. Clicking on empty document area and dragging selects multiple diagram items.
bhCreateBox | 1 | Users can create boxes by drawing with the mouse. Clicking a diagram element selects it and it can be modified. CTRL + dragging selects multiple objects.
bhCreateArrow | 2 | Dragging the mouse when a box is pointed creates a new arrow. If the mouse does not point to a box, selection is created. Clicking on any object selects it.
bhFlowChart | 3 | Default mode for work with flowcharts. Dragging the mouse over empty document area creates a box, and over a box creates an arrow. Clicking on any object selects it. CTRL + dragging selects multiple objects.
bhTableRelations | 4 | Suitable for creating database schemes and entity-relationship diagrams. Dragging the mouse over empty document area creates a table, and over table's row creates an arrow. Clicking on any object selects it. CTRL + dragging selects multiple objects.
bhCreateTable | 5 | Users can create only tables. Clicking a diagram item selects it and it can be modified. CTRL + dragging selects multiple objects.
bhPanAndModify | 6 | Users can only select existing shapes and arrows, move and modify them. Clicking on empty document area and dragging scrolls the document.
bhDoNothing | 7 | The control ignores users actions with the mouse, but raises the appropriate mouse events. This mode allows applications to implement their own mouse-drawing behavior, disabling the FlowChartX default response to users actions.
bhDrawLines | 8 | The control creates DecorationLine objects when the user draws with the mouse.
bhSelectOnly | 9 | Allow only selection of existing items. Modifying them or drawing new ones is disabled.
bhPan | 10 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EBoxStyle Enumeration

EBoxStyle Enumeration
[image]

Specifies the style of a box; the enumeration members are used as values of the Style property of boxes.

Syntax

VB6 [image] Copy Code

Public Enum EBoxStyle

C++ [image] Copy Code

enum EBoxStyle

Members

Member name | Value | Description
bsRect | 0 | The box has rectangular form.
bsEllipse | 1 | The box has elliptic form.
bsRoundRect | 2 | The box is rectangle with rounded corners.
bsRhombus | 3 | The box has the shape of a rhombus.
bsPolygon | 4 | Any polygonal shape can be assigned to the box. See SetPolyShape for details. Additionally, you can choose from more than 50 predefined shapes - consult LoadPredefShape for further details.
bsDelay | 5 | 'D'-like symbol denoting delay in process diagrams.
bsLibShape | 6 | The box shape is loaded from a shape library. Shape libraries are dlls that can be plugged into the FlowChartX rendering engine. You can create your own libraries or download some from MindFusion's web site. For additional information, check the Using Custom Shape Libraries topic.
bsContainer | 7 | The box can contain other objects; the contained objects are automatically arranged inside their container when new items are added or removed.
bsAxControl | 8 | The box hosts an ActiveX control, whose class identifier is specified via AxControlId. Check Hosting ActiveX Controls for more information.
bsWindow | 9 | The box contains a window. Call the BindToControl method to bind a box to an existing window handle.
bsShape | 10 | A shape template consisting of straight or curved outline, decorations, text region definition and default anchor point pattern can be assigned to the Shape property of boxes. If no shape is assigned to a box, the DefaultShape property is used.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ECellBorders Enumeration

ECellBorders Enumeration
[image]

Specifies the style of table cells' border lines. Members of this enumeration can be assigned to the CellBorders property of tables.

Syntax

VB6 [image] Copy Code

Public Enum ECellBorders

C++ [image] Copy Code

enum ECellBorders

Members

Member name | Value | Description
cbNone | 0 | Do not display cell border lines.
cbSimple | 1 | Display simple border lines.
cbSystem3D | 2 | Display cell border lines using the system 3D style.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ECellType Enumeration

ECellType Enumeration
[image]

Specifies the type of UI widget shown in a cell.

Syntax

VB6 [image] Copy Code

Public Enum ECellType

C++ [image] Copy Code

enum ECellType

Members

Member name | Value | Description
ctContent | 0 | The cell displays text and/or image.
ctCheckBox | 1 | The cell contains a checkbox.

Remarks

Members of this enumeration can be assigned to the CellType indexed property.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EClipboardFlag Enumeration

EClipboardFlag Enumeration
[image]

Members of this enumeration are used as indices of the ClipboardFlags indexed property.

Syntax

VB6 [image] Copy Code

Public Enum EClipboardFlag

C++ [image] Copy Code

enum EClipboardFlag

Members

Member name | Value | Description
fCopyAsBitmap | 0 | A flag identifying whether a bitmap image of the diagram should be copied to the Windows clipboard.
fCopyAsEnhancedMetafile | 1 | A flag identifying whether an EMF image of the diagram should be copied to the Windows clipboard.
fCopySubordinateGroups | 2 | Specifies whether the items in subordinated groups should be copied to the clipboard when the group's master item is copied.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EColumnType Enumeration

EColumnType Enumeration
[image]

Members of this enumeration specify the type of a table's column and can be used as arguments of the SetColType method of tables.

Syntax

VB6 [image] Copy Code

Public Enum EColumnType

C++ [image] Copy Code

enum EColumnType

Members

Member name | Value | Description
ctFixedWidth | 0 | The column has a fixed width.
ctAutoWidth | 1 | The column size changes automatically when the table is resized horizontally.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EControlActivation Enumeration

EControlActivation Enumeration
[image]

Members of this enumeration specify how ActiveX control hosted in boxes are activated and can be assigned to the ControlActivation property of boxes.

Syntax

VB6 [image] Copy Code

Public Enum EControlActivation

C++ [image] Copy Code

enum EControlActivation

Members

Member name | Value | Description
caAlwaysActive | 0 | The hosted control always receives its mouse messages.
caWhenSelected | 1 | FlowChartX lets mouse messages pass to the hosted control when its box is selected.
caProgrammatic | 2 | FlowChartX lets mouse messages pass to the hosted control when the box' ActivateControl method is called.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ECustomDraw Enumeration

ECustomDraw Enumeration
[image]

Specifies what type of custom drawing to perform on boxes; the enumeration members can be assigned to the box' CustomDraw property.

Syntax

VB6 [image] Copy Code

Public Enum ECustomDraw

C++ [image] Copy Code

enum ECustomDraw

Members

Member name | Value | Description
cdNone | 0 | No custom drawing for the box.
cdAdditional | 1 | Perform the standard drawing and then raise the CustomDraw event.
cdFull | 2 | Do not perform any standard drawing, just raise CustomDraw.
cdShadowOnly | 3 | Raise the CustomDraw event only for drawing the box shadow.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EDirection Enumeration

EDirection Enumeration
[image]

Specifies directions.

Syntax

VB6 [image] Copy Code

Public Enum EDirection

C++ [image] Copy Code

enum EDirection

Members

Member name | Value | Description
dirLeft | 1 | Indicates left direction.
dirTop | 2 | Indicates top direction.
dirRight | 4 | Indicates right direction.
dirBottom | 8 | Indicates bottom direction.
dirAll | 15 | Indicates all directions.

See Also

FlowChartPro Namespace
AutoSizeDirections Property


FlowChartPro.EDragDataType Enumeration

EDragDataType Enumeration
[image]

Specifies what data is being dragged during drag-and-drop operations.

Syntax

VB6 [image] Copy Code

Public Enum EDragDataType

C++ [image] Copy Code

enum EDragDataType

Members

Member name | Value | Description
dtUnknown | 0 | FlowChartX cannot determine what data is being dragged.
dtText | 1 | Text data is being dragged.
dtPicture | 2 | A picture is being dragged.
dtBox | 3 | A box from the same FlowChartX instance is being dragged.
dtTable | 4 | A table from the same FlowChartX instance is being dragged.
dtSelection | 5 | A selection of items from the same FlowChartX instance is being dragged.
dtFiles | 6 | Files from the Windows Explorer are being dragged.
dtChartData | 7 | Items from another FlowChartX instance are being dragged.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EDragDropMode Enumeration

EDragDropMode Enumeration
[image]

Specifies the control's drag-and-drop handling mode; members of this enumeration can be assigned to the DragDropMode property.

Syntax

VB6 [image] Copy Code

Public Enum EDragDropMode

C++ [image] Copy Code

enum EDragDropMode

Members

Member name | Value | Description
drAutoAccept | 0 | FlowChartX automatically accepts data of the types it recognizes.
drRequestAccept | 1 | FlowChartX raises validation events to let the application accept the data.
drProgrControl | 2 | FlowChartX provides full control over the drag and drop process.
drProgrControlVB | 3 | FlowChartX provides full control over the drag and drop process; the raised events receive as arguments automation compatible data objects.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EEventFlag Enumeration

EEventFlag Enumeration
[image]

Members of this enumeration are used as indices of the EventFlags indexed property.

Syntax

VB6 [image] Copy Code

Public Enum EEventFlag

C++ [image] Copy Code

enum EEventFlag

Members

Member name | Value | Description
fNoClickEventsForLockedObjs | 0 | Allows suppressing the firing of *Clicked and *DblClicked events for items that are Locked.
fNoArrowEventsWhenBoxDeleted | 1 | Allows suppressing the firing of ArrowDeleted events for arrows that are deleted because a box they are linked to is deleted.
fFireKeyDownOnDelete | 2 | Specifies whether the KeyDown event is raised when DEL is pressed.
fRequestCreateArrowForOrigin | 3 | Fires a RequestCreateArrow validation event at the start of arrow drawing operation. Otherwise the event is raised only at the end when the arrow is dragged over its destination box.
fTableCellStartDrag | 4 | Allow firing of TableCellStartDrag event.
fOverrideTreeExpanding | 5 | If enabled, the BoxExpanded and BoxCollapsed events are raised when a user clicks on the +/- button without carrying out the usual expand/collapse processing. That allows overriding the expand/collapse behavior by handling the mentioned events, without any child nodes in the tree being shown or hidden automatically.
fFireMouseUpAfterModfProcessing | 6 | Usually, the MouseUp event is raised before current modifications carried on an item are complete. This flag enables raising MouseUp after the modification is fully carried out, allowing you to get the final state of a modified item from a handler of that event.
fRequestCreateOnMouseMove | 7 | Specifies whether RequestCreate* validation events are raised on each mouse movement, or only when the mouse button is released.
fDisableSelectionDirtyFlag | 8 | By default, flowchart's Dirty property is set when selection changes. If this flag is set, selection operations do not mark the flowchart as changed.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EExpandBtnPos Enumeration

EExpandBtnPos Enumeration
[image]

Members of this enumeration specify where the +/- buttons are displayed relative to Expandable boxes and can be assigned to the flowchart's ExpandBtnPos property.

Syntax

VB6 [image] Copy Code

Public Enum EExpandBtnPos

C++ [image] Copy Code

enum EExpandBtnPos

Members

Member name | Value | Description
ebpOuterRight | 0 | Place expand/collapse buttons at the right-hand side of their nodes.
ebpOuterLowerRight | 1 | Place expand/collapse buttons at the lower-right corner of their nodes.
ebpOuterUpperRight | 2 | Place expand/collapse buttons at the upper-right corner of their nodes.
ebpOuterBottom | 3 | Place expand/collapse buttons at the bottom side of their nodes.
ebpOuterLeft | 4 | Place expand/collapse buttons at the left-hand side of their nodes.
ebpOuterLowerLeft | 5 | Place expand/collapse buttons at the lower-left corner of their nodes.
ebpOuterUpperLeft | 6 | Place expand/collapse buttons at the upper-left corner of their nodes.
ebpOuterTop | 7 | Place expand/collapse buttons at the top side of their nodes.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EFillStyle Enumeration

EFillStyle Enumeration
[image]

Members of this enumeration can be assigned to the FillStyle property of a box to specify what gradient fill mode to use for the box interior.

Syntax

VB6 [image] Copy Code

Public Enum EFillStyle

C++ [image] Copy Code

enum EFillStyle

Members

Member name | Value | Description
fsSolid | 0 | Do not use color gradient to fill the box.
fsGradientH | 1 | Use horizontal gradient defined by the FillColor and FillColor2 properties.
fsGradientV | 2 | Use vertical gradient defined by the FillColor and FillColor2 properties.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EGlassEffectType Enumeration

EGlassEffectType Enumeration
[image]

Specifies the type of a Glass node effect.

Syntax

VB6 [image] Copy Code

Public Enum EGlassEffectType

C++ [image] Copy Code

enum EGlassEffectType

Members

Member name | Value | Description
gtType1 | 0 | Indicates a glass effect with soft radial glow at the bottom and a sharp reflection at the top.
gtType2 | 1 | Indicates a glass effect with linear glow at the bottom and sharp reflection at the top.
gtType3 | 2 | Indicates a glass effect with radial glow at the bottom and smooth reflection and emphasized outline at the top.
gtType4 | 3 | Indicates a glass effect with sharp reflection at the top and soft glow at the left and right sides.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EGraphicsEngine Enumeration

EGraphicsEngine Enumeration
[image]

Identifies a graphics engine supported by FlowChartX; members of the enumeration can be passed as arguments to the StartUp method of the Graphics class.

Syntax

VB6 [image] Copy Code

Public Enum EGraphicsEngine

C++ [image] Copy Code

enum EGraphicsEngine

Members

Member name | Value | Description
geClassic | 0 | Use the classic Windows GDI API for drawing graphic primitives.
geGdiPlus | 1 | Use the GDI+ library for drawing graphic primitives.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EGridStyle Enumeration

EGridStyle Enumeration
[image]

Members of this enumeration can be assigned to the GridStyle property to specify how to visualize the alignment grid.

Syntax

VB6 [image] Copy Code

Public Enum EGridStyle

C++ [image] Copy Code

enum EGridStyle

Members

Member name | Value | Description
gsPoints | 0 | Draw grid points.
gsLines | 1 | Draw grid lines.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EHitTestPriority Enumeration

EHitTestPriority Enumeration
[image]

Members of this enumeration can be assigned to the HitTestPriority property to specify the order in which items are hit-tested.

Syntax

VB6 [image] Copy Code

Public Enum EHitTestPriority

C++ [image] Copy Code

enum EHitTestPriority

Members

Member name | Value | Description
htpZOrder | 0 | Hit-test items according to the Z order.
htpNodesBeforeArrows | 1 | Hit-test nodes before arrows.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EKbdBehavior Enumeration

EKbdBehavior Enumeration
[image]

Members of this enumeration can be assigned to the KbdBehavior property to specify how the arrow keys are handled by FlowChartX.

Syntax

VB6 [image] Copy Code

Public Enum EKbdBehavior

C++ [image] Copy Code

enum EKbdBehavior

Members

Member name | Value | Description
kbScrollView | 0 | The arrow keys scroll the view.
kbMoveObjects | 1 | The arrow keys move the selected object.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EKeyboardFlag Enumeration

EKeyboardFlag Enumeration
[image]

Members of this enumeration are used as indices of the KeyboardFlags indexed property.

Syntax

VB6 [image] Copy Code

Public Enum EKeyboardFlag

C++ [image] Copy Code

enum EKeyboardFlag

Members

Member name | Value | Description
fHandleDelInTranslAcc | 0 | If enabled, the DEL key is processed in the implementation of TranslateAccelerator.
fHandleArrowsInTranslAcc | 1 | If enabled, the arrow keys are processed in the implementation of TranslateAccelerator.
fHandleKeyDownInTranslAcc | 2 | If enabled, all keys are processed in the implementation of TranslateAccelerator.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ELayoutStyle Enumeration

ELayoutStyle Enumeration
[image]

Members of this enumeration can be assigned to the LayoutStyle property to a container box to specify how items are laid out inside that box.

Syntax

VB6 [image] Copy Code

Public Enum ELayoutStyle

C++ [image] Copy Code

enum ELayoutStyle

Members

Member name | Value | Description
lsVerticalCentered | 0 |
lsVerticalLeft | 1 |
lsVerticalRight | 2 |
lsHorizontalCentered | 3 |
lsHorizontalTop | 4 |
lsHorizontalBottom | 5 |
lsCustom | 6 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMarkStyle Enumeration

EMarkStyle Enumeration
[image]

Members of this enumeration can be passed as parameters to the AddAnchorPoint method of an AnchorPattern to specify what the marks drawn a anchor point locations should look like.

Syntax

VB6 [image] Copy Code

Public Enum EMarkStyle

C++ [image] Copy Code

enum EMarkStyle

Members

Member name | Value | Description
msNone | 0 | Do not indicate visually the anchor point location.
msCross | 1 | Draw a cross at the anchor point location.
msX | 2 | Draw an X at the anchor point location.
msCircle | 3 | Draw a circle at the anchor point location.
msRect | 4 | Draw a rectangle at the anchor point location.
msCustom | 5 | Raise the DrawMark event to custom-draw the anchor point.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMeasure Enumeration

EMeasure Enumeration
[image]

Syntax

VB6 [image] Copy Code

Public Enum EMeasure

C++ [image] Copy Code

enum EMeasure

Members

Member name | Value | Description
meArrowHitTestZone | 0 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EModificationStyle Enumeration

EModificationStyle Enumeration
[image]

Specifies how users can start modification of diagram items; members of the enumeration can be assigned to the ModificationStart property.

Syntax

VB6 [image] Copy Code

Public Enum EModificationStyle

C++ [image] Copy Code

enum EModificationStyle

Members

Member name | Value | Description
mdSelectedOnly | 0 | The users must select an item in order to modify it.
mdAutoHandles | 1 | Selection handles appear automatically around an item when it is pointed with the mouse, and users can immediately start modifying the item by dragging a handle.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMouseButton Enumeration

EMouseButton Enumeration
[image]

Specifies what mouse button is pressed when a mouse related event is raised.

Syntax

VB6 [image] Copy Code

Public Enum EMouseButton

C++ [image] Copy Code

enum EMouseButton

Members

Member name | Value | Description
mbLeft | 0 | Indicates that the left mouse button is pressed.
mbRight | 1 | Indicates that the right mouse button is pressed.
mbMiddle | 2 | Indicates that the middle mouse button is pressed.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMouseButtonAction Enumeration

EMouseButtonAction Enumeration
[image]

Specifies what actions can be associated with the middle mouse button.

Syntax

VB6 [image] Copy Code

Public Enum EMouseButtonAction

C++ [image] Copy Code

enum EMouseButtonAction

Members

Member name | Value | Description
mbaNone | 0 | Do not associate any action with the button.
mbaPan | 1 | Pan the view if the mouse is dragged while the button is pressed down.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMouseCursor Enumeration

EMouseCursor Enumeration
[image]

Members of this enumeration can be passed as parameters to the SetMouseCursor method to specify which cursor should be changed.

Syntax

VB6 [image] Copy Code

Public Enum EMouseCursor

C++ [image] Copy Code

enum EMouseCursor

Members

Member name | Value | Description
mcPointer | 0 | The cursor displayed when the mouse points an empty area of the diagram.
mcCannotCreate | 1 | The cursors indicating that item' creation cannot complete at the current location.
mcModify | 2 | A cursor displayed when a node or arrow's control points can be moved if the user starts dragging at the current mouse location.
mcArrowStart | 3 | A cursor displayed when an arrow can be drawn at the current location.
mcArrowEnd | 4 | A cursor displayed when an arrow's end can be connected to the pointed node.
mcArrowCannotCreate | 5 | A cursor displayed when an arrow cannot be created at the current location.
mcHorzResize | 6 | Indicates that a node will be resized horizontally if the user starts dragging at the current mouse location.
mcVertResize | 7 | Indicates that a node will be resized horizontally if the user starts dragging at the current mouse location.
mcMainDgnlResize | 8 | Indicates that a node will be resized along its main diagonal if the user starts dragging at the current mouse location.
mcSecDgnlResize | 9 | Indicates that a node will be resized along its secondary diagonal if the user starts dragging at the current mouse location.
mcRotateShape | 10 | Indicates that a node will be rotated.
mcPan | 11 | The cursor displayed when the user pans the view.
mcCurrent | 12 |

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMultipleGraphsPlacement Enumeration

EMultipleGraphsPlacement Enumeration
[image]

Specifies how multiple subgraphs are placed relatively to each other.

Syntax

VB6 [image] Copy Code

Public Enum EMultipleGraphsPlacement

C++ [image] Copy Code

enum EMultipleGraphsPlacement

Members

Member name | Value | Description
mgpVertical | 0 | Indicates that graphs should be placed in a column.
mgpHorizontal | 1 | Indicates that graphs should be placed in a row.
mgpMinimalArea | 2 | Indicates that graphs should be placed so that they cover minimal area.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EMultiSelStyle Enumeration

EMultiSelStyle Enumeration
[image]

Members of this enumeration can be assigned to the MultiSelStyle property to specify how multiple selection behaves and is drawn on screen.

Syntax

VB6 [image] Copy Code

Public Enum EMultiSelStyle

C++ [image] Copy Code

enum EMultiSelStyle

Members

Member name | Value | Description
msSelHandles | 0 | All selected items have selection handles drawn around them. Dragging any of the handles moves the whole selection.
msRectangle | 1 | There is a rectangle drawn around all selected items. Dragging any point of the rectangle moves the whole selection.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ENodeConstraint Enumeration

ENodeConstraint Enumeration
[image]

Members of this enumeration are used as indices of the Constraints indexed property of nodes.

Syntax

VB6 [image] Copy Code

Public Enum ENodeConstraint

C++ [image] Copy Code

enum ENodeConstraint

Members

Member name | Value | Description
ncMoveDirection | 0 | Allows constraining the node's move direction.
ncMinWidth | 1 | Allows constraining the minimal width of the node.
ncMinHeight | 2 | Allows constraining the minimal height of the node.
ncMaxWidth | 3 | Allows constraining the maximal width of the node.
ncMaxHeight | 4 | Allows constraining the maximal height of the node.
ncKeepInsideDiagram | 5 | Gets or sets a value indicating whether a node should always stay inside the boundaries of the diagram that contains it.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ENodeType Enumeration

ENodeType Enumeration
[image]

Specifies the type of a node.

Syntax

VB6 [image] Copy Code

Public Enum ENodeType

C++ [image] Copy Code

enum ENodeType

Members

Member name | Value | Description
ntBox | 0 | Indicates a box.
ntTable | 1 | Indicates a table.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EOrientation Enumeration

EOrientation Enumeration
[image]

Members of various layout and routing related properties are of this type. It specifies the orientation of an arrow's segment or of a layout overall flow.

Syntax

VB6 [image] Copy Code

Public Enum EOrientation

C++ [image] Copy Code

enum EOrientation

Members

Member name | Value | Description
orHorizontal | 0 | Specifies horizontal orientation.
orVertical | 1 | Specifies vertical orientation.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EPageOrientation Enumeration

EPageOrientation Enumeration
[image]

Members of this enumeration can be assigned to the PageOrientation property of the PrintOptions class to specify the orientation of printed pages.

Syntax

VB6 [image] Copy Code

Public Enum EPageOrientation

C++ [image] Copy Code

enum EPageOrientation

Members

Member name | Value | Description
poUseDefault | 0 | Specifies that the default page orientation set for a printer via its applet in the Control Panel should be used.
poPortrait | 1 | Specifies portrait orientation for printed pages.
poLandscape | 2 | Specifies landscape orientation for printed pages.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EPaperSize Enumeration

EPaperSize Enumeration
[image]

Members of this enumeration can be assigned to the PaperSize property of the PrintOptions class to specify the paper size.

Syntax

VB6 [image] Copy Code

Public Enum EPaperSize

C++ [image] Copy Code

enum EPaperSize

Members

Member name | Value | Description
pszUseDefault | 0 | Use printer's default page size.
pszLetter | 1 | Letter 8 1/2 x 11 in.
pszLetterSmall | 2 | Letter 8 1/2 x 11 in.
pszTabloid | 3 | Tabloid 11 x 17 in.
pszLedger | 4 | Ledger 17 x 11 in.
pszLegal | 5 | Legal 8 1/2 x 14 in.
pszStatement | 6 | Statement 5 1/2 x 8 1/2 in.
pszExecutive | 7 | Executive 7 1/4 x 10 1/2 in.
pszA3 | 8 | A3 297 x 420 mm.
pszA4 | 9 | A4 210 x 297 mm.
pszA4Small | 10 | A4 Small 210 x 297 mm.
pszA5 | 11 | A5 148 x 210 mm.
pszB4 | 12 | B4 (JIS) 250 x 354.
pszB5 | 13 | B5 (JIS) 182 x 257 mm.
pszFolio | 14 | Folio 8 1/2 x 13 in.
pszQuarto | 15 | Quarto 215 x 275 mm.
psz10x14 | 16 | 10x14 in.
psz11x17 | 17 | 11x17 in.
pszNote | 18 | Note 8 1/2 x 11 in.
pszEnv9 | 19 | Envelope #9 3 7/8 x 8 7/8.
pszEnv10 | 20 | Envelope #10 4 1/8 x 9 1/2.
pszEnv11 | 21 | Envelope #11 4 1/2 x 10 3/8.
pszEnv12 | 22 | Envelope #12 4 \276 x 11.
pszEnv14 | 23 | Envelope #14 5 x 11 1/2.
pszCSheet | 24 | C size sheet.
pszDSheet | 25 | D size sheet.
pszESheet | 26 | E size sheet.
pszEnvDL | 27 | Envelope DL 110 x 220mm.
pszEnvC5 | 28 | Envelope C5 162 x 229 mm.
pszEnvC3 | 29 | Envelope C3 324 x 458 mm.
pszEnvC4 | 30 | Envelope C4 229 x 324 mm.
pszEnvC6 | 31 | Envelope C6 114 x 162 mm.
pszEnvC65 | 32 | Envelope C65 114 x 229 mm.
pszEnvB4 | 33 | Envelope B4 250 x 353 mm.
pszEnvB5 | 34 | Envelope B5 176 x 250 mm.
pszEnvB6 | 35 | Envelope B6 176 x 125 mm.
pszEnvItaly | 36 | Envelope 110 x 230 mm.
pszEnvMonarch | 37 | Envelope Monarch 3.875 x 7.5 in.
pszEnvPersonal | 38 | 6 3/4 Envelope 3 5/8 x 6 1/2 in.
pszFanfoldUS | 39 | US Std Fanfold 14 7/8 x 11 in.
pszFanfoldStdGerman | 40 | German Std Fanfold 8 1/2 x 12 in.
pszFanfoldLglGerman | 41 | German Legal Fanfold 8 1/2 x 13 in.
pszIsoB4 | 42 | B4 (ISO) 250 x 353 mm.
pszJapanesePostcard | 43 | Japanese Postcard 100 x 148 mm.
psz9x11 | 44 | 9 x 11 in.
psz10x11 | 45 | 10 x 11 in.
psz15x11 | 46 | 15 x 11 in.
pszEnvInvite | 47 | Envelope Invite 220 x 220 mm.
pszLetterExtra | 50 | Letter Extra 9 \275 x 12 in.
pszLegalExtra | 51 | Legal Extra 9 \275 x 15 in.
pszTabloidExtra | 52 | Tabloid Extra 11.69 x 18 in.
pszA4Extra | 53 | A4 Extra 9.27 x 12.69 in.
pszLetterTransverse | 54 | Letter Transverse 8 \275 x 11 in.
pszA4Transverse | 55 | A4 Transverse 210 x 297 mm.
pszLetterExtraTransverse | 56 | Letter Extra Transverse 9\275 x 12 in.
pszAPlus | 57 | SuperA/SuperA/A4 227 x 356 mm.
pszBPlus | 58 | SuperB/SuperB/A3 305 x 487 mm.
pszLetterPlus | 59 | Letter Plus 8.5 x 12.69 in.
pszA4Plus | 60 | A4 Plus 210 x 330 mm.
pszA5Transverse | 61 | A5 Transverse 148 x 210 mm.
pszB5Transverse | 62 | B5 (JIS) Transverse 182 x 257 mm.
pszA3Extra | 63 | A3 Extra 322 x 445 mm.
pszA5Extra | 64 | A5 Extra 174 x 235 mm.
pszB5Extra | 65 | B5 (ISO) Extra 201 x 276 mm.
pszA2 | 66 | A2 420 x 594 mm.
pszA3Transverse | 67 | A3 Transverse 297 x 420 mm.
pszA3ExtraTransverse | 68 | A3 Extra Transverse 322 x 445 mm.
pszCustom | 65535 | Use a custom paper size set via the PaperWidth and PaperLength properties.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EPenStyle Enumeration

EPenStyle Enumeration
[image]

Members of this enumeration can be assigned to the PenStyle property of an item to specify the style of the pen used to draw the item's frame lines.

Syntax

VB6 [image] Copy Code

Public Enum EPenStyle

C++ [image] Copy Code

enum EPenStyle

Members

Member name | Value | Description
psSolid | 0 | Draws solid lines.
psDash | 1 | Draws dashed lines.
psDot | 2 | Draws the lines as series of dots.
psDashDot | 3 | Draws the lines as dash-dot series.
psDashDotDot | 4 | Draws the lines as dash-dot-dot series.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EPicturePos Enumeration

EPicturePos Enumeration
[image]

Members of this enumeration can be assigned to the PicturePos property of a node to specify how the node's picture should be aligned and positioned.

Syntax

VB6 [image] Copy Code

Public Enum EPicturePos

C++ [image] Copy Code

enum EPicturePos

Members

Member name | Value | Description
picCenter | 0 | Display the picture at the center of the node's bounding rectangle.
picFit | 1 | Resizes the picture so it fills the entire width or height of the node's bounding rectangle without changing the width/height ratio of the picture.
picStretch | 2 | Resizes the picture so it fills the entire bounding rectangle of the node.
picTile | 3 | Tiles the picture across the bounding rectangle of the node.
picTopLeft | 4 | Displays the picture at the top left corner of the bounding rectangle of the node.
picBottomLeft | 5 | Displays the picture at the bottom left corner of the node's bounding rectangle.
picTopRight | 6 | Displays the picture at the top right corner of the bounding rectangle.
picBottomRight | 7 | Displays the picture at the bottom right corner of the bounding rectangle.
picTopCenter | 8 | Centers the picture at the top of the bounding rectangle of the node.
picBottomCenter | 9 | Centers the picture at the bottom of the bounding rectangle of the node.
picCenterLeft | 10 | Centers the picture at the left side of the bounding rectangle of the node.
picCenterRight | 11 | Centers the picture at the right side of the bounding rectangle of the node.
picDocument | 4096 | Can be combined with another member of the enumeration and assigned to the flowchart's PicturePos to specify that the background image should scroll and zoom with the rest of the diagram's contents.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EPrpStartOrientation Enumeration

EPrpStartOrientation Enumeration
[image]

Members of this enumeration can be assigned to the PrpStartOrientation property of an arrow to specify the orientation of the first segment of asPerpendicular arrows.

Syntax

VB6 [image] Copy Code

Public Enum EPrpStartOrientation

C++ [image] Copy Code

enum EPrpStartOrientation

Members

Member name | Value | Description
soAuto | 0 | The control automatically determines the orientation of the arrow's first segment.
soHorizontal | 1 | Specifies horizontal orientation.
soVertical | 2 | Specifies vertical orientation.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ERelationship Enumeration

ERelationship Enumeration
[image]

Specifies the type of a relation when working with various table-related properties and methods.

Syntax

VB6 [image] Copy Code

Public Enum ERelationship

C++ [image] Copy Code

enum ERelationship

Members

Member name | Value | Description
rlOneToMany | 0 | Specifies one-to-many relationship.
rlManyToOne | 1 | Specifies many-to-one relationship.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ERelativeToLink Enumeration

ERelativeToLink Enumeration
[image]

Specifies how link labels are positioned.

Syntax

VB6 [image] Copy Code

Public Enum ERelativeToLink

C++ [image] Copy Code

enum ERelativeToLink

Members

Member name | Value | Description
rtlSegment | 0 | Indicates that a link label position is relative to a specified segment.
rtlControlPoint | 1 | Indicates that a link label position is relative to a specified control point.
rtlLinkLength | 2 | Indicates that label position is relative to the link's length.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ERenderFlag Enumeration

ERenderFlag Enumeration
[image]

Members of this enumeration are used as indices of the RenderFlags indexed property.

Syntax

VB6 [image] Copy Code

Public Enum ERenderFlag

C++ [image] Copy Code

enum ERenderFlag

Members

Member name | Value | Description
fTransparentBoxDecorations | 0 | Specifies whether ShapeTemplate decoration lines are drawn for Transparent boxes.
fWrapLongWords | 1 | Specifies whether long words should wrap to new lines.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ERerouteArrow Enumeration

ERerouteArrow Enumeration
[image]

Members of this enumeration can be assigned to the TriggerRerouting property of the RoutingOptions class to specify when arrows should be rerouted.

Syntax

VB6 [image] Copy Code

Public Enum ERerouteArrow

C++ [image] Copy Code

enum ERerouteArrow

Members

Member name | Value | Description
raNever | 0 | Do not reroute links automatically.
raWhenModified | 1 | Reroute a link if its end points are moved around.
raWhenIntersectNode | 2 | Reroute a link if it intersects a node.
raWhileCreating | 4 | Route new arrows while users draw them. This flag can be combined with any of the previous two flags.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ERestrictToDoc Enumeration

ERestrictToDoc Enumeration
[image]

Members of this enumeration can be assigned to the RestrObjsToDoc property to specify whether items can be dragged outside the document boundary.

Syntax

VB6 [image] Copy Code

Public Enum ERestrictToDoc

C++ [image] Copy Code

enum ERestrictToDoc

Members

Member name | Value | Description
rdNoRestriction | 0 | There isn't any restriction on where items can be placed.
rdIntersection | 1 | At least a part of an item must be always inside the document area.
rdInsideOnly | 2 | The whole item must be inside the document area.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EScrollType Enumeration

EScrollType Enumeration
[image]

Specifies the type of auto scrolling.

Syntax

VB6 [image] Copy Code

Public Enum EScrollType

C++ [image] Copy Code

enum EScrollType

Members

Member name | Value | Description
stByFixedAmount | 0 | Moving an item beyond the viewport border adds a fixed amount to the scroll position.
stKeepItemVisible | 1 | Moving an item beyond the viewport border adds enough to keep the item entirely visible.

See Also

FlowChartPro Namespace
AutoScrollType Property


FlowChartPro.ESelStyle Enumeration

ESelStyle Enumeration
[image]

Members of this enumeration can be assigned to the SelStyle property of an item to specify how the item's selection handles behave and what they look like.

Syntax

VB6 [image] Copy Code

Public Enum ESelStyle

C++ [image] Copy Code

enum ESelStyle

Members

Member name | Value | Description
sstInvisible | 0 | The selection is not indicated visually. The item can be resized by dragging the borders and corners of its bounding rectangle. Clicking inside the item interior near the borders and dragging starts arrow creation. Clicking near its center and dragging starts moving the item.
sstSquareHandles | 1 | The selection is indicated by drawing square handles around the item and at its center. The item can be moved or resized by dragging those handles. Clicking inside the item interior and dragging starts arrow creation.
sstDashFrame | 2 | The selection is indicated by drawing dashed frame around the item. The item can be resized by dragging the borders and corners of that frame. Clicking inside the item interior, near the borders, and dragging starts arrow creation. Clicking near the center and dragging starts moving the item.
sstHatchFrame | 3 | The selection is indicated by drawing hatched frame around the item. The item can be resized by dragging the borders and corners of that frame. Clicking inside the item interior, near the borders, and dragging starts arrow creation. Clicking near its center and dragging starts moving the item.
sstHatchHandles | 4 | The selection is indicated by drawing square handles and hatched frame around the item. The item can be resized by dragging those handles, and moved by dragging the frame. Clicking inside the item interior starts arrow creation.
sstHatchHandles2 | 5 | Looks like sstHatchHandles, but allows moving the node from the interior area. Links are created from the points near the edge.
sstHatchHandles3 | 6 | Behaves like sstHatchHandles2, but paints the selection frame using a denser brush pattern.
sstMoveOnly | 7 | If a node is selected, it can be only moved. Best used with ModificationStart set to msAutoHandles.
sstEasyMove | 8 | Any point of the interior of a node enables moving the node, except a small area in the center that allows creating links. Best used with ModificationStart set to msAutoHandles.
sstSquareHandles2 | 9 | Square resize handles are drawn around a selected node. There isn't a move- handle in the center as with the sstSquareHandles style, but nodes can be moved by dragging their interior or caption areas. Links can be created by drawing from near the edges of a node.
sstCustom | 10 | FlowChartX raises the DrawSelHandles and HitTestSelHandles events to let your application perform custom drawing and hit testing of selection handles.
sstInvisibleMove | 11 | There aren't any selection handles drawn. Clicking and dragging an item moves it.
sstRoundAndSquare | 12 | Corner resize handles are round, remaining handles are square.
sstRoundAndSquare2 | 13 | Corner resize handles are round, remaining handles are square. In addition, there is a dashed frame drawn around selected nodes.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EShadowsStyle Enumeration

EShadowsStyle Enumeration
[image]

Members of this enumeration can be assigned to the ShadowsStyle property to specify how shadows are painted.

Syntax

VB6 [image] Copy Code

Public Enum EShadowsStyle

C++ [image] Copy Code

enum EShadowsStyle

Members

Member name | Value | Description
shdOneLevel | 0 | All shadows are painted on one level at the bottom of Z order.
shdZOrder | 1 | Shadows of items at higher Z order level are painted over the items at lower Z level.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EShowAnchors Enumeration

EShowAnchors Enumeration
[image]

Members of this enumeration can be assigned to the ShowAnchors property to specify when anchor points are painted.

Syntax

VB6 [image] Copy Code

Public Enum EShowAnchors

C++ [image] Copy Code

enum EShowAnchors

Members

Member name | Value | Description
saAlways | 0 | Always show the anchor points.
saNever | 1 | Never show the anchor points.
saAuto | 2 | Automatically shows the anchor points of a node when the node is pointed with the mouse.
saSelected | 4 | Shows the anchor points of all selected nodes.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ESnapStyle Enumeration

ESnapStyle Enumeration
[image]

Members of this enumeration can be assigned to the SnapStyle property to specify how items are aligned one to another.

Syntax

VB6 [image] Copy Code

Public Enum ESnapStyle

C++ [image] Copy Code

enum ESnapStyle

Members

Member name | Value | Description
snpNone | 0 | Do not align items to other items.
snpCtrlPtToCtrlPt | 1 | Align items' control points.
snpBorderToBorder | 2 | Align items' border lines.
snpAlignmentGuides | 3 | When either the horizontal or vertical borders of the dragged node are within SnapDistance from the respective borders of a nearby node, the dragged node snaps to a position where the borders are aligned. In addition, an alignment guide that indicates which borders are aligned is drawn using the pen specified through AlignmentGuideColor and AlignmentGuideStyle.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ESnapToAnchor Enumeration

ESnapToAnchor Enumeration
[image]

Members of this enumeration can be assigned to the SnapToAnchor property to specify when arrow ends are aligned to nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Enum ESnapToAnchor

C++ [image] Copy Code

enum ESnapToAnchor

Members

Member name | Value | Description
saOnCreate | 0 | Align the arrow ends when the arrow is created.
saOnCreateOrModify | 1 | Align the arrow ends when the arrow is created or modified.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EStringAlignment Enumeration

EStringAlignment Enumeration
[image]

Specifies the alignment of a text string.

Syntax

VB6 [image] Copy Code

Public Enum EStringAlignment

C++ [image] Copy Code

enum EStringAlignment

Members

Member name | Value | Description
saNear | 0 | Specifies left or top alignment.
saCenter | 1 | Specifies center alignment.
saFar | 2 | Specifies right or bottom alignment.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETableLinkStyle Enumeration

ETableLinkStyle Enumeration
[image]

Members of this enumeration can be assigned to the LinkStyle property of a table to specify how arrows can connect to that table.

Syntax

VB6 [image] Copy Code

Public Enum ETableLinkStyle

C++ [image] Copy Code

enum ETableLinkStyle

Members

Member name | Value | Description
tlsRows | 0 | Arrows can be linked to a row of the table.
tlsTable | 1 | Arrows can be linked to the table as an integral entity.
tlsBoth | 2 | Arrows can be linked to the table both ways.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETableStyle Enumeration

ETableStyle Enumeration
[image]

Members of this enumeration can be assigned to the Style property of a table to specify the shape of that table.

Syntax

VB6 [image] Copy Code

Public Enum ETableStyle

C++ [image] Copy Code

enum ETableStyle

Members

Member name | Value | Description
tsRect | 0 | The table's shape is a rectangle.
tsRoundRect | 1 | The table's shape is a rounded rectangle.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETextAntiAlias Enumeration

ETextAntiAlias Enumeration
[image]

Members of this enumeration specify the level of antialiasing applied to text rendered inside boxes.

Syntax

VB6 [image] Copy Code

Public Enum ETextAntiAlias

C++ [image] Copy Code

enum ETextAntiAlias

Members

Member name | Value | Description
taaSystemDefault | 0 | Glyph with system default rendering hint.
taaSingleBitPerPixelGridFit | 1 | Glyph bitmap with hinting.
taaSingleBitPerPixel | 2 | Glyph bitmap without hinting.
taaAntiAliasGridFit | 3 | Glyph anti-alias bitmap with hinting.
taaAntiAlias | 4 | Glyph anti-alias bitmap without hinting.
taaClearTypeGridFit | 5 | Glyph ClearType bitmap with hinting.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETextStyle Enumeration

ETextStyle Enumeration
[image]

Members of this enumeration specify how text is aligned inside a diagram item.

Syntax

VB6 [image] Copy Code

Public Enum ETextStyle

C++ [image] Copy Code

enum ETextStyle

Members

Member name | Value | Description
tsLeftML | 16 | Display the text on multiple lines at the left side of the item.
tsCenterML | 17 | Display the text on multiple lines at the center of the item.
tsRightML | 18 | Display the text on multiple lines at the right side of the item.
tsTop | 33 | Align the text to the top of the item.
tsLeft | 36 | Align the text to the left side of the item.
tsCenter | 37 | Align the text to the center of the item.
tsRight | 38 | Align the text to the right side of the item.
tsBottom | 41 | Align the text to the top of the item.
tsBelow | 1000 | Display the text below the item.
tsFitPolyTop | 2000 | Layout the text inside the non-rectangular outlines of the item starting from the top.
tsFitPolyCenter | 2001 | Layout the text inside the non-rectangular outlines of the item starting from the center.
tsFitPolyBottom | 2002 | Layout the text inside the non-rectangular outlines of the item starting from the bottom.
tsFitPolyBelow | 2003 | Display formatted text below the item.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETreeLayoutArrows Enumeration

ETreeLayoutArrows Enumeration
[image]

Members of this enumeration can be assigned to the ArrowStyle property of the TreeLayout class to specify what style to apply to the diagram arrows.

Syntax

VB6 [image] Copy Code

Public Enum ETreeLayoutArrows

C++ [image] Copy Code

enum ETreeLayoutArrows

Members

Member name | Value | Description
tlaStraight | 0 | Sets the Style of arrows to asPolyline and their number of segments to 1.
tlaPerpendicular2 | 1 | Sets the Style of arrows to asPerpendicular and their number of segments to 2. This value cannot be used with centered tree layouts.
tlaPerpendicular3 | 2 | Sets the Style of arrows to asPerpendicular and their number of segments to 3.
tlaRounded | 3 | Sets the Style of arrows to asBezier and their number of segments to 1.
tlaDontChangeStyle | 4 | Do not change the style of arrows.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETreeLayoutDirection Enumeration

ETreeLayoutDirection Enumeration
[image]

Members of this enumeration can be assigned to the Direction property of the TreeLayout class to specify the overall flow of items in the layout.

Syntax

VB6 [image] Copy Code

Public Enum ETreeLayoutDirection

C++ [image] Copy Code

enum ETreeLayoutDirection

Members

Member name | Value | Description
tldTopToBottom | 0 | Indicates a top-to-bottom direction.
tldBottomToTop | 1 | Indicates a bottom-to-top direction.
tldLeftToRight | 2 | Indicates a left-to-right direction.
tldRightToLeft | 3 | Indicates a right-to-left direction.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.ETreeLayoutType Enumeration

ETreeLayoutType Enumeration
[image]

Members of this enumeration can be assigned to the Type property of the TreeLayout class to specify the type of tree layout to apply to the diagram.

Syntax

VB6 [image] Copy Code

Public Enum ETreeLayoutType

C++ [image] Copy Code

enum ETreeLayoutType

Members

Member name | Value | Description
tltBorderAligned | 0 | Specifies bordered layout.
tltCentralized | 1 | Specifies centered layout.
tltRadial | 2 | Specifies radial layout.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.EUnit Enumeration

EUnit Enumeration
[image]

Specifies the unit of measure used for specifying the size of flowchart elements.

Syntax

VB6 [image] Copy Code

Public Enum EUnit

C++ [image] Copy Code

enum EUnit

Members

Member name | Value | Description
uPixel | 2 | Specifies a device pixel as the unit of measure.
uPoint | 3 | Specifies a printer's point (1/72 inch) as the unit of measure.
uDocument | 5 | Specifies the document unit (1/300 inch) as the unit of measure.

See Also

FlowChartPro Namespace

© 2019 MindFusion


FlowChartPro.FlowChart Class

FlowChart Class
Remarks See Also
[image]

A FlowChart object represents a diagram composed of linked nodes. That could be a workflow diagram, a database diagram, organizational chart, genealogy tree, a network diagram, etc.

Syntax

VB6 [image] Copy Code

Public Class FlowChart

C++ [image] Copy Code

class FlowChart

Remarks

Nodes are instances of the Box or Table classes. A link between two nodes is defined via an Arrow instance. Access to diagram elements is provided via the Boxes, Tables and Arrows arrays. There might be one focused or active diagram element. Its type can be determined via the ActiveItemType property. A type-safe access to the active object is provided by ActiveBox, ActiveTable and ActiveArrow properties.

Diagrams might be created programmatically or drawn by end-users interactively. There are many default values exposed as properties of FlowChart that are used to initialize new nodes and links. Those initialization properties are used both when an object is drawn interactively or programmatically.

To create nodes via code, invoke the CreateBox or CreateTable methods. To link nodes call CreateArrow, CreateRelation or CreateLink methods, depending on the types of objects to link. To delete existing diagram elements call DeleteItem or ClearAll.

If you need to find what diagram item lies at a specific location of the document, call the generic ObjectFromPoint method. Call the GetBoxAt, GetTableAt or GetArrowAt method to find specific type of items by their position. You can also search for items with a specific Tag value using the FindBox, FindTable and FindArrow methods.

The Behavior property defines how FlowChartX interprets users input when diagrams are created interactively. Users interaction might be disabled completely by setting StaticMode to true. There are more properties for validation of users actions, such as AllowMultiSel, AllowLinksRepeat, ArrowEndsMovable, etc.

Depending on the Behavior property, users can select objects by dragging the mouse, clicking objects, clicking with Ctrl key pressed or dragging with Ctrl key pressed. Selection can be modified programmatically via the AddToSelection, RemoveFromSelection and ClearSelection methods. Selected objects can be enumerated via the SelectedBoxes, SelectedTables and SelectedArrows collections.

FlowChart documents can be serialized in binary form using the SaveToFile and LoadFromFile methods. Flowcharts can also be stored as XML documents by means of the SaveToXml and LoadFromXml methods. Use XML serialization if you need to read or modify flowchart files from an external application without using the FlowChartX API. Otherwise, use binary serialization, since it is faster and requires less memory. To store a diagram in a database field or as part of an XML file, use the SaveToString and LoadFromString methods. They might be used also to transfer a diagram between a web server and a browser as a value of a 'hidden' HTML field.

To print a FlowChart document call PrintDiagram. To display print-preview window call PreviewDiagram. Both methods use setting defined in PrintOptions. Use the CreateBitmap or SaveToBitmap method to export a flowchart to an image file.

This overview lists a small part of all available properties and methods of the FlowChart class. For a complete list, please follow the thematic topics in the Programming Interface Overview section, or browse the reference below.

FlowChartX Events

FlowChartX exposes many events, which allow executing application code in response to users actions. The complete list of events can be seen here.

Some aspects of how events are raised can be changed via the EventFlags property of the FlowChart class.

Most events are raised only in response to users actions. If you need to execute the same code after user actions and API calls, move the common code to a method and invoke the method both in the respective event handler and after the API method or property setter call. A notable exception is the *Deleted set of events, which are also raised when items are deleted programmatically, because in some circumstances deleting an item could delete other items related to it.

When a user starts drawing a new item with the mouse, the control raises an initialization event to let you set the appearance properties of the item. E.g. for a box, the control raises InitializeBox. When the user releases the mouse button, a validation event is raised to let you cancel the item creation (e.g. RequestCreateBox). If the action is not cancelled, a creation event is raised to let your application know about the new item (e.g. BoxCreated).There are events raised when users modify items, e.g. BoxModified / TableModified, or a common ObjectModified event. When a user presses the DEL key, there is a validation event raised to let you confirm that an item should be deleted (e.g. RequestDeleteBox), and if not cancelled, there is an item-deleted event raised (e.g. BoxDeleted).

Event handling and MFC wrapper classes

Pay special attention to event handling when using MFC wrapper classes for FlowChartX item interfaces. Event methods that receive as parameter reference to a box, table or arrow item should not change its reference count. Still the COleDispatchDriver-derived wrapper classes by default call the attached COM object Release function in their destructor, which decreases the reference count. As a result the count might go to zero and the item be destroyed unexpectedly. To avoid this, either set the wrapper object m_bAutoRelease member to FALSE, or call Detach method before the object goes out of scope:

C++ [image] Copy Code

void App::OnTableCreated(LPDISPATCH pTableItem)
{
TableItem table = pTableItem;
table.SetCellBorders(cbNone);
table.DetachDispatch();
}

Validation events and MFC wizard-generated handler prototypes

All Request* validation events have a VARIANT_BOOL output pointer argument, but the event wizard erroneously declares that argument as a pointer to BOOL. Size of the VARIANT_BOOL type is 2 bytes, and that of BOOL is 4 bytes. Assigning a BOOL TRUE or FALSE constant value directly to the output argument would cause a big mess in the stack, potentially overwriting the method return address or local variables of other methods. To work-around that, cast the argument to VARIANT_BOOL pointer and assign VARIANT_TRUE or VARIANT_FALSE values as shown below:

C++ [image] Copy Code

void CTreeLayoutDlg::RequestSelectArrow(LPDISPATCH arrow, BOOL* pbSelect)
{
// NOTE: the event wizard erroneously declares pbSelect as BOOL*;
// pbSelect is pointing to VARIANT_BOOL, which is 2 bytes long, e.g. short;
// setting it to BOOL FALSE (4 bytes) would cause a big mess in the stack
*(VARIANT_BOOL*)pbSelect = VARIANT_FALSE;
}

See Also

FlowChart Members


FlowChartPro.FlowChart Members

FlowChart Members
Constructors Properties Methods Events
[image]

A FlowChart object represents a diagram composed of linked nodes. That could be a workflow diagram, a database diagram, organizational chart, genealogy tree, a network diagram, etc.

The following tables list the members exposed by the FlowChart type.

Public Constructors

Name | Description
FlowChart | Initializes a new instance of the FlowChart class.

Public Properties

Name | Description
ActiveArrow | Gets the active Arrow object.
ActiveBox | Gets the active Box object.
ActiveItemType | Gets the type of the active object.
ActiveMnpColor | Gets or sets the color of the of the active object's selection handles.
ActiveTable | Gets the active Table object.
AlignmentGuideColor | Gets or sets the color of the pen used to draw alignment guides.
AlignmentGuideStyle | Gets or sets the dash pattern of the pen used to draw alignment guides.
AlignToGrid | Gets or sets a value indicating whether the objects in the diagram are aligned to a grid.
AllowLinksRepeat | Gets or sets a value indicating whether the same origin and destination diagram nodes can be linked with more than one arrow.
AllowMultipleResize | Gets or sets whether multiple selected nodes can be resized simultaneously.
AllowMultiSel | Gets or sets a value indicating whether multiple selection is enabled.
AllowRefLinks | Gets or sets a value indicating whether reflexive links are enabled.
AllowUnanchoredArrows | Gets or sets a value indicating whether arrows can be connected to nodes to which there aren't assigned any anchor points.
AllowUnconnectedArrows | Gets or sets a value indicating whether users are allowed to draw unconnected arrows.
AnchorPatterns | Gets the list of available AnchorPattern objects.
ArrowBase | Gets or sets the default shape displayed at the base of new arrows.
ArrowBaseSize | Gets or sets the default size of the base shape of new arrows.
ArrowColor | Gets or sets the default color of new arrows.
ArrowCrossings | Gets or sets how to render the intersection points where arrows cross their paths.
ArrowEndsMovable | Gets or sets a value indicating whether arrow ends can be moved by users after the arrow is created.
ArrowFillColor | Gets or sets the default fill color of new arrows.
ArrowFillColorAlpha | Gets or sets the alpha channel value of the default arrow fill color.
ArrowHead | Gets or sets the default arrowhead shape of new arrows.
ArrowHeadSize | Gets or sets the default size of new arrows' arrowhead shapes.
Arrows | Gets a collection of all arrows in the diagram.
ArrowSegments | Gets or sets the default number of arrow segments.
ArrowSelStyle | Gets or sets the initial value for the SelStyle property of new arrows.
ArrowsSnapToNodeBorders | Gets or sets the initial value for arrows' SnapToNodeBorder property.
ArrowsSplittable | Gets or sets a value indicating whether arrow segments can be added interactively.
ArrowStyle | Gets or sets the default Style of new arrows.
ArrowText | Gets or sets the default text of new arrows.
ArrowTextStyle | Gets or sets the initial text placement and orientation of arrows' text.
AutoHighlightRows | Specifies whether a table row should be highlighted when the user clicks on it.
AutoScroll | Gets or sets a value indicating whether auto scrolling of the document area is enabled.
AutoScrollType | Specifies auto scroll type.
AutoSizeDirections | Specifies the directions in which auto sizing is allowed.
AutoSizeDoc | Gets or sets a value indicating whether to resize the document area automatically so that it fits the diagram contents.
AxControlId | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default type of ActiveX controls to be hosted in new boxes.
AxLicenseKeys | ( [image] a feature of FlowChartX Pro edition) Specifies the runtime license keys to use with licensed ActiveX controls.
BackColor | Gets or sets the color used to fill the background of the component.
Behavior | Gets or sets a value indicating how the control responds to user actions.
BoxCustomDraw | Gets or sets the default type of custom painting done on boxes.
Boxes | Gets a collection of all boxes in the diagram.
BoxesExpandable | Gets or sets value indicating whether newly created boxes can be expanded.
BoxFillColor | Gets or sets the default color for filling the interior of new boxes.
BoxFillColor2 | Gets or sets the default second color for filling the interior of new boxes with a gradient.
BoxFillColorAlpha | Gets or sets the alpha channel value for the default fill color of new boxes.
BoxFillStyle | Gets or sets a value indicating whether box interior should be filled with a color gradient by default.
BoxFrameColor | Gets or sets the default color for drawing frames of newly created boxes.
BoxIncmAnchor | Gets or sets the anchor points to which incoming arrows are docked.
BoxOutgAnchor | Gets or sets the anchor points from which outgoing arrows start.
BoxPicture | Gets or sets the image that is assigned to the Picture property of new boxes.
BoxPicturePos | Gets or sets the default alignment of the pictures that are displayed inside boxes.
BoxSelStyle | Gets or sets the initial value of the SelStyle property of new boxes.
BoxStyle | Gets or sets the default style of new boxes.
BoxText | Gets or sets the initial text of new boxes.
BoxWindowFrame | Gets or sets the default window frame style of new boxes that host ActiveX controls.
ButtonImages | Gets or sets the images used to display intrinsic button controls.
ClipboardFlags | ( [image] a feature of FlowChartX Pro edition) An indexed property allowing customization of clipboard operations.
ControlPadding | Gets or sets how much space to leave between the borders of a box and the control hosted in the box.
CrossRadius | Gets or sets the radius length of decorations displayed at arrow intersection points.
CycleCount | Gets the number of cycles found by the last DetectCycle invocation.
Decorations | Gets a collection of all decorations in the diagram.
DefaultShape | Gets or sets the default shape of new boxes of the bsShape Style.
DemoVersion | Gets a value indicating whether the currently loaded FlowChartX instance is a trial version.
Dirty | Gets or sets a value indicating whether the diagram has changed after it was last saved.
DisabledMnpColor | Gets or sets the color used to paint disabled selection handles.
DisableNoScroll | Gets or sets a value indicating whether if scroll bars are unnecessary, they will be disabled of hidden.
DocBottom | Gets the bottom side of the document bounding rectangle.
DocLeft | Gets the left side of the document bounding rectangle.
DocRight | Gets the right side of the document bounding rectangle.
DocTop | Gets the top side of the document bounding rectangle.
DragDropMode | Gets or sets a value indicating how FlowChartX responds to OLE drag-and-drop operations.
DrawAxBoxShapes | Gets or sets a value indicating whether to render shapes behind ActiveX boxes.
DynamicArrows | Gets or sets the default value for the Dynamic property of new arrows.
EnableStyledText | Gets or sets the default value for the EnableStyledText property of new boxes.
EventFlags | An indexed property providing a way to customize how some events are raised.
ExpandBtnPos | Gets or sets a value indicating where the expand/collapse buttons are placed relatively to their boxes.
ExpandOnIncoming | Gets or sets a value indicating the direction of expand/collapse operations.
ExtrnDragDrop | Gets or sets a value indicating whether initiating drag-and-drop operations from the current FlowChartX instance is enabled.
FeedbackColor | Gets or sets the color of the drag-and-drop feedback frame.
FeedbackOnDragOver | Gets or sets a value indicating whether a feedback frame should be painted around boxes while drag-and-drop operation is in progress.
FeedbackPenStyle | Gets or sets the style of the pen used to draw the drag-and-drop feedback frame.
FeedbackPenWidth | Gets or sets the width of the pen used to draw the drag-and-drop feedback frame.
FireMouseMove | Gets or sets a value indicating whether the MouseMove event should be raised.
Font | Gets or sets the default font.
Graphics | Gets the graphics engine used to render diagram elements.
GridColor | Gets or sets the color used to draw the alignment grid's points.
GridSize | Gets or sets the distance between adjacent points in the alignment grid.
GridStyle | Gets or sets the style of the alignment grid.
Groups | Gets a collection of all groups in the diagram.
HighSpeedRouting | ( [image] a feature of FlowChartX Pro edition) Obsolete.
HitTestPriority | Gets or sets a value indicating in what order the diagram items are hit-tested.
HostedAxActivation | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating how hosted ActiveX controls get activated.
Hwnd |
IconTextHeight | Gets or sets the height of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.
IconTextWidth | Gets or sets the width of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.
ImageExportOptions | Gets an object which allows customizing some parameters of the image export routines.
InplaceEditAcceptOnEnter | Gets or sets a value indicating whether pressing the ENTER key should exit inplace-edit mode and accept changes made to text.
InplaceEditAllowed | Gets or sets a value indicating whether users can start editing box' text by double clicking the box.
InplaceEditCancelOnEsc | Gets or sets a value indicating whether pressing the ESC key should exit inplace-edit mode and cancel any changes made to text.
IntermArrowHead | Gets or sets the default IntermArrowHead shape of new arrows.
IntermHeadSize | Gets or sets the default size of IntermHeadSize shapes of new arrows.
KbdActive | Gets or sets a value indicating whether users are allowed to modify the diagram using keyboard.
KbdBehavior | Gets or sets a value indicating how the arrow keys are handled by FlowChartX.
KeyboardFlags | Allows customizing where keyboard related notifications are handled.
LayoutGap | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value of the LayoutGap property of new container boxes.
LayoutStyle | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value of the LayoutStyle property of new container boxes.
Measures | Allows setting some hit-testing measure values.
MeasureUnit | Gets or sets the unit used to measure the coordinates and sizes of diagram elements.
MergeThreshold | Gets or sets the maximum distance between adjacent control points of an arrow at which their related segments can be merged.
MiddleButtonAction | Gets or sets what action should be performed when dragging the mouse while holding its middle button.
MinimizeRouteSegments | ( [image] a feature of FlowChartX Pro edition) Obsolete.
ModificationStart | Gets or sets how users can start modifying diagram items.
MultiSelStyle | Gets or sets a value indicating how multiple selection of items is drawn on the screen.
NowLoading | Gets a value indicating whether the control is in the process of loading a diagram.
PathCount | Gets the number of paths found by the last path-finding method invocation.
PathFindingOptions | Gets an object which allows customizing how the path-finding algorithm works.
PenStyle | Gets or sets the default pen style of new diagram elements.
PenWidth | Gets or sets the default pen width of new diagram elements.
Picture | Gets or sets the background image.
PicturePos | Gets or sets the alignment style of the background image.
PrintOptions | Gets an object which allows customization of various print and print preview aspects.
PrpArrowStartOrnt | Gets or sets the orientation of the first segment of cascading arrows.
RecursiveExpand | Gets or sets a value indicating whether tree branches should be expanded recursively when the "+" button is pressed.
RenderFlags | Allows changing some aspects of how diagram objects are drawn on the screen.
RerouteArrows | ( [image] a feature of FlowChartX Pro edition) Obsolete.
RestrObjsToDoc | Gets or sets a value indicating whether items can be placed outside the diagram scrollable area.
RoundedArrows | Gets or sets a value indicating whether the joins between segments of Polyline and Cascading arrows should be rounded.
RoundedArrowsRadius | Gets or sets the radius of arc joins of rounded arrows' segments.
RouteArrows | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value for the AutoRoute property of new arrows.
RoutingGridSize |
RoutingOptions | Gets an object which allows customizing various parameters of the link routing algorithm.
RowHighlightColor | Gets or sets the color used to fill highlighted table rows.
ScriptHelper | Gets an object which provides various utility methods that can be used in a web page script.
ScrollRate | Gets or sets the rate of scrolling, used when a scrollbar button is clicked.
ScrollX | Gets or sets the current horizontal scroll position.
ScrollY | Gets or sets the current vertical scroll position.
ScrollZoneSize | Gets or sets the size of the auto scroll zone near the edges of the control.
SelectAfterCreate | Gets or sets a value indicating whether newly created items should be selected automatically.
SelectAfterPaste | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether items pasted from the clipboard should be selected automatically.
SelectedArrows | Gets a collection of the currently selected arrows.
SelectedBoxes | Gets a collection of the currently selected boxes.
SelectedDecorations | Gets a collection of the currently selected decorations.
SelectedTables | Gets a collection of the currently selected tables.
SelectionOnTop | Gets or sets a value indicating whether selected items should be painted on top of other items.
SelectionOptions | Settings for multiple selection.
SelHandleSize | Gets or sets the size of selection handles.
SelMnpColor | Gets or sets the color of selection handles.
ShadowColor | Gets or sets the color used to paint shadows.
ShadowColorAlpha | Gets or sets the alpha channel value of the default shadow color.
ShadowOffsetX | Gets or sets the default horizontal offset of shadows from the objects that cast them.
ShadowOffsetY | Gets or sets the default vertical offset of shadows from the objects that cast them.
ShadowsStyle | Gets or sets the appearance style of shadows.
ShapeLibCount | Gets the number of registered shape libraries.
ShapeOrientation | Gets or sets the default rotation angle to be applies to a box shape definition.
Shapes | Gets the list of available shape templates.
ShowAnchors | Gets or sets a value indicating when anchor points should be displayed.
ShowDisabledHandles | Gets or sets a value indicating whether disabled selection handles should be visible.
ShowFocusFrame | Gets or sets a value indicating whether to draw a focus frame near the control's edges.
ShowGrid | Gets or sets a value indicating whether the alignment grid should be visible.
ShowShadows | Gets or sets a value indicating whether shadows should be visible.
ShowToolTips | Gets or sets a value indicating whether to display tooltips.
SnapDistance | Gets or sets the maximum distance between control points at which they can be automatically aligned.
SnapStyle | Gets or sets the automatic object alignment style.
SnapToAnchor | Gets or sets in which situations arrows should snap to the nearest anchor points.
StaticMode | Gets or sets a value indicating whether user interaction with the control is enabled.
TableCaption | Gets or sets the default caption text of new tables.
TableCaptionHeight | Gets or sets the default caption area height of new tables.
TableCellBorders | Gets or sets the style of cell frame lines.
TableColumnsCount | Gets or sets the default number of table columns.
TableColWidth | Gets or sets the default table column width.
TableFillColor | Gets or sets the default fill color of new tables.
TableFillColorAlpha | Gets or sets the alpha channel value of tables' default fill color.
TableFrameColor | Gets or sets the default frame color of new tables.
TableLinkStyle | Gets or sets the default relation style of new tables.
TableRowHeight | Gets or sets the default height of table rows.
TableRowsCount | Gets or sets the default number of table rows.
Tables | Gets a collection of all tables in the flowchart.
TableSelStyle | Gets or sets the value of the SelStyle property of new tables.
TablesScrollable | Gets or sets a value indicating whether new tables should be scrollable by default.
TableStyle | Gets or sets the new style of new tables.
TextColor | Gets or sets the default text color.
TextStyle | Gets or sets the default text style.
ToolTipAutoPop | Gets or sets the length of time in milliseconds the ToolTip window remains visible if the pointer is not moved.
ToolTipDelay | Gets or sets the time that passes before a tool-tip appears when the mouse hovers over an item.
ToolTipStyle | Gets or sets the style of tooltips.
UndoDepth | ( [image] a feature of FlowChartX Pro edition) Gets or sets the size of the undo/redo queue.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this flowchart.
ZoomFactor | Gets or sets the diagram scale factor.

Public Methods

Name | Description
AddAeroEffect | Applies an Aero effect to all nodes in this flowchart.
AddGlassEffect | Applies a Glass effect to all nodes in this flowchart.
AddToSelection | Adds a diagram element to multiple selection.
ArrangeDiagram | Arranges the diagram items using the specified layout routine.
ArrangeLinkLabels | Rearranges arrow labels whose AutoArrange property is enabled.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Creates a composite undo record.
BringIntoView | Scrolls the document area to make the specified object visible.
CanPasteFromClipboard | ( [image] a feature of FlowChartX Pro edition) Determines whether there's FlowChartX data available in the clipboard.
ClearAll | Removes all objects from the diagram.
ClearEffects | Removes all global effects from this flowchart.
ClearSelection | Clears the current selection.
ClearUndoBuffer | ( [image] a feature of FlowChartX Pro edition) Removes all records from the undo/redo queue.
ClientPtToDocPt | Transforms points from the client coordinate space to the document coordinate space.
CopyToClipboard | ( [image] a feature of FlowChartX Pro edition) Copies the current selection to the clipboard.
CreateAnchoredArrow | Creates an arrow and connects it to the specified nodes' anchor points.
CreateArrow | Creates an arrow connecting two boxes.
CreateBitmap | Creates a bitmap image representing the current diagram contents.
CreateBox | Creates a new Box node.
CreateDecorationLine | Creates a new decoration line.
CreateGroup | Creates a new hierarchical Group.
CreateLink | Creates an arrow connecting a box to a table.
CreateObjsFromDragData | Creates diagram elements from OLE drag-and-drop data.
CreateRelation | Creates an arrow connecting two tables.
CreateTable | Creates a new Table node.
CutToClipboard | ( [image] a feature of FlowChartX Pro edition) Cuts the current selection to the Windows clipboards.
DeleteItem | Deletes a diagram item.
DestroyGroup | Destroys an hierarchical group.
DetectCycle | Determines whether there are any cycles containing the specified object.
DocPtToClientPt | Transforms points from the document coordinate space to the client coordinate space.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Completes a composite undo record.
FindAllPaths | Finds all paths between two graph nodes.
FindArrow | Finds an arrow whose Tag matches the specified value.
FindBox | Finds a box whose Tag matches the specified value.
FindCycle | Finds a cycle in the current diagram.
FindGroup | Finds a group whose Tag matches the specified value.
FindLongestPath | Finds the longest path between nodes in the diagram.
FindLongestPathBetween | Finds the longest path between the specified nodes.
FindShortestPath | Finds the shortest path between the specified nodes.
FindTable | Finds a table whose Tag matches the specified value.
FitDocToObjects | Resizes the diagram scrollable area so it fits all diagram items.
GetArrowAt | Gets the arrow placed at a certain location in the diagram.
GetBoxAt | Finds the topmost box containing the specified point.
GetBoxWithInteractorAt |
GetCFlowChart |
GetCycle | Gets a cycle found by a previous DetectCycle invocation.
GetDefLibShape | ( [image] a feature of FlowChartX Pro edition) Gets the default shape of new boxes of the bsLibShape Style.
GetDocSize | Gets the size of the diagram scrollable area.
GetPath | Gets a path found by a previous FindAllPaths invocation.
GetShapeCount | ( [image] a feature of FlowChartX Pro edition) Gets the number of shapes defined in a shape library.
GetShapeLibGUID | ( [image] a feature of FlowChartX Pro edition) Returns the GUID of a loaded shape library.
GetShapeLibName | ( [image] a feature of FlowChartX Pro edition) Gets the name of a shape library.
GetTableAt | Finds the topmost table containing the specified point.
HideScrollers | Hides the scrollbars.
IsTree | Determines whether the current graph is a tree.
LoadFromFile | Loads the contents of an existing diagram file into the control.
LoadFromStream | Loads the contents of the diagram from a stream.
LoadFromString | Decodes diagram contents from a string that was created with SaveToString.
LoadFromXml | Loads a flowchart from the specified XML document.
LoadPicFromRes | Loads a background image from a resource.
LoadPicture | Loads a background image from a file.
LoadPredefShape | Loads one of the predefined polygonal shapes as default for new bsPolygon boxes.
LoadShapeLib | ( [image] a feature of FlowChartX Pro edition) Loads a shape library.
MeasureString | Measures the specified string when drawn with the specified font.
MergeUndoRecords | ( [image] a feature of FlowChartX Pro edition) Merges several undo records into one composite record.
NodesIntersect | Determines whether two nodes intersect.
ObjectFromPoint | Finds the topmost node that contains the specified point.
OpenPreviewWindow | Opens a print preview window with the specified position and size.
PasteFromClipboard | ( [image] a feature of FlowChartX Pro edition) Pastes the current clipboard contents into the diagram.
PreviewDiagram | Displays the print preview window.
PrintChart | Prints the diagram (obsolete).
PrintDiagram | Prints the diagram.
PrintOnDev | Prints the diagram using the specified printer (obsolete).
RecordCustomAction | ( [image] a feature of FlowChartX Pro edition) Adds a custom record to the FlowChartX undo/redo queue.
Redo | ( [image] a feature of FlowChartX Pro edition) Redoes an action stored in the undo/redo history.
RedoPossible | ( [image] a feature of FlowChartX Pro edition) Determines whether there is an action in the undo/redo queue that can be redone.
RegExtrScrollers | Registers external scrollbars with FlowChartX.
RegisterDragDrop | Registers the control as a possible target of an OLE drag-and-drop operation.
RemoveFromSelection | Removes an item from multiple selection.
Repaint | Repaints the flowchart.
RevokeDragDrop | Revokes the registration of the control as a potential target for OLE drag-and-drop operations.
RouteAllArrows | Routes all arrows in the diagram.
SaveToBitmap | Exports a bitmap image that represents the current diagram contents.
SaveToFile | Saves the binary contents of a diagram to a disk file.
SaveToMetaFile | Exports a metafile image that represents the current diagram contents.
SaveToStream | Saves the contents of the diagram to a stream.
SaveToString | Encodes the diagram contents into a base64 string.
SaveToXml | Saves the flowchart to the specified file as an XML document.
ScreenPtToDocPt | Gets the diagram coordinates of a screen point.
ScrollTo | Scrolls to diagram to the specified position.
SetDefLibShape | ( [image] a feature of FlowChartX Pro edition) Sets the default library shape to use with new boxes of bsLibShape style.
SetDocSize | Sets the size of the diagram scrollable area.
SetLicenseKey | Sets the license key of the control.
SetMouseCursor | Lets you change the mouse cursor icons that are displayed in various situations.
SetPolyShape | Sets default shape for new boxes of type bsPolygon.
SetPolyShapeArray | Sets default shape for new boxes of type bsPolygon.
SetShadowOffset | Sets the offset of shadows from the objects that cast them.
ShowScrollers | Shows the scrollbars.
TreeLayout | Applies a tree layout to the diagram (obsolete).
Undo | ( [image] a feature of FlowChartX Pro edition) Undoes an operation recorded in the undo/redo queue.
UndoPossible | ( [image] a feature of FlowChartX Pro edition) Determines whether there is an operation in the undo/redo queue that can be undone.
UnloadAllShapeLibs | ( [image] a feature of FlowChartX Pro edition) Unloads all shape libraries.
UnloadShapeLib | ( [image] a feature of FlowChartX Pro edition) Unloads a specific shape library.
ZoomIn | Increases the diagram scale factor.
ZoomOut | Decreases the diagram scale factor.
ZoomToFit | Sets the ZoomFactor so that the whole diagram is visible.
ZoomToRect | Zooms and scrolls the diagram so that the specified rectangular area is visible.

Public Events

Name | Description
ActionRedone | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is redone.
ActionUndone | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is undone.
ArrowClicked | Occurs when an arrow is clicked with the mouse.
ArrowCreated | Occurs when the user draws a new arrow.
ArrowDblClicked | Occurs when an arrow is double-clicked with the mouse.
ArrowDeleted | Occurs when an arrow is deleted, either programmatically or by end-users.
ArrowDestChanged | Raised when a user moves the end point of an arrow and connects it to a different destination node.
ArrowLabelEdited | Raised when the user edits the text of an arrow's label.
ArrowModified | Raised when the user moves an arrow control point.
ArrowModifying | Occurs while an Arrow is being moved or resized.
ArrowOrgChanged | Raised when an user moves the start point of an arrow and connects it to a different origin node.
ArrowSelected | Occurs when an arrow is selected.
ArrowSelectionLost | Occurs when an Arrow is deselected.
ArrowTextEdited | Raised when the user edits the text of an arrow.
BoxClicked | Occurs when a box is clicked with the mouse.
BoxCollapsed | Raised when a user collapses a tree of items, whose root is the box passed as an argument.
BoxCreated | Occurs when the user draws a new box.
BoxDblClicked | Occurs when a box is double-clicked with the mouse.
BoxDeleted | Occurs when a box is deleted, either programmatically or by end-users.
BoxExpanded | Raised when a user expands a tree of items.
BoxModified | Raised when the user moves or resizes a box.
BoxModifying | Occurs while a Box is being moved or resized.
BoxSelected | Occurs when a box is selected, either programmatically or by end-users.
BoxSelectionLost | Occurs when a Box is deselected.
BoxTextEdited | Occurs when the text of a box is edited in-place by the user.
CellTextEdited | Occurs when the text of a table's cell is edited in-place by the user.
Clicked | Raised when the control background is clicked.
CustomDraw | Occurs when a custom-draw box is painted.
DblClicked | Occurs when the user double-clicks the control.
DecorationClicked | Occurs when a decoration is clicked with the mouse.
DecorationCreated | Occurs when the user draws a new decoration.
DecorationDblClicked | Occurs when a decoration is double-clicked with the mouse.
DecorationDeleted | Occurs when a decoration is deleted, either programmatically or by the user.
DeserializeTag | Raised when a tag needs to be deserialized during loading.
DocBoundsChanged | Raised when the document is resized.
DocModified | Occurs when diagram elements are modified.
DragOverBox | Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControl.
DragOverBoxVB | Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControlVB.
DragOverDoc | Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControl.
DragOverDocVB | Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControlVB.
DragOverTable | Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControl.
DragOverTableVB | Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControlVB.
DrawArrow | Raised when an arrow must be custom drawn.
DrawMark | Raised to perform custom drawing of anchor points whose mark style is set to msCustom.
DrawSelHandles | Raised to allow custom drawing of selection handles.
DrawTable | Raised when a table must be custom drawn.
DropAccepted | Raised when a dragged data item is dropped over an unoccupied area of the document.
DropAcceptedByBox | Raised when text or an image is dropped into a box.
DropAcceptedByTable | Raised when text or an image is dropped into a table.
DropAcceptedByTableCell | Raised when text is dropped into a table cell.
DropInBox | Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControl.
DropInBoxVB | Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControlVB.
DropInDoc | Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControl.
DropInDocVB | Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControlVB.
DropInTable | Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControl.
DropInTableVB | Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControlVB.
FocusChanged | Raised when FlowChartX gains or loses the keyboard focus.
GroupDestroyed | Occurs when a group of objects is destroyed.
HitTestSelHandles | Raised to allow custom hit testing of selection handles.
InitializeArrow | Raised when a user starts drawing a new arrow, just after the Arrow object is created.
InitializeBox | Raised when an user starts drawing a new box, just after the Box object is created.
InitializeTable | Raised when an user starts drawing a new table, just after the Table object is created.
ItemsPasted | ( [image] a feature of FlowChartX Pro edition) Raised when an user pastes diagram items from the clipboard by pressing CTRL+V.
KeyDown | Raised when the user presses a key.
KeyPress | Raised when the user presses a key.
KeyUp | Raised when the user releases a key.
LayoutProgress | Raised regularly during execution of layout algorithms to allow tracking the layout progress.
MouseDown | Occurs when an user presses a mouse button over FlowChartX.
MouseMove | Raised periodically while the user moves the mouse.
MouseUp | Occurs when an user releases a mouse button over FlowChartX.
MouseWheel | Raised when the mouse wheel is rotated.
ObjAddToContainer | ( [image] a feature of FlowChartX Pro edition) Occurs if a diagram item is dropped into a container box.
ObjectDroppedInBox | Occurs if a diagram item or a selection of items is dropped into a box.
ObjectDroppedInTable | Occurs if a diagram item or a selection of items is dropped into a table.
ObjectModified | Occurs when an item is moved or resized.
ObjRemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Occurs if a diagram item is removed from a container box.
RequestAttachArrow | Raised when the user is moving an arrow end point over an object.
RequestCreateArrow | A validation event that is raised while users draw new arrows.
RequestCreateBox | A validation event that is raised while users draw new boxes.
RequestCreateTable | A validation event that is raised while users draw new tables.
RequestDeleteArrow | Raised before an arrow is deleted by the user, giving you a chance to cancel the operation.
RequestDeleteBox | Raised before a box is deleted by the user, giving you a chance to cancel the operation.
RequestDeleteTable | Raised before a table is deleted by the user, giving you a chance to cancel the operation.
RequestDrop | Raised when an image is dragged over empty document area.
RequestDropInBox | Raised when an image or text is dragged over a box.
RequestDropInTable | Raised when an image or text is dragged over a table.
RequestSelectArrow | Occurs when users try to select an arrow, giving you the chance to cancel the operation.
RequestSelectBox | Occurs when users try to select a box, giving you the chance to cancel the operation.
RequestSelectTable | Occurs when users try to select a table, giving you the chance to cancel the operation.
Scroll | Raised when a user scrolls the document area.
SelectionChanged | Occurs when items are added to or removed from selection.
SelectionMoved | Occurs when a selection of items is moved by the user.
SelObjAdded | Occurs when an object is added to multiple selection.
SelObjRemoved | Occurs when an object is removed from multiple selection.
SerializeTag | Raised during serialization to convert user tags to strings.
SetSelfLoopShape | Raised when an arrow becomes a self-loop.
ShapeNotDefined | Raised when the diagram being loaded contains an undefined shape.
TableCaptionEdited | Raised just after in-place editing of the text of table's caption is completed.
TableCellClicked | Raised when the user clicks on a table cell.
TableCellDblClicked | Occurs when a cell of a table is double-clicked with the mouse.
TableCellStartDrag | Allows starting an OLE drag-and-drop operation form a table cell.
TableClicked | Occurs when a table is clicked with the mouse.
TableCollapsed | Raised when a user collapses a tree of items, whose root is the table passed as an argument.
TableColumnResized | Raised when the user finishes resizing a column in a table.
TableCreated | Occurs when the user draws a new table.
TableDblClicked | Occurs when a table is double-clicked with the mouse.
TableDeleted | Occurs when a table is deleted, either programmatically or by end-users.
TableExpanded | Raised when a user expands a tree of items.
TableModified | Raised when the user moves or resizes a table.
TableModifying | Occurs while a Table is being moved or resized.
TableRowResized | Raised when the user finishes resizing a row in a table.
TableSectionCollapsed | Raised when the "-" button in a header row of a table is clicked to collapse the rows under that header.
TableSectionExpanded | Raised when the "+" button in a header row of a table is clicked to expand the rows under that header.
TableSelected | Occurs when a table is selected.
TableSelectionLost | Occurs when a table loses selection.
UndoActionRecorded | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is recorded in the undo history.

See Also

FlowChart Class


FlowChartPro.FlowChart Constructor

FlowChart Constructor
[image]

Initializes a new instance of the FlowChart class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
FlowChart ()

See Also

FlowChart Class


FlowChartPro.FlowChart Methods

FlowChart Methods
[image]

Public Methods

Name | Description
AddAeroEffect | Applies an Aero effect to all nodes in this flowchart.
AddGlassEffect | Applies a Glass effect to all nodes in this flowchart.
AddToSelection | Adds a diagram element to multiple selection.
ArrangeDiagram | Arranges the diagram items using the specified layout routine.
ArrangeLinkLabels | Rearranges arrow labels whose AutoArrange property is enabled.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Creates a composite undo record.
BringIntoView | Scrolls the document area to make the specified object visible.
CanPasteFromClipboard | ( [image] a feature of FlowChartX Pro edition) Determines whether there's FlowChartX data available in the clipboard.
ClearAll | Removes all objects from the diagram.
ClearEffects | Removes all global effects from this flowchart.
ClearSelection | Clears the current selection.
ClearUndoBuffer | ( [image] a feature of FlowChartX Pro edition) Removes all records from the undo/redo queue.
ClientPtToDocPt | Transforms points from the client coordinate space to the document coordinate space.
CopyToClipboard | ( [image] a feature of FlowChartX Pro edition) Copies the current selection to the clipboard.
CreateAnchoredArrow | Creates an arrow and connects it to the specified nodes' anchor points.
CreateArrow | Creates an arrow connecting two boxes.
CreateBitmap | Creates a bitmap image representing the current diagram contents.
CreateBox | Creates a new Box node.
CreateDecorationLine | Creates a new decoration line.
CreateGroup | Creates a new hierarchical Group.
CreateLink | Creates an arrow connecting a box to a table.
CreateObjsFromDragData | Creates diagram elements from OLE drag-and-drop data.
CreateRelation | Creates an arrow connecting two tables.
CreateTable | Creates a new Table node.
CutToClipboard | ( [image] a feature of FlowChartX Pro edition) Cuts the current selection to the Windows clipboards.
DeleteItem | Deletes a diagram item.
DestroyGroup | Destroys an hierarchical group.
DetectCycle | Determines whether there are any cycles containing the specified object.
DocPtToClientPt | Transforms points from the document coordinate space to the client coordinate space.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Completes a composite undo record.
FindAllPaths | Finds all paths between two graph nodes.
FindArrow | Finds an arrow whose Tag matches the specified value.
FindBox | Finds a box whose Tag matches the specified value.
FindCycle | Finds a cycle in the current diagram.
FindGroup | Finds a group whose Tag matches the specified value.
FindLongestPath | Finds the longest path between nodes in the diagram.
FindLongestPathBetween | Finds the longest path between the specified nodes.
FindShortestPath | Finds the shortest path between the specified nodes.
FindTable | Finds a table whose Tag matches the specified value.
FitDocToObjects | Resizes the diagram scrollable area so it fits all diagram items.
GetArrowAt | Gets the arrow placed at a certain location in the diagram.
GetBoxAt | Finds the topmost box containing the specified point.
GetBoxWithInteractorAt |
GetCFlowChart |
GetCycle | Gets a cycle found by a previous DetectCycle invocation.
GetDefLibShape | ( [image] a feature of FlowChartX Pro edition) Gets the default shape of new boxes of the bsLibShape Style.
GetDocSize | Gets the size of the diagram scrollable area.
GetPath | Gets a path found by a previous FindAllPaths invocation.
GetShapeCount | ( [image] a feature of FlowChartX Pro edition) Gets the number of shapes defined in a shape library.
GetShapeLibGUID | ( [image] a feature of FlowChartX Pro edition) Returns the GUID of a loaded shape library.
GetShapeLibName | ( [image] a feature of FlowChartX Pro edition) Gets the name of a shape library.
GetTableAt | Finds the topmost table containing the specified point.
HideScrollers | Hides the scrollbars.
IsTree | Determines whether the current graph is a tree.
LoadFromFile | Loads the contents of an existing diagram file into the control.
LoadFromStream | Loads the contents of the diagram from a stream.
LoadFromString | Decodes diagram contents from a string that was created with SaveToString.
LoadFromXml | Loads a flowchart from the specified XML document.
LoadPicFromRes | Loads a background image from a resource.
LoadPicture | Loads a background image from a file.
LoadPredefShape | Loads one of the predefined polygonal shapes as default for new bsPolygon boxes.
LoadShapeLib | ( [image] a feature of FlowChartX Pro edition) Loads a shape library.
MeasureString | Measures the specified string when drawn with the specified font.
MergeUndoRecords | ( [image] a feature of FlowChartX Pro edition) Merges several undo records into one composite record.
NodesIntersect | Determines whether two nodes intersect.
ObjectFromPoint | Finds the topmost node that contains the specified point.
OpenPreviewWindow | Opens a print preview window with the specified position and size.
PasteFromClipboard | ( [image] a feature of FlowChartX Pro edition) Pastes the current clipboard contents into the diagram.
PreviewDiagram | Displays the print preview window.
PrintChart | Prints the diagram (obsolete).
PrintDiagram | Prints the diagram.
PrintOnDev | Prints the diagram using the specified printer (obsolete).
RecordCustomAction | ( [image] a feature of FlowChartX Pro edition) Adds a custom record to the FlowChartX undo/redo queue.
Redo | ( [image] a feature of FlowChartX Pro edition) Redoes an action stored in the undo/redo history.
RedoPossible | ( [image] a feature of FlowChartX Pro edition) Determines whether there is an action in the undo/redo queue that can be redone.
RegExtrScrollers | Registers external scrollbars with FlowChartX.
RegisterDragDrop | Registers the control as a possible target of an OLE drag-and-drop operation.
RemoveFromSelection | Removes an item from multiple selection.
Repaint | Repaints the flowchart.
RevokeDragDrop | Revokes the registration of the control as a potential target for OLE drag-and-drop operations.
RouteAllArrows | Routes all arrows in the diagram.
SaveToBitmap | Exports a bitmap image that represents the current diagram contents.
SaveToFile | Saves the binary contents of a diagram to a disk file.
SaveToMetaFile | Exports a metafile image that represents the current diagram contents.
SaveToStream | Saves the contents of the diagram to a stream.
SaveToString | Encodes the diagram contents into a base64 string.
SaveToXml | Saves the flowchart to the specified file as an XML document.
ScreenPtToDocPt | Gets the diagram coordinates of a screen point.
ScrollTo | Scrolls to diagram to the specified position.
SetDefLibShape | ( [image] a feature of FlowChartX Pro edition) Sets the default library shape to use with new boxes of bsLibShape style.
SetDocSize | Sets the size of the diagram scrollable area.
SetLicenseKey | Sets the license key of the control.
SetMouseCursor | Lets you change the mouse cursor icons that are displayed in various situations.
SetPolyShape | Sets default shape for new boxes of type bsPolygon.
SetPolyShapeArray | Sets default shape for new boxes of type bsPolygon.
SetShadowOffset | Sets the offset of shadows from the objects that cast them.
ShowScrollers | Shows the scrollbars.
TreeLayout | Applies a tree layout to the diagram (obsolete).
Undo | ( [image] a feature of FlowChartX Pro edition) Undoes an operation recorded in the undo/redo queue.
UndoPossible | ( [image] a feature of FlowChartX Pro edition) Determines whether there is an operation in the undo/redo queue that can be undone.
UnloadAllShapeLibs | ( [image] a feature of FlowChartX Pro edition) Unloads all shape libraries.
UnloadShapeLib | ( [image] a feature of FlowChartX Pro edition) Unloads a specific shape library.
ZoomIn | Increases the diagram scale factor.
ZoomOut | Decreases the diagram scale factor.
ZoomToFit | Sets the ZoomFactor so that the whole diagram is visible.
ZoomToRect | Zooms and scrolls the diagram so that the specified rectangular area is visible.

See Also

FlowChart Class


FlowChartPro.FlowChart.AddAeroEffect Method

FlowChart.AddAeroEffect Method
[image]

Applies an Aero effect to all nodes in this flowchart.

Syntax

VB6 [image] Copy Code

Public Sub AddAeroEffect( _
ByVal opacity As Single, _
ByVal shadeColor As Long, _
ByVal innerOutlineColor As Long _
)

C++ [image] Copy Code

public:
void AddAeroEffect (
float opacity,
unsigned int shadeColor,
unsigned int innerOutlineColor
)

Parameters

opacity

A float value between 0 and 1 specifying the opacity to apply to the node's background.

shadeColor
The color of the shade.
innerOutlineColor

The color of the inner outline.

Remarks

The Aero effect adds semi-transparency to nodes and emphasizes their outlines by adding a shade and an inner stroke.

Example

The following example applies an Aero effect to all nodes in the flowchart:

VB6 [image] Copy Code
fcx.AddAeroEffect 0.5, vbBlack, vbWhite

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AddGlassEffect Method
ClearEffects Method


FlowChartPro.FlowChart.AddGlassEffect Method

FlowChart.AddGlassEffect Method
[image]

Applies a Glass effect to all nodes in this flowchart.

Syntax

VB6 [image] Copy Code

Public Sub AddGlassEffect( _
ByVal effectType As EGlassEffectType, _
ByVal glowColor As Long, _
ByVal reflectionColor As Long, _
ByVal usePenAsGlow As Boolean _
)

C++ [image] Copy Code

public:
void AddGlassEffect (
EGlassEffectType effectType,
unsigned int glowColor,
unsigned int reflectionColor,
bool usePenAsGlow
)

Parameters

effectType

A member of the EGlassEffectType enumeration.

glowColor

The color of the glow portion of the effect.

reflectionColor

The color of the reflection portion of the effect.

usePenAsGlow

Specifies whether the glow portion of the effect should be painted with the pen color of the respective node.

Remarks

The Glass effect adds glass reflection -like visual effect to nodes.

Example

The following example applies a glass effect to all nodes in the flowchart.

VB6 [image] Copy Code
fcx.AddGlassEffect gtType1, vbWhite, vbWhite, False

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AddAeroEffect Method
ClearEffects Method


FlowChartPro.FlowChart.AddToSelection Method

FlowChart.AddToSelection Method
[image]

Adds a diagram element to multiple selection.

Syntax

VB6 [image] Copy Code

Public Sub AddToSelection( _
ByVal pItem As Object _
)

C++ [image] Copy Code

public:
void AddToSelection (
IDispatch* pItem
)

Parameters

pItem
A reference to the diagram item to be selected - box, table or arrow.

Remarks

Adds a diagram element to the current selection. If the item is already selected, nothing happens. If object is not a reference to an Arrow, Box or Table object or if it is null (Nothing in Visual Basic) the returned HRESULT value is S_FALSE.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RemoveFromSelection Method


FlowChartPro.FlowChart.ArrangeDiagram Method

FlowChart.ArrangeDiagram Method
[image]

Arranges the diagram items using the specified layout routine.

Syntax

VB6 [image] Copy Code

Public Sub ArrangeDiagram( _
ByVal layout As Object _
)

C++ [image] Copy Code

public:
void ArrangeDiagram (
IDispatch* layout
)

Parameters

layout
A structure containing layout settings.

Remarks

Automatically arranges the diagram items. Items whose IgnoreLayout property is enabled are ignored by layout algorithms. The kind of layout to apply and its properties are specified via the layout argument. Currently supported layout types are LayeredLayout, TreeLayout, GridLayout, CircularLayout and SpringLayout.

If there are several unconnected sub-graphs in a diagram, you can specify which sub-graph to arrange by setting the Root property of the respective layout class.

In some layouts the order of the arrows in the nodes' OutgoingArrows or IncomingArrows collections defines how child nodes are arranged. The ChangeIndex method of the IArrows collection class lets you change the index of an arrow in the collection and thus specify the order of child nodes under their parent node.

Example

The first button applies Spring-Embedder graph layout algorithm on the current diagram. The second button applies tree layout.

VB6 [image] Copy Code

Private Sub Command1_Click()

Dim layout As New SpringLayout
layout.NumIterations = 500
layout.NodeDistance = 100
fcx.ArrangeDiagram layout

End Sub

Private Sub Command2_Click()

Dim treeLt As New TreeLayout
treeLt.Root = fcx.ActiveBox
treeLt.NodeSpacing = 30
treeLt.LevelSpacing = 40
fcx.ArrangeDiagram treeLt

End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LayoutProgress Event
Laying Out Diagrams Automatically


FlowChartPro.FlowChart.ArrangeLinkLabels Method

FlowChart.ArrangeLinkLabels Method
[image]

Rearranges arrow labels whose AutoArrange property is enabled.

Syntax

VB6 [image] Copy Code

Public Sub ArrangeLinkLabels ()

C++ [image] Copy Code

public:
void ArrangeLinkLabels ()

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BeginUndoRecord Method

FlowChart.BeginUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Creates a composite undo record.

Syntax

VB6 [image] Copy Code

Public Sub BeginUndoRecord ()

C++ [image] Copy Code

public:
void BeginUndoRecord ()

Remarks

Creates a composite undo record. All other undo records created between BeginUndoRecord and EndUndoRecord calls are added to the composite. Invoking Undo or Redo while a composite record is current in the undo queue, makes all operations recorded in the composite undo or redo themselves. This can be useful if you need to present a series of atomic operations as an integral undoable operation.

It is not recommended the BeginUndoRecord and EndUndoRecord calls to span several interactive FlowChartX actions, i.e. do both invocations in a single event handler or method of your application. If you need to create a composite record that encloses several interactive actions, better use the MergeUndoRecords method.

Example

Imagine your application provides color palette for changing the color of selected nodes. Changing properties of boxes is not recorded for undo/redo, unless property changes are made between Box.BeginUndoRecord and Box.EndUndoRecord calls. Everything between those calls is recorded as a single atomic operation. However if there are more than one boxes selected, you would prefer to have all changes undoable with a single call to Undo. To achieve this you might use code like the following:

VB6 [image] Copy Code

Private Sub Command1_Click()

Dim b As box

'composite record
fcx.BeginUndoRecord

For Each b In fcx.SelectedBoxes

'programmatic property changes must be between Begin/EndUndoRecord
b.BeginUndoRecord False
b.TextColor = selectedColor
b.FrameColor = selectedColor
b.EndUndoRecord

Next b

fcx.EndUndoRecord

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BringIntoView Method

FlowChart.BringIntoView Method
[image]

Scrolls the document area to make the specified object visible.

Syntax

VB6 [image] Copy Code

Public Sub BringIntoView( _
ByVal obj As Object _
)

C++ [image] Copy Code

public:
void BringIntoView (
IDispatch* obj
)

Parameters

obj
The object to be brought into visible position.

Remarks

Scrolls the document view to ensure that the specified object is visible. No scrolling is performed if the object is already in view.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CanPasteFromClipboard Method

FlowChart.CanPasteFromClipboard Method
[image]

( [image] a feature of FlowChartX Pro edition)

Determines whether there's FlowChartX data available in the clipboard.

Syntax

VB6 [image] Copy Code

Public Function CanPasteFromClipboard () As Boolean

C++ [image] Copy Code

public:
bool CanPasteFromClipboard ()

Return Value

true if there is FlowChartX data available in the Windows clipboard and paste operation is possible; otherwise, false.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ClearAll Method

FlowChart.ClearAll Method
[image]

Removes all objects from the diagram.

Syntax

VB6 [image] Copy Code

Public Sub ClearAll ()

C++ [image] Copy Code

public:
void ClearAll ()

Remarks

Removes all diagram items and groups. This method might be invoked in response to a File\New menu command. The values of FlowChartX properties are not affected by ClearAll.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ClearEffects Method

FlowChart.ClearEffects Method
[image]

Removes all global effects from this flowchart.

Syntax

VB6 [image] Copy Code

Public Sub ClearEffects ()

C++ [image] Copy Code

public:
void ClearEffects ()

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.FlowChart.ClearSelection Method

FlowChart.ClearSelection Method
[image]

Clears the current selection.

Syntax

VB6 [image] Copy Code

Public Sub ClearSelection ()

C++ [image] Copy Code

public:
void ClearSelection ()

Remarks

Deselects all items. The method does not raise any selection-related events. If you need an event handler method to be executed for the items who become unselected, call the handler method for each item in the selection lists.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SelectedBoxes Property
SelectedTables Property
SelectedArrows Property


FlowChartPro.FlowChart.ClearUndoBuffer Method

FlowChart.ClearUndoBuffer Method
[image]

( [image] a feature of FlowChartX Pro edition)

Removes all records from the undo/redo queue.

Syntax

VB6 [image] Copy Code

Public Sub ClearUndoBuffer ()

C++ [image] Copy Code

public:
void ClearUndoBuffer ()

Remarks

Clears the undo-history queue. After this operation no previous modifications can be undone or redone. You could use this method if you want to forbid the user from undoing a programmatic action, such as creation of an object, which is automatically recorded in the history queue.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ClientPtToDocPt Method

FlowChart.ClientPtToDocPt Method
[image]

Transforms points from the client coordinate space to the document coordinate space.

Syntax

VB6 [image] Copy Code

Public Sub ClientPtToDocPt( _
ByVal x As Long, _
ByVal y As Long, _
ByRef px As Long, _
ByRef py As Long _
)

C++ [image] Copy Code

public:
void ClientPtToDocPt (
int x,
int y,
int* px,
int* py
)

Parameters

x
The x coordinate of the point in client coordinates.
y
The y coordinate of the point in client coordinates.
px
The x coordinate of the point in document coordinates.
py
The y coordinate of the point in document coordinates.

Remarks

Gets the document coordinates of the point (x, y). The mapping between client (device) and document (logical) coordinates depends on the current scroll position and zoom factor. You can use this method together with ObjectFromPoint to find out which diagram item lies under the mouse cursor, when you have the mouse position expressed in device coordinates.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
DocPtToClientPt Method


FlowChartPro.FlowChart.CopyToClipboard Method

FlowChart.CopyToClipboard Method
[image]

( [image] a feature of FlowChartX Pro edition)

Copies the current selection to the clipboard.

Syntax

VB6 [image] Copy Code

Public Sub CopyToClipboard ()

C++ [image] Copy Code

public:
void CopyToClipboard ()

Remarks

Copies the current selection of objects to the Windows clipboard. If there are arrows in the selection, they are copied only if both their origin and destination objects are selected too. If KbdActive is enabled, FlowChartX automatically calls this method in response to the CTRL+C key combination.

ActiveX controls hosted inside bsAxControl boxes are copied to the clipboard too, as long as they implement one of the IPersist* OLE interfaces. If a control does not implement any IPersist* interface, it will be pasted in an uninitialized/default space.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PasteFromClipboard Method
CutToClipboard Method


FlowChartPro.FlowChart.CreateAnchoredArrow Method

FlowChart.CreateAnchoredArrow Method
[image]

Creates an arrow and connects it to the specified nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Function CreateAnchoredArrow( _
ByVal srcBox As Box, _
ByVal srcAnchor As Long, _
ByVal dstBox As Box, _
ByVal dstAnchor As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* CreateAnchoredArrow (
Box* srcBox,
int srcAnchor,
Box* dstBox,
int dstAnchor
)

Parameters

srcBox
The origin of the new arrow.
srcAnchor
The index of an anchor point at which the arrow starts.
dstBox
The destination of the new arrow.
dstAnchor
The index of an anchor point at which the arrow ends.

Return Value

A reference to the new Arrow.

Remarks

Creates an arrow connecting srcBox and dstBox boxes at the specified anchor points. Anchor point indices correspond to the order by which the points were added to the AnchorPattern definition. This method ignores the type of anchor point - whether it is intended for incoming or outgoing arrows; i.e. you could specify an anchor point for incoming arrows in the source box, and one for outgoing arrows in the destination.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CreateArrow Method

FlowChart.CreateArrow Method
[image]

Creates an arrow connecting two boxes.

Syntax

VB6 [image] Copy Code

Public Function CreateArrow( _
ByVal pBoxSrc As Box, _
ByVal pBoxDst As Box _
) As Arrow

C++ [image] Copy Code

public:
Arrow* CreateArrow (
Box* pBoxSrc,
Box* pBoxDst
)

Parameters

pBoxSrc

The origin box of the new arrow.

pBoxDst

The destination box of the new arrow.

Return Value

A reference to the newly created Arrow.

Remarks

Creates an arrow connecting pBoxSrc to pBoxDst boxes.

If the argument for origin or destination is set to null (Nothing in Visual Basic), an unconnected arrow is created. Unconnected arrows end points are placed at generic coordinates, which can be changed via the CtrlPtX and CtrlPtY properties.

Properties of any new arrow are initialized to the values of FlowChart's corresponding arrow-defaults properties, such as ArrowColor, ArrowHead and so on. For a complete list of all default properties, check Default Values of Object Properties.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CreateLink Method
CreateRelation Method
CreateAnchoredArrow Method


FlowChartPro.FlowChart.CreateBitmap Method

FlowChart.CreateBitmap Method
[image]

Creates a bitmap image representing the current diagram contents.

Syntax

VB6 [image] Copy Code

Public Function CreateBitmap () As Long

C++ [image] Copy Code

public:
unsigned int CreateBitmap ()

Return Value

A handle to a GDI bitmap object.

Remarks

The method creates a GDI bitmap and draws the current diagram in the bitmap. Only a portion of the diagram can be drawn, by specifying rectangle coordinates via the ImageExportOptions property. That property also exposes a scaling factor to be used when drawing the diagram contents in the image. The created bitmap could be used to display overview of a diagram, or to export diagram to an image file.

Example

The following sample shows how to export a jpeg file. The BmgLib library is used for jpeg creation, together with a wrapper COM object for that library that makes its use within VB easier:

VB6 [image] Copy Code

Private Sub Command1_Click()

Dim exporter As New BmgLib
exporter.JpegQuality = 80
exporter.SaveBitmapToFile flowchart1.CreateBitmap, "C:\test.jpg", True

End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SaveToBitmap Method


FlowChartPro.FlowChart.CreateBox Method

FlowChart.CreateBox Method
[image]

Creates a new Box node.

Syntax

VB6 [image] Copy Code

Public Function CreateBox( _
ByVal x As Long, _
ByVal y As Long, _
ByVal width As Long, _
ByVal height As Long _
) As Box

C++ [image] Copy Code

public:
Box* CreateBox (
int x,
int y,
int width,
int height
)

Parameters

x
The x coordinate of the new box.
y
The y coordinate of the new box.
width
The width of the box.
height
The height of the box.

Return Value

A reference to a Box object representing the newly created box.

Remarks

Creates a new box at the the specified location. Properties of any new box are initialized to the values of FlowChart's corresponding box-defaults properties, such as BoxFillColor, BoxFrameColor and so on. For a complete list with all default properties, check Default Values of Object Properties.

Arrows having their AutoRoute property enabled are re-routed if they intersect with the new box. Thus when constructing a large diagram programmatically, each arrow might be re-routed many times, once for each call to CreateBox whose location arguments collide with arrow's bounding rectangle. That might slow down diagram creation a lot. To avoid it, first create all boxes, and afterwards the arrows; that requires a single calculation for each arrow's route.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MeasureUnit Property


FlowChartPro.FlowChart.CreateDecorationLine Method

FlowChart.CreateDecorationLine Method
[image]

Creates a new decoration line.

Syntax

VB6 [image] Copy Code

Public Function CreateDecorationLine( _
ByVal x1 As Long, _
ByVal y1 As Long, _
ByVal x2 As Long, _
ByVal y2 As Long _
) As DecorationLine

C++ [image] Copy Code

public:
DecorationLine* CreateDecorationLine (
int x1,
int y1,
int x2,
int y2
)

Parameters

x1
The horizontal position of the first point.
y1
The vertical position of the first point.
x2
The horizontal position of the second point.
y2
The vertical position of the second point.

Return Value

A reference to a DecorationLine object.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CreateGroup Method

FlowChart.CreateGroup Method
[image]

Creates a new hierarchical Group.

Syntax

VB6 [image] Copy Code

Public Function CreateGroup( _
ByVal mainObj As Object _
) As Group

C++ [image] Copy Code

public:
Group* CreateGroup (
IDispatch* mainObj
)

Parameters

mainObj
The main object of the group.

Return Value

A reference to a Group object representing the newly created group.

Remarks

Creates a group with the main object specified as argument. Depending on the type of the main object you can attach different objects to the group in a number of ways. If the mainObj is an arrow you can attach boxes and tables to the arrow's control points and segments. If mainObj is a box or a table you can attach objects to its corners or any other part in a proportion specified in percents. For more information check following Group methods:

  • Group.AttachToArrowPoint and Group.AttachToArrowSegment for groups with an arrow set as main object;
  • Group.AttachToCorner and Group.AttachProportional for groups with a box or a table set as main object;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CreateLink Method

FlowChart.CreateLink Method
[image]

Creates an arrow connecting a box to a table.

Syntax

VB6 [image] Copy Code

Public Function CreateLink( _
ByVal table As Table, _
ByVal rowNum As Long, _
ByVal box As Box, _
ByVal fromTableToBox As Boolean _
) As Arrow

C++ [image] Copy Code

public:
Arrow* CreateLink (
Table* table,
int rowNum,
Box* box,
bool fromTableToBox
)

Parameters

table
The table to which the arrow is attached.
rowNum
The index of the table's row.
box
The box to which the arrow is attached.
fromTableToBox
The direction of the arrow.

Return Value

A reference to an Arrow object, representing the newly created arrow.

Remarks

Creates an arrow, connecting a row of a table to a box. If fromTableToBox is set to true then the arrow points from the table to the box; otherwise it points from the box to the table.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CreateArrow Method
CreateRelation Method


FlowChartPro.FlowChart.CreateObjsFromDragData Method

FlowChart.CreateObjsFromDragData Method
[image]

Creates diagram elements from OLE drag-and-drop data.

Syntax

VB6 [image] Copy Code

Public Sub CreateObjsFromDragData( _
ByVal x As Long, _
ByVal y As Long _
)

C++ [image] Copy Code

public:
void CreateObjsFromDragData (
int x,
int y
)

Parameters

x
The horizontal offset at which the objects are to be created.
y
The vertical offset at which the objects are to be created.

Remarks

When diagram objects are dragged from one FlowChartX instance to another, the OLE data-object that represents the dragged data contains a stream object, in which the dragged diagram elements are serialized. If the FlowChartX instance that receives the drop is set to programmatic drag-and-drop mode, the dragged objects can be de-serialized by calling this method. The x and y parameters specify the offset at which the diagram element should be created; usually they would be given the value of the current mouse position.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CreateRelation Method

FlowChart.CreateRelation Method
[image]

Creates an arrow connecting two tables.

Syntax

VB6 [image] Copy Code

Public Function CreateRelation( _
ByVal pTableSrc As Table, _
ByVal nRowSrc As Long, _
ByVal pTableDst As Table, _
ByVal nRowDst As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* CreateRelation (
Table* pTableSrc,
int nRowSrc,
Table* pTableDst,
int nRowDst
)

Parameters

pTableSrc

The source table.

nRowSrc

The 0-based index of the row of the source table.

pTableDst

The destination table.

nRowDst

The 0-based index of the row of the destination table.

Return Value

A reference to an Arrow object, representing the newly created arrow.

Remarks

Creates an arrow, pointing from a row of the source table-object (pTableSrc) to a row of the destination table-object (pTableDst). These rows could visually represent table fields in entity-relationship diagrams. You can create many arrows connected to a single row of table.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CreateArrow Method
CreateLink Method


FlowChartPro.FlowChart.CreateTable Method

FlowChart.CreateTable Method
[image]

Creates a new Table node.

Syntax

VB6 [image] Copy Code

Public Function CreateTable( _
ByVal x As Long, _
ByVal y As Long, _
ByVal width As Long, _
ByVal height As Long _
) As Table

C++ [image] Copy Code

public:
Table* CreateTable (
int x,
int y,
int width,
int height
)

Parameters

x
The x coordinate of the new table.
y
The y coordinate of the new table.
width
The width of the table.
height
The height of the table.

Return Value

A reference to a Table object, representing the newly created table.

Remarks

Creates a new table at the the specified location. Properties of any new table are initialized to the values of FlowChart's corresponding table-defaults properties, such as TableFillColor, TableFrameColor and so on. For a complete list with all default properties, check Default Values of Object Properties.

Arrows having their AutoRoute property enabled are re-routed if they intersect with the new table. Thus when constructing a large diagram programmatically, each arrow might be re-routed many times, once for each call to CreateTable whose location arguments collide with arrow's bounding rectangle. That might slow down diagram creation a lot. To avoid it, first create all tables, and afterwards the arrows; that requires a single calculation for each arrow's route.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MeasureUnit Property


FlowChartPro.FlowChart.CutToClipboard Method

FlowChart.CutToClipboard Method
[image]

( [image] a feature of FlowChartX Pro edition)

Cuts the current selection to the Windows clipboards.

Syntax

VB6 [image] Copy Code

Public Sub CutToClipboard ()

C++ [image] Copy Code

public:
void CutToClipboard ()

Remarks

Copies the current selection of objects to the Windows clipboard and deletes the selected objects. If there are arrows in the selection, they are copied only if both their origin and destination objects are selected too. If KbdActive is enabled, FlowChartX automatically calls this method in response to the CTRL+X key combination.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PasteFromClipboard Method
CopyToClipboard Method


FlowChartPro.FlowChart.DeleteItem Method

FlowChart.DeleteItem Method
[image]

Deletes a diagram item.

Syntax

VB6 [image] Copy Code

Public Sub DeleteItem( _
ByVal pItem As Object _
)

C++ [image] Copy Code

public:
void DeleteItem (
IDispatch* pItem
)

Parameters

pItem
A reference to the item to be deleted - box, table or arrow.

Remarks

Removes an item from the current document. You can use the method to delete arrows, boxes and tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DestroyGroup Method

FlowChart.DestroyGroup Method
[image]

Destroys an hierarchical group.

Syntax

VB6 [image] Copy Code

Public Sub DestroyGroup( _
ByVal group As Group _
)

C++ [image] Copy Code

public:
void DestroyGroup (
Group* group
)

Parameters

group
The group to destroy.

Remarks

Deletes the specified group. The objects in the group are not deleted.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DetectCycle Method

FlowChart.DetectCycle Method
[image]

Determines whether there are any cycles containing the specified object.

Syntax

VB6 [image] Copy Code

Public Function DetectCycle( _
ByVal obj As Object _
) As IArrows

C++ [image] Copy Code

public:
IArrows* DetectCycle (
IDispatch* obj
)

Parameters

obj
The object whose cycles are detected.

Return Value

A collection of Arrow objects forming a cycle.

Remarks

Finds the cycles containing the specified object. Cycles are represented as a collection of arrows, just as paths are. Traversing a cycle through its arrows and the object connected to them will lead to the object where traversing started. The intermediate objects can be found through the arrows' Origin and Destination properties. If there are more cycles detected, for the object passed as an argument, they are buffered. Cycles can be retrieved from the buffer using CycleCount and GetCycle.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocPtToClientPt Method

FlowChart.DocPtToClientPt Method
[image]

Transforms points from the document coordinate space to the client coordinate space.

Syntax

VB6 [image] Copy Code

Public Sub DocPtToClientPt( _
ByVal x As Long, _
ByVal y As Long, _
ByRef px As Long, _
ByRef py As Long _
)

C++ [image] Copy Code

public:
void DocPtToClientPt (
int x,
int y,
int* px,
int* py
)

Parameters

x
The x coordinate of the point, in document coordinates.
y
The y coordinate of the point, in document coordinates.
px
The x coordinate of the point, in client coordinates.
py
The y coordinate of the point, in client coordinates.

Remarks

Gets client coordinates in the FlowChartX window, corresponding to the document x and y coordinates.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ClientPtToDocPt Method


FlowChartPro.FlowChart.EndUndoRecord Method

FlowChart.EndUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Completes a composite undo record.

Syntax

VB6 [image] Copy Code

Public Sub EndUndoRecord ()

C++ [image] Copy Code

public:
void EndUndoRecord ()

Remarks

Completes a composite undo record that was started with BeginUndoRecord call.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FindAllPaths Method

FlowChart.FindAllPaths Method
[image]

Finds all paths between two graph nodes.

Syntax

VB6 [image] Copy Code

Public Function FindAllPaths( _
ByVal src As Object, _
ByVal dest As Object _
) As IArrows

C++ [image] Copy Code

public:
IArrows* FindAllPaths (
IDispatch* src,
IDispatch* dest
)

Parameters

src
A node at which the path starts.
dest
A node at which the path ends.

Return Value

A collection of Arrow objects that connect the source and destination objects.

Remarks

Finds all paths between two nodes. The path is a collection of arrows through which the source object is connected with the destination. The intermediate objects can be found through the arrows' Origin and Destination properties. Paths found by this method are buffered and the shortest path is returned as a result. Paths can be retrieved from the buffer using PathCount and GetPath.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PathFindingOptions Property


FlowChartPro.FlowChart.FindArrow Method

FlowChart.FindArrow Method
[image]

Finds an arrow whose Tag matches the specified value.

Syntax

VB6 [image] Copy Code

Public Function FindArrow( _
ByVal nTag As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* FindArrow (
int nTag
)

Parameters

nTag
The tag of the searched arrow.

Return Value

A reference to an Arrow object, which is the first arrow found with the requested tag, or null reference (Nothing in Visual Basic) if none is found.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetArrowAt Method
FindBox Method
FindTable Method


FlowChartPro.FlowChart.FindBox Method

FlowChart.FindBox Method
[image]

Finds a box whose Tag matches the specified value.

Syntax

VB6 [image] Copy Code

Public Function FindBox( _
ByVal nTag As Long _
) As Box

C++ [image] Copy Code

public:
Box* FindBox (
int nTag
)

Parameters

nTag
The tag of the searched box.

Return Value

A reference to a Box object, which is the first box found with the requested tag, or null reference (Nothing in Visual Basic) if none is found.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetBoxAt Method
FindArrow Method
FindTable Method


FlowChartPro.FlowChart.FindCycle Method

FlowChart.FindCycle Method
[image]

Finds a cycle in the current diagram.

Syntax

VB6 [image] Copy Code

Public Function FindCycle () As IArrows

C++ [image] Copy Code

public:
IArrows* FindCycle ()

Return Value

A collection of Arrow objects forming a cycle.

Remarks

Finds a single cycle in the flowchart document. If no cycles are found null (Nothing in Visual Basic) is returned. Cycles are represented as a collection of arrows, just as paths are. Traversing a cycle through its arrows and the object connected to them will lead to the object where traversing started. The intermediate objects can be found through the arrows' Origin and Destination properties.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PathFindingOptions Property


FlowChartPro.FlowChart.FindGroup Method

FlowChart.FindGroup Method
[image]

Finds a group whose Tag matches the specified value.

Syntax

VB6 [image] Copy Code

Public Function FindGroup( _
ByVal Tag As Long _
) As Group

C++ [image] Copy Code

public:
Group* FindGroup (
int Tag
)

Parameters

Tag
The tag of the searched group.

Return Value

A reference to a Group object, which is the first group found with the requested tag, or null reference (Nothing in Visual Basic) if none is found.

Remarks

Gets the group with the specified tag.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FindLongestPath Method

FlowChart.FindLongestPath Method
[image]

Finds the longest path between nodes in the diagram.

Syntax

VB6 [image] Copy Code

Public Function FindLongestPath () As IArrows

C++ [image] Copy Code

public:
IArrows* FindLongestPath ()

Return Value

A collection of Arrow objects which make up the longest path.

Remarks

The path containing the largest number of arrows is considered the longest one. The path returned by this method comprises a collection of arrows. The nodes included in the path can be found through the arrows' Origin and Destination properties.

Example

The following method paints in red the arrows included in the longest path.

VB6 [image] Copy Code

Private Sub path_Click()

Dim path As IArrows
Set path = fcx.FindLongestPath

Dim link As Arrow
For Each link In path
link.Color = vbRed
Next link

End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PathFindingOptions Property


FlowChartPro.FlowChart.FindLongestPathBetween Method

FlowChart.FindLongestPathBetween Method
[image]

Finds the longest path between the specified nodes.

Syntax

VB6 [image] Copy Code

Public Function FindLongestPathBetween( _
ByVal src As Object, _
ByVal dest As Object _
) As IArrows

C++ [image] Copy Code

public:
IArrows* FindLongestPathBetween (
IDispatch* src,
IDispatch* dest
)

Parameters

src
The start node.
dest
The end node.

Return Value

A collection of Arrow objects which make up the longest path between the specified nodes.

Remarks

The path containing the largest number of arrows is considered the longest one. The path returned by this method comprises a collection of arrows through which the source node is connected with the destination. The intermediate nodes can be found through the arrows' source and destination properties.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PathFindingOptions Property


FlowChartPro.FlowChart.FindShortestPath Method

FlowChart.FindShortestPath Method
[image]

Finds the shortest path between the specified nodes.

Syntax

VB6 [image] Copy Code

Public Function FindShortestPath( _
ByVal src As Object, _
ByVal dest As Object _
) As IArrows

C++ [image] Copy Code

public:
IArrows* FindShortestPath (
IDispatch* src,
IDispatch* dest
)

Parameters

src
A node at which the path starts.
dest
A node at which the path ends.

Return Value

A collection of Arrow objects representing the shortest path.

Remarks

Finds the shortest path between two objects. The path is a collection of arrows through which the source object is connected with the destination. The intermediate objects can be found through the arrows' source and destination properties. The path containing the smallest number of arrows is considered the shortest. If there are more paths with the same smallest number of arrows they are buffered. Paths can be retrieved from the buffer using PathCount and GetPath.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PathFindingOptions Property


FlowChartPro.FlowChart.FindTable Method

FlowChart.FindTable Method
[image]

Finds a table whose Tag matches the specified value.

Syntax

VB6 [image] Copy Code

Public Function FindTable( _
ByVal nTag As Long _
) As Table

C++ [image] Copy Code

public:
Table* FindTable (
int nTag
)

Parameters

nTag
The tag of the searched table.

Return Value

A reference to a Table object, which is the first table found with the requested tag, or null reference (Nothing in Visual Basic) if none is found.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetTableAt Method
FindArrow Method
FindBox Method


FlowChartPro.FlowChart.FitDocToObjects Method

FlowChart.FitDocToObjects Method
[image]

Resizes the diagram scrollable area so it fits all diagram items.

Syntax

VB6 [image] Copy Code

Public Sub FitDocToObjects( _
ByVal borderGap As Long _
)

C++ [image] Copy Code

public:
void FitDocToObjects (
int borderGap
)

Parameters

borderGap
The distance that should be left between the objects and the document bounds.

Remarks

Resizes the document area to be just as big as needed, e.g. the minimal rectangle containing all diagram objects. For aesthetic reasons additional space can be left around the objects as a border. There is no result of invoking the method if the document is empty.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetArrowAt Method

FlowChart.GetArrowAt Method
[image]

Gets the arrow placed at a certain location in the diagram.

Syntax

VB6 [image] Copy Code

Public Function GetArrowAt( _
ByVal docX As Long, _
ByVal docY As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* GetArrowAt (
int docX,
int docY
)

Parameters

docX
The x coordinate of a document point.
docY
The y coordinate of a document point.

Return Value

The Arrow object found; null (Nothing in Visual Basic) if no arrow is found at the specified location.

Remarks

Call the method to get the arrow at a certain place in the document. The method searches starting from the top of Z-order and returns the first arrow found. The specified point might not be laying exactly on the arrow, but within a certain range from it.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetBoxAt Method
GetTableAt Method
ObjectFromPoint Method


FlowChartPro.FlowChart.GetBoxAt Method

FlowChart.GetBoxAt Method
[image]

Finds the topmost box containing the specified point.

Syntax

VB6 [image] Copy Code

Public Function GetBoxAt( _
ByVal docX As Long, _
ByVal docY As Long _
) As Box

C++ [image] Copy Code

public:
Box* GetBoxAt (
int docX,
int docY
)

Parameters

docX
The x coordinate of a document point.
docY
The y coordinate of a document point.

Return Value

The Box object found; null (Nothing in Visual Basic) if no box is found at the specified location.

Remarks

Looks for a box at the specified document location. If there are more than one boxes at that point, the box that is highest in the Z order is returned.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetArrowAt Method
GetTableAt Method
ObjectFromPoint Method


FlowChartPro.FlowChart.GetBoxWithInteractorAt Method

FlowChart.GetBoxWithInteractorAt Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetBoxWithInteractorAt( _
ByVal docX As Long, _
ByVal docY As Long _
) As Box

C++ [image] Copy Code

public:
Box* GetBoxWithInteractorAt (
int docX,
int docY
)

Parameters

docX

docY

Return Value

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetCFlowChart Method

FlowChart.GetCFlowChart Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetCFlowChart () As Long

C++ [image] Copy Code

public:
unsigned int GetCFlowChart ()

Return Value

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetCycle Method

FlowChart.GetCycle Method
[image]

Gets a cycle found by a previous DetectCycle invocation.

Syntax

VB6 [image] Copy Code

Public Function GetCycle( _
ByVal Index As Long _
) As IArrows

C++ [image] Copy Code

public:
IArrows* GetCycle (
int Index
)

Parameters

Index
The index of a buffered cycle.

Return Value

A collection of Arrow objects forming a cycle.

Remarks

DetectCycle puts the found cycles in a buffer, from which they can be retrieved using this method. The number of buffered cycles is returned by the CycleCount property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetDefLibShape Method

FlowChart.GetDefLibShape Method
[image]

( [image] a feature of FlowChartX Pro edition)

Gets the default shape of new boxes of the bsLibShape Style.

Syntax

VB6 [image] Copy Code

Public Sub GetDefLibShape( _
ByRef libGUID As String, _
ByRef shape As Long _
)

C++ [image] Copy Code

public:
void GetDefLibShape (
BSTR* libGUID,
int* shape
)

Parameters

libGUID
The unique id of a shape library, which provides the default shape.
shape
The index of the default shape in its library.

Remarks

Gets the default custom shape for boxes, as it was previously set with SetDefLibShape.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetDocSize Method

FlowChart.GetDocSize Method
[image]

Gets the size of the diagram scrollable area.

Syntax

VB6 [image] Copy Code

Public Sub GetDocSize( _
ByRef left As Long, _
ByRef top As Long, _
ByRef right As Long, _
ByRef bottom As Long _
)

C++ [image] Copy Code

public:
void GetDocSize (
int* left,
int* top,
int* right,
int* bottom
)

Parameters

left
The left side of the document area.
top
The top side of the document area.
right
The right side of the document area.
bottom
The bottom side of the document area.

Remarks

Returns the document extents, as they were previously set with SetDocSize.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetPath Method

FlowChart.GetPath Method
[image]

Gets a path found by a previous FindAllPaths invocation.

Syntax

VB6 [image] Copy Code

Public Function GetPath( _
ByVal Index As Long _
) As IArrows

C++ [image] Copy Code

public:
IArrows* GetPath (
int Index
)

Parameters

Index
The index of a buffered path.

Return Value

A collection of Arrow objects representing the path between two nodes.

Remarks

FindShortestPath and FindAllPaths methods put the found paths in a buffer, from which they can be retrieved using this method. The number of buffered paths is returned by the PathCount property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetShapeCount Method

FlowChart.GetShapeCount Method
[image]

( [image] a feature of FlowChartX Pro edition)

Gets the number of shapes defined in a shape library.

Syntax

VB6 [image] Copy Code

Public Function GetShapeCount( _
ByVal libGUID As String _
) As Long

C++ [image] Copy Code

public:
int GetShapeCount (
BSTR libGUID
)

Parameters

libGUID
The unique identifier of an already loaded shape library.

Return Value

A long value indicating how many shapes are available in a custom shape library.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetShapeLibGUID Method

FlowChart.GetShapeLibGUID Method
[image]

( [image] a feature of FlowChartX Pro edition)

Returns the GUID of a loaded shape library.

Syntax

VB6 [image] Copy Code

Public Function GetShapeLibGUID( _
ByVal FileName As String _
) As String

C++ [image] Copy Code

public:
BSTR GetShapeLibGUID (
BSTR FileName
)

Parameters

FileName
The file name of an already registered shape library.

Return Value

A string value representing the unique identifier of a registered shape library.

Remarks

Returns the GUID of a shape library that is already registered. This GUID is used when specifying box shape to be one from this shape library, so usually you would get the library id immediately after calling LoadShapeLib.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetShapeLibName Method

FlowChart.GetShapeLibName Method
[image]

( [image] a feature of FlowChartX Pro edition)

Gets the name of a shape library.

Syntax

VB6 [image] Copy Code

Public Function GetShapeLibName( _
ByVal libGUID As String _
) As String

C++ [image] Copy Code

public:
BSTR GetShapeLibName (
BSTR libGUID
)

Parameters

libGUID
The unique identifier of an already registered shape library.

Return Value

A string value representing a user-friendly description of the shape library.

Remarks

This function returns a descriptive name of the shape library.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GetTableAt Method

FlowChart.GetTableAt Method
[image]

Finds the topmost table containing the specified point.

Syntax

VB6 [image] Copy Code

Public Function GetTableAt( _
ByVal docX As Long, _
ByVal docY As Long _
) As Table

C++ [image] Copy Code

public:
Table* GetTableAt (
int docX,
int docY
)

Parameters

docX
The x coordinate of a document point.
docY
The y coordinate of a document point.

Return Value

The Table object found; null (Nothing in Visual Basic) if no table is found at the specified location.

Remarks

Looks for a table containing the (docX, docY) point passed as parameter. If there are more than one tables at that point, the highest table in the Z order is returned.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetArrowAt Method
GetBoxAt Method
ObjectFromPoint Method


FlowChartPro.FlowChart.HideScrollers Method

FlowChart.HideScrollers Method
[image]

Hides the scrollbars.

Syntax

VB6 [image] Copy Code

Public Sub HideScrollers ()

C++ [image] Copy Code

public:
void HideScrollers ()

Remarks

Hide the scrollbars of the control. Pay attention to the fact that built-in scrollbars are created only if FlowChartX has its own window. If you use it windowless you can register external scrollbars within the control. For more information, refer to RegExtrScrollers.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.IsTree Method

FlowChart.IsTree Method
[image]

Determines whether the current graph is a tree.

Syntax

VB6 [image] Copy Code

Public Function IsTree () As Boolean

C++ [image] Copy Code

public:
bool IsTree ()

Return Value

A boolean value indicating whether the current diagram represents a tree.

Remarks

Check if the graph of objects in the current diagram represents a tree.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LoadFromFile Method

FlowChart.LoadFromFile Method
[image]

Loads the contents of an existing diagram file into the control.

Syntax

VB6 [image] Copy Code

Public Sub LoadFromFile( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void LoadFromFile (
BSTR FileName
)

Parameters

FileName
The name of the file to load from.

Remarks

Loads a flowchart document from a file. The file should be created using SaveToFile method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadFromXml Method


FlowChartPro.FlowChart.LoadFromStream Method

FlowChart.LoadFromStream Method
[image]

Loads the contents of the diagram from a stream.

Syntax

VB6 [image] Copy Code

Public Sub LoadFromStream( _
ByVal lpStream As Object _
)

C++ [image] Copy Code

public:
void LoadFromStream (
IDispatch* lpStream
)

Parameters

lpStream
The stream to load from.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LoadFromString Method

FlowChart.LoadFromString Method
[image]

Decodes diagram contents from a string that was created with SaveToString.

Syntax

VB6 [image] Copy Code

Public Sub LoadFromString( _
ByVal str As String _
)

C++ [image] Copy Code

public:
void LoadFromString (
BSTR str
)

Parameters

str
A string to which a document was previously saved.

Remarks

Loads a flowchart document from a string. The string should be created using SaveToString method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LoadFromXml Method

FlowChart.LoadFromXml Method
[image]

Loads a flowchart from the specified XML document.

Syntax

VB6 [image] Copy Code

Public Sub LoadFromXml( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void LoadFromXml (
BSTR FileName
)

Parameters

FileName
The name of the XML file the data should be read from.

Remarks

The method loads a flowchart previously saved via the SaveToXml method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadFromFile Method


FlowChartPro.FlowChart.LoadPicFromRes Method

FlowChart.LoadPicFromRes Method
[image]

Loads a background image from a resource.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicFromRes( _
ByVal hRsrcInst As Long, _
ByVal RsrcName As String, _
ByVal RsrcType As String _
)

C++ [image] Copy Code

public:
void LoadPicFromRes (
unsigned int hRsrcInst,
BSTR RsrcName,
BSTR RsrcType
)

Parameters

hRsrcInst

A HINSTANCE. This is the handle of the module from which the resource is to be loaded.

RsrcName

The name of the resource. Use MAKEINTRESOURCE macro if you use integer identifiers for your resources (in Visual C++).

RsrcType

The name of the resource type.

Remarks

Loads a background image from a resource. Note that standard icon and bitmap resources are not supported. You should insert your pictures as custom resources, either by pasting the binary contents of the image file into the resource binary code, or by linking to the file from the resource script. The latter can be done using following syntax in the .RC file:

Copy Code

RESNAME TYPENAME "path to file"

Afterwards load the image that way:

Copy Code

fc.LoadPicFromRsc((ULONG)AfxGetResourceHandle(), RESNAME, TYPENAME)

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadPicture Method
Picture Property


FlowChartPro.FlowChart.LoadPicture Method

FlowChart.LoadPicture Method
[image]

Loads a background image from a file.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicture( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void LoadPicture (
BSTR FileName
)

Parameters

FileName
The name of the image file to load from.

Remarks

Loads a background image from a file. The file format can be any of OleLoadPicture supported image formats. You can also use the Picture property to set the background image.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadPicFromRes Method


FlowChartPro.FlowChart.LoadPredefShape Method

FlowChart.LoadPredefShape Method
[image]

Loads one of the predefined polygonal shapes as default for new bsPolygon boxes.

Syntax

VB6 [image] Copy Code

Public Sub LoadPredefShape( _
ByVal nId As Long _
)

C++ [image] Copy Code

public:
void LoadPredefShape (
int nId
)

Parameters

nId
The integer identifier of the shape to load.

Remarks

Loads one of predefined polygonal shapes to be used for boxes the user creates. All new boxes with style bsPolygon will be with this shape. The shape definitions are stored as resources in the flowchart.dll file.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LoadShapeLib Method

FlowChart.LoadShapeLib Method
[image]

( [image] a feature of FlowChartX Pro edition)

Loads a shape library.

Syntax

VB6 [image] Copy Code

Public Function LoadShapeLib( _
ByVal FileName As String _
) As String

C++ [image] Copy Code

public:
BSTR LoadShapeLib (
BSTR FileName
)

Parameters

FileName
The file name of the shape library dll.

Return Value

A string value representing the unique identifier of the loaded shape library.

Remarks

Loads a custom shape library and registers it with the rendering engine of FlowChartX. Shapes of the library can be assigned to boxes by setting their style to bsLibShape and calling the SetShape method. Default shape is be set by calling SetDefLibShape. The guid returned by this method identifies the library to various FlowChartX methods and properties, so it is a good idea to keep a reference to it.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MeasureString Method

FlowChart.MeasureString Method
[image]

Measures the specified string when drawn with the specified font.

Syntax

VB6 [image] Copy Code

Public Sub MeasureString( _
ByVal String As String, _
ByVal Font As IFontDisp, _
ByRef width As Long, _
ByRef height As Long _
)

C++ [image] Copy Code

public:
void MeasureString (
BSTR String,
IFontDisp* Font,
int* width,
int* height
)

Parameters

String
The string whose size should be measured.
Font
The font used to render the string.
width
The width of the rectangle that will fit the specified text.
height
The height of the rectangle that will fit the specified text.

Remarks

Use this method to find out how much space the control would need to display a string with the current MeasureUnit. Note that FlowChartX leaves one millimeter margins between the text and the box / cell borders when displaying text inside objects. Thus you need to add two millimeters to the returned width and height to find how big a box or a table cell should be in order to display the text without clipping.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
FitSizeToText Method
ResizeToFitText Method


FlowChartPro.FlowChart.MergeUndoRecords Method

FlowChart.MergeUndoRecords Method
[image]

( [image] a feature of FlowChartX Pro edition)

Merges several undo records into one composite record.

Syntax

VB6 [image] Copy Code

Public Sub MergeUndoRecords( _
ByVal numRecords As Long _
)

C++ [image] Copy Code

public:
void MergeUndoRecords (
int numRecords
)

Parameters

numRecords
The number of records to merge.

Remarks

The specified number of records just before the current position in the undo queue are moved into one composite record. The composite record is placed in the queue, and when it is undone or redone, all records that compose it are undone or redone as one integral action. Invoking MergeUndoRecords removes all records after the current position in the undo queue. The method fails if the records in the queue are less than the specified number.

Use this method with caution - some properties can exert influence on how many records are created by seemingly identical sets of actions. For example if SelectAfterCreate is enabled, there are selection-change records inserted between item creation records.

Use the BeginUndoRecord and EndUndoRecord methods to create a composite record that stores programmatic actions done in a single method of your application. That allows creating a composite record without knowing how many actions would be recorded while the enclosed code executes.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RecordCustomAction Method
UndoActionRecorded Event


FlowChartPro.FlowChart.NodesIntersect Method

FlowChart.NodesIntersect Method
[image]

Determines whether two nodes intersect.

Syntax

VB6 [image] Copy Code

Public Function NodesIntersect( _
ByVal node1 As Object, _
ByVal node2 As Object _
) As Boolean

C++ [image] Copy Code

public:
bool NodesIntersect (
IDispatch* node1,
IDispatch* node2
)

Parameters

node1
The first node to test for intersection.
node2
The second node to test for intersection.

Return Value

true if the two nodes intersect; otherwise, false.

Remarks

NodesIntersect determines whether two diagram nodes intersect, taking into account their shapes' outlines.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Arrow.IntersectsNode Method


FlowChartPro.FlowChart.ObjectFromPoint Method

FlowChart.ObjectFromPoint Method
[image]

Finds the topmost node that contains the specified point.

Syntax

VB6 [image] Copy Code

Public Function ObjectFromPoint( _
ByVal x As Long, _
ByVal y As Long, _
ByVal excludeLocked As Boolean, _
ByVal excludeSelected As Boolean _
) As Object

C++ [image] Copy Code

public:
IDispatch* ObjectFromPoint (
int x,
int y,
bool excludeLocked,
bool excludeSelected
)

Parameters

x
The x coordinate of a document point.
y
The y coordinate of a document point.
excludeLocked
Specifies whether to skip locked objects.
excludeSelected
Specifies whether to skip selected objects.

Return Value

A reference to a box or a table.

Remarks

Finds a box or a table containing the (x, y) point passed as parameter. The highest object in the Z-order is returned, unless it is locked and/or selected and the respective exclude parameter is true.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
GetArrowAt Method
GetBoxAt Method
GetTableAt Method


FlowChartPro.FlowChart.OpenPreviewWindow Method

FlowChart.OpenPreviewWindow Method
[image]

Opens a print preview window with the specified position and size.

Syntax

VB6 [image] Copy Code

Public Function OpenPreviewWindow( _
ByVal left As Long, _
ByVal top As Long, _
ByVal width As Long, _
ByVal height As Long _
) As PrintPreview

C++ [image] Copy Code

public:
PrintPreview* OpenPreviewWindow (
int left,
int top,
int width,
int height
)

Parameters

left
The horizontal position of the preview window.
top
The vertical position of the preview window.
width
The width of the preview window.
height
The height of the preview window.

Return Value

An instance of the PrintPreview class.

Remarks

This is an extended version of the PreviewDiagram method that gives you more control over the attributes of the preview window. The window attributes are exposed as properties of the returned PrintPreview object.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PrintDiagram Method
PrintOptions Property
Printing and Print Preview


FlowChartPro.FlowChart.PasteFromClipboard Method

FlowChart.PasteFromClipboard Method
[image]

( [image] a feature of FlowChartX Pro edition)

Pastes the current clipboard contents into the diagram.

Syntax

VB6 [image] Copy Code

Public Sub PasteFromClipboard ()

C++ [image] Copy Code

public:
void PasteFromClipboard ()

Remarks

Pastes the current clipboard contents to the flowchart document. Nothing happens if there's no FlowChartX data in the clipboard. You can find out if there are items available for paste using the CanPasteFromClipboard method. If SelectAfterPaste property is set to true, newly pasted items are selected automatically. If KbdActive is enabled, FlowChartX automatically calls this method in response to the CTRL+V key combination.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CopyToClipboard Method
CutToClipboard Method


FlowChartPro.FlowChart.PreviewDiagram Method

FlowChart.PreviewDiagram Method
[image]

Displays the print preview window.

Syntax

VB6 [image] Copy Code

Public Sub PreviewDiagram ()

C++ [image] Copy Code

public:
void PreviewDiagram ()

Remarks

Opens a print preview window that shows how the current diagram would look printed. The page dimensions and printer resolution as set for the default printer are used to render the preview window. Thus, if the user selects a printer other than the default for the print job, the output in the preview window might be slightly different from that on the printed pages.

The preview is rendered with the same settings that are used for printing, assigned via the PrintOptions structure. That ensures uniform output of the printed document both on paper and in the preview window. Print job settings include document title and several flags that control if images, shadows, headers, etc. are to be printed.

The preview window provides user interface for changing pages, scrolling and zooming the current page, and starting a print job. The print settings structure also exposes the captions of the preview window title and toolbar buttons as string properties. That allows for localization / internationalization of your end-user application.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PrintDiagram Method
OpenPreviewWindow Method
Printing and Print Preview


FlowChartPro.FlowChart.PrintChart Method

FlowChart.PrintChart Method
[image]

Prints the diagram (obsolete).

Syntax

VB6 [image] Copy Code

Public Sub PrintChart( _
ByVal bPrintInterior As Boolean, _
ByVal bPrintImages As Boolean, _
ByVal bPrintFrame As Boolean, _
ByVal bPrintHeader As Boolean, _
ByVal bPrintShadows As Boolean, _
ByVal sDocName As String _
)

C++ [image] Copy Code

public:
void PrintChart (
bool bPrintInterior,
bool bPrintImages,
bool bPrintFrame,
bool bPrintHeader,
bool bPrintShadows,
BSTR sDocName
)

Parameters

bPrintInterior
Specifies whether to print objects interior and control background.
bPrintImages
Specifies whether to print images.
bPrintFrame
Specifies whether to print a frame around the document.
bPrintHeader
Specifies whether to print header at the top of each page.
bPrintShadows
Specifies whether to print shadows.
sDocName
The name of the document, printed in all page headers.

Remarks

Prints the current document contents. The standard Windows print dialog is displayed before printing to let users choose print settings, such as output device, page range, orientation (landscape or portrait) and number of copies to make. You can control various visual aspects of the print output by passing appropriate values for the parameters of this method.

Note

This method is obsolete. You should use the PrintDiagram method in conjunction with the PrintOptions structure to print FlowChartX documents.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.PrintDiagram Method

FlowChart.PrintDiagram Method
[image]

Prints the diagram.

Syntax

VB6 [image] Copy Code

Public Sub PrintDiagram ()

C++ [image] Copy Code

public:
void PrintDiagram ()

Remarks

Prints the current FlowChartX document. Various setting for the print job can be assigned via the PrintOptions structure. That structure exposes as properties the title of the print job and several flags that control whether images, shadows, headers, etc. are printed. PrintOptions values are used also in preview mode. That ensures similar output on the printed pages and the display.

Printer selection dialog is displayed before starting a print job. You can skip that dialog by specifying a printer name in the PreferredDevice field of the print settings structure. Set that field to empty string (default) to get the printer dialog displayed.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PreviewDiagram Method
OpenPreviewWindow Method
Printing and Print Preview


FlowChartPro.FlowChart.PrintOnDev Method

FlowChart.PrintOnDev Method
[image]

Prints the diagram using the specified printer (obsolete).

Syntax

VB6 [image] Copy Code

Public Sub PrintOnDev( _
ByVal sDriver As String, _
ByVal sDevice As String, _
ByVal bPrintInterior As Boolean, _
ByVal bPrintImages As Boolean, _
ByVal bPrintFrame As Boolean, _
ByVal bPrintHeader As Boolean, _
ByVal bPrintShadows As Boolean, _
ByVal sDocName As String _
)

C++ [image] Copy Code

public:
void PrintOnDev (
BSTR sDriver,
BSTR sDevice,
bool bPrintInterior,
bool bPrintImages,
bool bPrintFrame,
bool bPrintHeader,
bool bPrintShadows,
BSTR sDocName
)

Parameters

sDriver
The print provider/driver, usually "WINSPOOL".
sDevice

The name of the specific output device to be used.

bPrintInterior
Specifies whether to print objects interior and control background.
bPrintImages
Specifies whether to print images.
bPrintFrame
Specifies whether to print a frame around the document.
bPrintHeader
Specifies whether to print header at the top of each page.
bPrintShadows
Specifies whether to print shadows.
sDocName
The name of the document, printed in all page headers.

Remarks

Prints the current document's contents. The printer to be used is chosen programmatically and its name passed as value of the device parameter. You can control various visual aspects of the print output by passing appropriate values for the other parameters of this method.

Note

This method is obsolete. You should use the PrintDiagram method in conjunction with the PrintOptions structure to print FlowChartX documents.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RecordCustomAction Method

FlowChart.RecordCustomAction Method
[image]

( [image] a feature of FlowChartX Pro edition)

Adds a custom record to the FlowChartX undo/redo queue.

Syntax

VB6 [image] Copy Code

Public Sub RecordCustomAction( _
ByVal ID As Long _
)

C++ [image] Copy Code

public:
void RecordCustomAction (
int ID
)

Parameters

ID
An identifier associated with the custom record.

Remarks

Adds a custom record to the FlowChartX command history. UndoDepth must be greater than zero for this method to succeed. The record ID identifier is passed later to ActionRedone or ActionUndone event handlers, allowing applications to perform the appropriate operations to redo or undo the custom action.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Undo Method
Redo Method


FlowChartPro.FlowChart.Redo Method

FlowChart.Redo Method
[image]

( [image] a feature of FlowChartX Pro edition)

Redoes an action stored in the undo/redo history.

Syntax

VB6 [image] Copy Code

Public Sub Redo ()

C++ [image] Copy Code

public:
void Redo ()

Remarks

Re-does an operation that was previously undone. If the history-queue is empty nothing happens and no error is returned. You can find out if there's recorded action in the queue that can be re-done, using the RedoPossible method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActionRedone Event


FlowChartPro.FlowChart.RedoPossible Method

FlowChart.RedoPossible Method
[image]

( [image] a feature of FlowChartX Pro edition)

Determines whether there is an action in the undo/redo queue that can be redone.

Syntax

VB6 [image] Copy Code

Public Function RedoPossible () As Boolean

C++ [image] Copy Code

public:
bool RedoPossible ()

Return Value

true if there is an operation recorded in the history-queue that can be redone; if Redo cannot be performed, returns false.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RegExtrScrollers Method

FlowChart.RegExtrScrollers Method
[image]

Registers external scrollbars with FlowChartX.

Syntax

VB6 [image] Copy Code

Public Sub RegExtrScrollers( _
ByVal hwHorz As Long, _
ByVal hwVert As Long _
)

C++ [image] Copy Code

public:
void RegExtrScrollers (
unsigned int hwHorz,
unsigned int hwVert
)

Parameters

hwHorz

A window handle of the horizontal scrollbar.

hwVert

A window handle of the vertical scrollbar.

Remarks

When using FlowChartX as windowless control it doesn't create its own scrollbars neither has its own window. In such case you can put two windows scrollbar controls beside the flowchart and register them with the FlowChartX using this method. The hwHorz and hwVert are window handles to the scrollbars. Except scrollbars' registration you should also resend WM_HSCROLL and WM_VSCROLL messages to IOleInPlaceObjectWindowless::OnWindowMessage method. With that done the external scrollbars function as the built-in of the windowed version. When the document is scrolled or zoomed the scroll thumb position and size will be set accordingly.

Note

This method does not apply to the .NET framework because current version of .NET does not support windowless activation of ActiveX controls.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RegisterDragDrop Method

FlowChart.RegisterDragDrop Method
[image]

Registers the control as a possible target of an OLE drag-and-drop operation.

Syntax

VB6 [image] Copy Code

Public Sub RegisterDragDrop ()

C++ [image] Copy Code

public:
void RegisterDragDrop ()

Remarks

For additional information about drag & drop, check Drag and Drop.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RemoveFromSelection Method

FlowChart.RemoveFromSelection Method
[image]

Removes an item from multiple selection.

Syntax

VB6 [image] Copy Code

Public Sub RemoveFromSelection( _
ByVal pItem As Object _
)

C++ [image] Copy Code

public:
void RemoveFromSelection (
IDispatch* pItem
)

Parameters

pItem
A reference to the item to be deselected - box, table or arrow.

Remarks

Deselects an item. According to its type, the item is removed from the SelectedBoxes, SelectedArrows or SelectedTables collections.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Repaint Method

FlowChart.Repaint Method
[image]

Repaints the flowchart.

Syntax

VB6 [image] Copy Code

Public Sub Repaint ()

C++ [image] Copy Code

public:
void Repaint ()

Remarks

FlowChartX cannot detect changes made to some objects and cannot redraw automatically the diagram items affected by these changes. E.g. changing the size or style of a Box.Font object cannot be detected by FlowChartX because there is only the code of the OLE Font implementation executing. In such situations, use the Repaint method to repaint the whole diagram after the required changes are complete.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Box.Repaint Method


FlowChartPro.FlowChart.RevokeDragDrop Method

FlowChart.RevokeDragDrop Method
[image]

Revokes the registration of the control as a potential target for OLE drag-and-drop operations.

Syntax

VB6 [image] Copy Code

Public Sub RevokeDragDrop ()

C++ [image] Copy Code

public:
void RevokeDragDrop ()

Remarks

For additional information about drag & drop, check Drag and Drop.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RouteAllArrows Method

FlowChart.RouteAllArrows Method
[image]

Routes all arrows in the diagram.

Syntax

VB6 [image] Copy Code

Public Sub RouteAllArrows ()

C++ [image] Copy Code

public:
void RouteAllArrows ()

Remarks

Each arrow in the diagram is routed so that it goes the shortest possible way between the nodes it links without crossing any other nodes. To do so, this method might modify the number of arrow segments. The value of AutoRoute is not considered while RouteAllArrows executes.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RoutingOptions Property
Arrow.Route Method


FlowChartPro.FlowChart.SaveToBitmap Method

FlowChart.SaveToBitmap Method
[image]

Exports a bitmap image that represents the current diagram contents.

Syntax

VB6 [image] Copy Code

Public Sub SaveToBitmap( _
ByVal FileName As String, _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SaveToBitmap (
BSTR FileName,
int left,
int top,
int right,
int bottom
)

Parameters

FileName
The name of the file in which to store the document.
left
The left side of the rectangle defining which part of the document to save.
top
The top side of the rectangle defining which part of the document to save.
right
The right side of the rectangle defining which part of the document to save.
bottom
The bottom side of the rectangle defining which part of the document to save.

Remarks

Saves the current FlowChartX diagram into a bitmap file. The Windows GDI fails to create bitmaps larger than ~3000 x 3000 pixels, so the method allows exporting just a portion of the diagram, as specified via the four long arguments.

If the classic GDI graphics engine is used, SaveToBitmap can create files only in bmp format. If the GDI+ Graphics engine is enabled, the method allows exporting images in the following additional formats: jpeg, gif, png and tiff. The image format to use is determined automatically, based on the extension of the file name passed as first argument. The following extensions are recognized: "bmp", "jpg", "jpeg", "gif", "tif" and "png".

Example

The following VB6 code shows how to export the whole diagram as a bitmap:

VB6 [image] Copy Code

fcx.SaveToBitmap "C:\test.bmp", fcx.DocLeft, fcx.DocTop, fcx.DocRight, fcx.DocBottom

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CreateBitmap Method
ImageExportOptions Property


FlowChartPro.FlowChart.SaveToFile Method

FlowChart.SaveToFile Method
[image]

Saves the binary contents of a diagram to a disk file.

Syntax

VB6 [image] Copy Code

Public Sub SaveToFile( _
ByVal FileName As String, _
ByVal ClearDirty As Boolean _
)

C++ [image] Copy Code

public:
void SaveToFile (
BSTR FileName,
bool ClearDirty
)

Parameters

FileName
The name of the file in which to store the document.
ClearDirty
Indicates whether the Dirty flag should be cleared.

Remarks

Saves a FlowChartX document in a file. The file can be later loaded using the LoadFromFile method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SaveToXml Method
SaveToString Method


FlowChartPro.FlowChart.SaveToMetaFile Method

FlowChart.SaveToMetaFile Method
[image]

Exports a metafile image that represents the current diagram contents.

Syntax

VB6 [image] Copy Code

Public Sub SaveToMetaFile( _
ByVal FileName As String, _
ByVal Description As String _
)

C++ [image] Copy Code

public:
void SaveToMetaFile (
BSTR FileName,
BSTR Description
)

Parameters

FileName
The name of the metafile in which to export the diagram.
Description
The metafile description text.

Remarks

Exports the current FlowChartX diagram into a metafile picture. The created file is in EMF format.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SaveToStream Method

FlowChart.SaveToStream Method
[image]

Saves the contents of the diagram to a stream.

Syntax

VB6 [image] Copy Code

Public Sub SaveToStream( _
ByVal lpStream As Object _
)

C++ [image] Copy Code

public:
void SaveToStream (
IDispatch* lpStream
)

Parameters

lpStream
The stream to save to.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SaveToString Method

FlowChart.SaveToString Method
[image]

Encodes the diagram contents into a base64 string.

Syntax

VB6 [image] Copy Code

Public Function SaveToString( _
ByVal ClearDirty As Boolean _
) As String

C++ [image] Copy Code

public:
BSTR SaveToString (
bool ClearDirty
)

Parameters

ClearDirty
Indicates whether the Dirty flag should be cleared.

Return Value

A string consisting of base-64 digits.

Remarks

There are no special characters in the returned string, so the result can be easily stored in a database field or embedded into an XML document. SaveToString is particularly useful for passing diagrams between a web page and a web server via hidden html fields. Diagrams might be generated on the server, sent with dynamically generated web page to the browser, and loaded there with LoadFromString.

Since version 4.1.2 of FlowChartX, the string is created by base64-encoding the binary data stream. In previous versions, the string consisted of characters representing the document's binary contents as a sequence of hexadecimal codes. Hexadecimal encoding uses two symbols to encode a byte, whereas base64 encoding uses four symbols per three bytes and thus creates more compact representation of the binary data.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadFromString Method


FlowChartPro.FlowChart.SaveToXml Method

FlowChart.SaveToXml Method
[image]

Saves the flowchart to the specified file as an XML document.

Syntax

VB6 [image] Copy Code

Public Sub SaveToXml( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void SaveToXml (
BSTR FileName
)

Parameters

FileName
The full path and name of the disk file where the diagram should be saved.

Remarks

Later, the file can be loaded using the LoadFromXml method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SaveToFile Method


FlowChartPro.FlowChart.ScreenPtToDocPt Method

FlowChart.ScreenPtToDocPt Method
[image]

Gets the diagram coordinates of a screen point.

Syntax

VB6 [image] Copy Code

Public Sub ScreenPtToDocPt( _
ByVal x As Long, _
ByVal y As Long, _
ByRef px As Long, _
ByRef py As Long _
)

C++ [image] Copy Code

public:
void ScreenPtToDocPt (
int x,
int y,
int* px,
int* py
)

Parameters

x
The x coordinate of a screen point.
y
The y coordinate of a screen point.
px
The x coordinate of the point in document coordinates.
py
The y coordinate of the point in document coordinates.

Remarks

Gets the document coordinates of the point (x, y). The mapping between the screen and document (logical) coordinates depends on the location of FlowChartX, its current scroll position and zoom factor. You can use this method together with ObjectFromPoint to find out which item lies under the mouse cursor, when you have the mouse position expressed in screen coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ScrollTo Method

FlowChart.ScrollTo Method
[image]

Scrolls to diagram to the specified position.

Syntax

VB6 [image] Copy Code

Public Sub ScrollTo( _
ByVal x As Long, _
ByVal y As Long _
)

C++ [image] Copy Code

public:
void ScrollTo (
int x,
int y
)

Parameters

x
The x coordinate of the document point.
y
The y coordinate of the document point.

Remarks

Scrolls the document contents in its window causing the (x, y) document point to overlap the window upper left corner.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SetDefLibShape Method

FlowChart.SetDefLibShape Method
[image]

( [image] a feature of FlowChartX Pro edition)

Sets the default library shape to use with new boxes of bsLibShape style.

Syntax

VB6 [image] Copy Code

Public Sub SetDefLibShape( _
ByVal libGUID As String, _
ByVal shape As Long _
)

C++ [image] Copy Code

public:
void SetDefLibShape (
BSTR libGUID,
int shape
)

Parameters

libGUID
The unique identifier of a loaded shape library.
shape
The index of the shape.

Remarks

Sets default shape for boxes with Style set to bsLibShape. If the box has some other style set, then the custom shape will not be displayed until the box style is set to bsLibShape. If the default style of boxes - BoxStyle - is set to bsLibShape, all new boxes that users create will immediately display the custom shape selected with this method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SetDocSize Method

FlowChart.SetDocSize Method
[image]

Sets the size of the diagram scrollable area.

Syntax

VB6 [image] Copy Code

Public Sub SetDocSize( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetDocSize (
int left,
int top,
int right,
int bottom
)

Parameters

left
The left side of the document area.
top
The top side of the document area.
right
The right side of the document area.
bottom
The bottom side of the document area.

Remarks

Sets document extents. It also adjusts page size and position of the scrollbars (if present). Depending on RestrObjsToDoc property value, no diagram items can be placed outside document extents.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MeasureUnit Property
AutoSizeDoc Property


FlowChartPro.FlowChart.SetLicenseKey Method

FlowChart.SetLicenseKey Method
[image]

Sets the license key of the control.

Syntax

C# [image] Copy Code

public virtual void SetLicenseKey (
string licenseKey
)

Visual Basic [image] Copy Code

Public Overridable Sub SetLicenseKey( _
licenseKey As String _
)

Parameters

licenseKey

A string value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SetMouseCursor Method

FlowChart.SetMouseCursor Method
[image]

Lets you change the mouse cursor icons that are displayed in various situations.

Syntax

VB6 [image] Copy Code

Public Sub SetMouseCursor( _
ByVal type As EMouseCursor, _
ByVal Handle As Long, _
ByVal DestroyOld As Boolean _
)

C++ [image] Copy Code

public:
void SetMouseCursor (
EMouseCursor type,
unsigned int Handle,
bool DestroyOld
)

Parameters

type
A member of the EMouseCursor enumeration specifying the type of the cursor to change.
Handle

A Windows cursor HANDLE representing a loaded cursor resource.

DestroyOld

Indicates whether the old cursor handle for this type should be deleted.

Remarks

Changes one of the predefined mouse cursors with a new one. The following cursors can be changed:

  • mcPointer - displayed if no item will be modified when dragging the mouse from the current mouse position;
  • mcPan - displayed when panning the diagram view;
  • mcCannotCreate - shown while object is being created if the creation cannot be completed at the current location;
  • mcArrowStart - indicates that dragging will start arrow creation;
  • mcArrowEnd - indicates that the currently created arrow can be linked at the current location;
  • mcArrowCannotCreate - indicates that the currently created arrow cannot be linked at the current location;
  • mcModify - indicates that dragging will move an object;
  • mcHorzResize - indicates that dragging will resize an object horizontally;
  • mcVertResize - indicates that dragging will resize an object vertically;
  • mcMainDgnlResize - indicates that dragging will resize an object both horizontally and vertically;
  • mcSecDgnlResize - indicates that dragging will resize an object both horizontally and vertically;
  • mcRotateShape - displayed when the mouse pointer rests over a box rotation handle;

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Behavior Property
MiddleButtonAction Property


FlowChartPro.FlowChart.SetPolyShape Method

FlowChart.SetPolyShape Method
[image]

Sets default shape for new boxes of type bsPolygon.

Syntax

VB6 [image] Copy Code

Public Sub SetPolyShape( _
ByVal count As Integer, _
ByRef ptc As Byte _
)

C++ [image] Copy Code

public:
void SetPolyShape (
short count,
unsigned char* ptc
)

Parameters

count
The number of points in the custom shape.
ptc

The points coordinates.

Remarks

Sets default shape for new boxes of type bsPolygon. There is no restriction as to what polygonal form can be created. The count parameter is the number of points defining the shape. In the array of byte values passed as second parameter the (x, y) coordinates are set as percents of the rectangle bounding the form.

You can define as complex shapes as you need.

Example

To pass a rectangle use following array: {0, 0, 100, 0, 100, 100, 0, 100 }. To pass a rhombus use: {50, 0, 100, 50, 50, 100, 0, 50}. If the user places this rhombus on a position with bounding rectangle (100, 100) - (300, 200) then the rhombus points calculated from the percent array shall be (200, 100) - (300, 150) - (200, 200) - (100, 150).

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SetPolyShapeArray Method

FlowChart.SetPolyShapeArray Method
[image]

Sets default shape for new boxes of type bsPolygon.

Syntax

VB6 [image] Copy Code

Public Sub SetPolyShapeArray( _
ByRef psaPoints() As Byte _
)

C++ [image] Copy Code

public:
void SetPolyShapeArray (
unsigned char** psaPoints
)

Parameters

psaPoints
An array containing the points coordinates of the custom shape.

Remarks

Call this method to set the default shape for the new boxes of type bsPolygon. You can define whatever custom polygonal form you need and use it. The psaPoints parameter - array of bytes the (x, y) coordinates are passed as percents of the rectangle bounding the form.

You can define as complex shapes as you need.

Example

To pass a rectangle use the following array: {0, 0, 100, 0, 100, 100, 0, 100}. To pass a rhombus use: {50, 0, 100, 50, 50, 100, 0, 50}. If the user places this rhombus on position with bounding rectangle (100, 100) - (300, 200) then the rhombus points calculated from the percent array will be (200, 100) - (300, 150) - (200, 200) - (100, 150).

The following C# code illustrates the use of this method:

C# [image] Copy Code

System.Array points = new byte[] { 0, 0, 10, 10, 90, 10, 100, 0, 100, 100, 50, 100 };

axFlowChart1.BoxStyle = FLOWCHARTLib.EBoxStyle.bsPolygon;
axFlowChart1.SetPolyShapeArray(ref points);

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SetShadowOffset Method

FlowChart.SetShadowOffset Method
[image]

Sets the offset of shadows from the objects that cast them.

Syntax

VB6 [image] Copy Code

Public Sub SetShadowOffset( _
ByVal x As Long, _
ByVal y As Long _
)

C++ [image] Copy Code

public:
void SetShadowOffset (
int x,
int y
)

Parameters

x
The x coordinate of the offset.
y
The y coordinate of the offset.

Remarks

Specifies at what distance shadows are painted relatively to the objects that cast them.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShowScrollers Method

FlowChart.ShowScrollers Method
[image]

Shows the scrollbars.

Syntax

VB6 [image] Copy Code

Public Sub ShowScrollers ()

C++ [image] Copy Code

public:
void ShowScrollers ()

Remarks

Makes built-in scrollbars visible if the control is created in its own window. If you use windowless instantiation and external scrollbars, then you can set their visibility by calling Windows API functions.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
HideScrollers Method
DisableNoScroll Property


FlowChartPro.FlowChart.TreeLayout Method

FlowChart.TreeLayout Method
[image]

Applies a tree layout to the diagram (obsolete).

Syntax

VB6 [image] Copy Code

Public Sub TreeLayout( _
ByVal rootObj As Object, _
ByVal tlt As ETreeLayoutType, _
ByVal tld As ETreeLayoutDirection, _
ByVal tla As ETreeLayoutArrows, _
ByVal minItemSpacing As Long, _
ByVal minLevelSpacing As Long, _
ByVal keepRootPosition As Boolean, _
ByVal reversedArrows As Boolean, _
ByVal xBorderGap As Long, _
ByVal yBorderGap As Long _
)

C++ [image] Copy Code

public:
void TreeLayout (
IDispatch* rootObj,
ETreeLayoutType tlt,
ETreeLayoutDirection tld,
ETreeLayoutArrows tla,
int minItemSpacing,
int minLevelSpacing,
bool keepRootPosition,
bool reversedArrows,
int xBorderGap,
int yBorderGap
)

Parameters

rootObj
The root object of the tree.
tlt

A member of the ETreeLayoutType enumeration specifying how items are aligned.

tld

A member of the ETreeLayoutDirection enumeration specifying the direction in which items are laid-out.

tla

A member of the ETreeLayoutArrows enumeration specifying the style of arrows to use.

minItemSpacing
The minimal space to be left between two items.
minLevelSpacing
The minimal space to be left between two levels of items.
keepRootPosition
Specifies whether to keep the root object's position.
reversedArrows
Specifies the parent to child link direction.
xBorderGap
The horizontal empty space left as border after the layout.
yBorderGap
The vertical empty space left as border after the layout.

Remarks

This method arranges in hierarchical manner a tree-like structure of nodes. You can call it on whole trees or sub-trees by specifying the object from which to start as first argument of the method. If you pass null (Nothing in Visual Basic) as first argument, and all diagram objects are in a single tree, the control will automatically find the root and start from it. The second argument specifies if items are arranged spreading away from a central axis, or if one of the sides of the tree is kept aligned to the axis. The tld argument specifies in which direction the tree 'grows'. arrowsStyle defines how connections between node will look after the rearrangement. The minX parameters define the minimal space to be left between adjacent items on a single level, and between adjacent levels.

Note

If you call this method to arrange an arbitrary graph of objects, some of the links in the graph will be ignored; only links that participate in single-directional hierarchical relationships are considered in the layout process.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Undo Method

FlowChart.Undo Method
[image]

( [image] a feature of FlowChartX Pro edition)

Undoes an operation recorded in the undo/redo queue.

Syntax

VB6 [image] Copy Code

Public Sub Undo ()

C++ [image] Copy Code

public:
void Undo ()

Remarks

Undoes the last recorded modification of flowchart document. If the history-queue is empty, nothing happens and no error is returned. You can find out if there's recorded action in the queue that can be undone, using UndoPossible method. After an operation is undone, it can be re-done again using the Redo method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActionUndone Event


FlowChartPro.FlowChart.UndoPossible Method

FlowChart.UndoPossible Method
[image]

( [image] a feature of FlowChartX Pro edition)

Determines whether there is an operation in the undo/redo queue that can be undone.

Syntax

VB6 [image] Copy Code

Public Function UndoPossible () As Boolean

C++ [image] Copy Code

public:
bool UndoPossible ()

Return Value

true if there is an operation recorded in the history-queue that can be undone; false if Undo cannot be performed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.UnloadAllShapeLibs Method

FlowChart.UnloadAllShapeLibs Method
[image]

( [image] a feature of FlowChartX Pro edition)

Unloads all shape libraries.

Syntax

VB6 [image] Copy Code

Public Sub UnloadAllShapeLibs ()

C++ [image] Copy Code

public:
void UnloadAllShapeLibs ()

Remarks

Unloads the currently registered custom shape libraries.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.UnloadShapeLib Method

FlowChart.UnloadShapeLib Method
[image]

( [image] a feature of FlowChartX Pro edition)

Unloads a specific shape library.

Syntax

VB6 [image] Copy Code

Public Sub UnloadShapeLib( _
ByVal libGUID As String _
)

C++ [image] Copy Code

public:
void UnloadShapeLib (
BSTR libGUID
)

Parameters

libGUID
The unique identifier of a loaded shape library.

Remarks

Unloads a shape library identified by the libGUID parameter. libGUID is returned by the LoadShapeLib method after successfully loading a library.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ZoomIn Method

FlowChart.ZoomIn Method
[image]

Increases the diagram scale factor.

Syntax

VB6 [image] Copy Code

Public Sub ZoomIn ()

C++ [image] Copy Code

public:
void ZoomIn ()

Remarks

Increases ZoomFactor with 10 percent.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ZoomOut Method

FlowChart.ZoomOut Method
[image]

Decreases the diagram scale factor.

Syntax

VB6 [image] Copy Code

Public Sub ZoomOut ()

C++ [image] Copy Code

public:
void ZoomOut ()

Remarks

Decreases ZoomFactor with 10 percent.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ZoomToFit Method

FlowChart.ZoomToFit Method
[image]

Sets the ZoomFactor so that the whole diagram is visible.

Syntax

VB6 [image] Copy Code

Public Sub ZoomToFit ()

C++ [image] Copy Code

public:
void ZoomToFit ()

Remarks

Zooms the view to fit the document contents in the FlowChartX window. All diagram objects are visible after this operation.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ZoomToRect Method

FlowChart.ZoomToRect Method
[image]

Zooms and scrolls the diagram so that the specified rectangular area is visible.

Syntax

VB6 [image] Copy Code

Public Sub ZoomToRect( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void ZoomToRect (
int left,
int top,
int right,
int bottom
)

Parameters

left
The left side of a document's rectangle.
top
The top side of a document's rectangle.
right
The right side of a document's rectangle.
bottom
The bottom side of a document's rectangle.

Remarks

Zooms the view to fit the specified document rectangle in the FlowChartX window. Diagram objects contained within that rectangle are zoomed to fill as much of the view as possible.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart Properties

FlowChart Properties
[image]

Public Properties

Name | Description
ActiveArrow | Gets the active Arrow object.
ActiveBox | Gets the active Box object.
ActiveItemType | Gets the type of the active object.
ActiveMnpColor | Gets or sets the color of the of the active object's selection handles.
ActiveTable | Gets the active Table object.
AlignmentGuideColor | Gets or sets the color of the pen used to draw alignment guides.
AlignmentGuideStyle | Gets or sets the dash pattern of the pen used to draw alignment guides.
AlignToGrid | Gets or sets a value indicating whether the objects in the diagram are aligned to a grid.
AllowLinksRepeat | Gets or sets a value indicating whether the same origin and destination diagram nodes can be linked with more than one arrow.
AllowMultipleResize | Gets or sets whether multiple selected nodes can be resized simultaneously.
AllowMultiSel | Gets or sets a value indicating whether multiple selection is enabled.
AllowRefLinks | Gets or sets a value indicating whether reflexive links are enabled.
AllowUnanchoredArrows | Gets or sets a value indicating whether arrows can be connected to nodes to which there aren't assigned any anchor points.
AllowUnconnectedArrows | Gets or sets a value indicating whether users are allowed to draw unconnected arrows.
AnchorPatterns | Gets the list of available AnchorPattern objects.
ArrowBase | Gets or sets the default shape displayed at the base of new arrows.
ArrowBaseSize | Gets or sets the default size of the base shape of new arrows.
ArrowColor | Gets or sets the default color of new arrows.
ArrowCrossings | Gets or sets how to render the intersection points where arrows cross their paths.
ArrowEndsMovable | Gets or sets a value indicating whether arrow ends can be moved by users after the arrow is created.
ArrowFillColor | Gets or sets the default fill color of new arrows.
ArrowFillColorAlpha | Gets or sets the alpha channel value of the default arrow fill color.
ArrowHead | Gets or sets the default arrowhead shape of new arrows.
ArrowHeadSize | Gets or sets the default size of new arrows' arrowhead shapes.
Arrows | Gets a collection of all arrows in the diagram.
ArrowSegments | Gets or sets the default number of arrow segments.
ArrowSelStyle | Gets or sets the initial value for the SelStyle property of new arrows.
ArrowsSnapToNodeBorders | Gets or sets the initial value for arrows' SnapToNodeBorder property.
ArrowsSplittable | Gets or sets a value indicating whether arrow segments can be added interactively.
ArrowStyle | Gets or sets the default Style of new arrows.
ArrowText | Gets or sets the default text of new arrows.
ArrowTextStyle | Gets or sets the initial text placement and orientation of arrows' text.
AutoHighlightRows | Specifies whether a table row should be highlighted when the user clicks on it.
AutoScroll | Gets or sets a value indicating whether auto scrolling of the document area is enabled.
AutoScrollType | Specifies auto scroll type.
AutoSizeDirections | Specifies the directions in which auto sizing is allowed.
AutoSizeDoc | Gets or sets a value indicating whether to resize the document area automatically so that it fits the diagram contents.
AxControlId | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default type of ActiveX controls to be hosted in new boxes.
AxLicenseKeys | ( [image] a feature of FlowChartX Pro edition) Specifies the runtime license keys to use with licensed ActiveX controls.
BackColor | Gets or sets the color used to fill the background of the component.
Behavior | Gets or sets a value indicating how the control responds to user actions.
BoxCustomDraw | Gets or sets the default type of custom painting done on boxes.
Boxes | Gets a collection of all boxes in the diagram.
BoxesExpandable | Gets or sets value indicating whether newly created boxes can be expanded.
BoxFillColor | Gets or sets the default color for filling the interior of new boxes.
BoxFillColor2 | Gets or sets the default second color for filling the interior of new boxes with a gradient.
BoxFillColorAlpha | Gets or sets the alpha channel value for the default fill color of new boxes.
BoxFillStyle | Gets or sets a value indicating whether box interior should be filled with a color gradient by default.
BoxFrameColor | Gets or sets the default color for drawing frames of newly created boxes.
BoxIncmAnchor | Gets or sets the anchor points to which incoming arrows are docked.
BoxOutgAnchor | Gets or sets the anchor points from which outgoing arrows start.
BoxPicture | Gets or sets the image that is assigned to the Picture property of new boxes.
BoxPicturePos | Gets or sets the default alignment of the pictures that are displayed inside boxes.
BoxSelStyle | Gets or sets the initial value of the SelStyle property of new boxes.
BoxStyle | Gets or sets the default style of new boxes.
BoxText | Gets or sets the initial text of new boxes.
BoxWindowFrame | Gets or sets the default window frame style of new boxes that host ActiveX controls.
ButtonImages | Gets or sets the images used to display intrinsic button controls.
ClipboardFlags | ( [image] a feature of FlowChartX Pro edition) An indexed property allowing customization of clipboard operations.
ControlPadding | Gets or sets how much space to leave between the borders of a box and the control hosted in the box.
CrossRadius | Gets or sets the radius length of decorations displayed at arrow intersection points.
CycleCount | Gets the number of cycles found by the last DetectCycle invocation.
Decorations | Gets a collection of all decorations in the diagram.
DefaultShape | Gets or sets the default shape of new boxes of the bsShape Style.
DemoVersion | Gets a value indicating whether the currently loaded FlowChartX instance is a trial version.
Dirty | Gets or sets a value indicating whether the diagram has changed after it was last saved.
DisabledMnpColor | Gets or sets the color used to paint disabled selection handles.
DisableNoScroll | Gets or sets a value indicating whether if scroll bars are unnecessary, they will be disabled of hidden.
DocBottom | Gets the bottom side of the document bounding rectangle.
DocLeft | Gets the left side of the document bounding rectangle.
DocRight | Gets the right side of the document bounding rectangle.
DocTop | Gets the top side of the document bounding rectangle.
DragDropMode | Gets or sets a value indicating how FlowChartX responds to OLE drag-and-drop operations.
DrawAxBoxShapes | Gets or sets a value indicating whether to render shapes behind ActiveX boxes.
DynamicArrows | Gets or sets the default value for the Dynamic property of new arrows.
EnableStyledText | Gets or sets the default value for the EnableStyledText property of new boxes.
EventFlags | An indexed property providing a way to customize how some events are raised.
ExpandBtnPos | Gets or sets a value indicating where the expand/collapse buttons are placed relatively to their boxes.
ExpandOnIncoming | Gets or sets a value indicating the direction of expand/collapse operations.
ExtrnDragDrop | Gets or sets a value indicating whether initiating drag-and-drop operations from the current FlowChartX instance is enabled.
FeedbackColor | Gets or sets the color of the drag-and-drop feedback frame.
FeedbackOnDragOver | Gets or sets a value indicating whether a feedback frame should be painted around boxes while drag-and-drop operation is in progress.
FeedbackPenStyle | Gets or sets the style of the pen used to draw the drag-and-drop feedback frame.
FeedbackPenWidth | Gets or sets the width of the pen used to draw the drag-and-drop feedback frame.
FireMouseMove | Gets or sets a value indicating whether the MouseMove event should be raised.
Font | Gets or sets the default font.
Graphics | Gets the graphics engine used to render diagram elements.
GridColor | Gets or sets the color used to draw the alignment grid's points.
GridSize | Gets or sets the distance between adjacent points in the alignment grid.
GridStyle | Gets or sets the style of the alignment grid.
Groups | Gets a collection of all groups in the diagram.
HighSpeedRouting | ( [image] a feature of FlowChartX Pro edition) Obsolete.
HitTestPriority | Gets or sets a value indicating in what order the diagram items are hit-tested.
HostedAxActivation | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating how hosted ActiveX controls get activated.
Hwnd |
IconTextHeight | Gets or sets the height of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.
IconTextWidth | Gets or sets the width of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.
ImageExportOptions | Gets an object which allows customizing some parameters of the image export routines.
InplaceEditAcceptOnEnter | Gets or sets a value indicating whether pressing the ENTER key should exit inplace-edit mode and accept changes made to text.
InplaceEditAllowed | Gets or sets a value indicating whether users can start editing box' text by double clicking the box.
InplaceEditCancelOnEsc | Gets or sets a value indicating whether pressing the ESC key should exit inplace-edit mode and cancel any changes made to text.
IntermArrowHead | Gets or sets the default IntermArrowHead shape of new arrows.
IntermHeadSize | Gets or sets the default size of IntermHeadSize shapes of new arrows.
KbdActive | Gets or sets a value indicating whether users are allowed to modify the diagram using keyboard.
KbdBehavior | Gets or sets a value indicating how the arrow keys are handled by FlowChartX.
KeyboardFlags | Allows customizing where keyboard related notifications are handled.
LayoutGap | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value of the LayoutGap property of new container boxes.
LayoutStyle | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value of the LayoutStyle property of new container boxes.
Measures | Allows setting some hit-testing measure values.
MeasureUnit | Gets or sets the unit used to measure the coordinates and sizes of diagram elements.
MergeThreshold | Gets or sets the maximum distance between adjacent control points of an arrow at which their related segments can be merged.
MiddleButtonAction | Gets or sets what action should be performed when dragging the mouse while holding its middle button.
MinimizeRouteSegments | ( [image] a feature of FlowChartX Pro edition) Obsolete.
ModificationStart | Gets or sets how users can start modifying diagram items.
MultiSelStyle | Gets or sets a value indicating how multiple selection of items is drawn on the screen.
NowLoading | Gets a value indicating whether the control is in the process of loading a diagram.
PathCount | Gets the number of paths found by the last path-finding method invocation.
PathFindingOptions | Gets an object which allows customizing how the path-finding algorithm works.
PenStyle | Gets or sets the default pen style of new diagram elements.
PenWidth | Gets or sets the default pen width of new diagram elements.
Picture | Gets or sets the background image.
PicturePos | Gets or sets the alignment style of the background image.
PrintOptions | Gets an object which allows customization of various print and print preview aspects.
PrpArrowStartOrnt | Gets or sets the orientation of the first segment of cascading arrows.
RecursiveExpand | Gets or sets a value indicating whether tree branches should be expanded recursively when the "+" button is pressed.
RenderFlags | Allows changing some aspects of how diagram objects are drawn on the screen.
RerouteArrows | ( [image] a feature of FlowChartX Pro edition) Obsolete.
RestrObjsToDoc | Gets or sets a value indicating whether items can be placed outside the diagram scrollable area.
RoundedArrows | Gets or sets a value indicating whether the joins between segments of Polyline and Cascading arrows should be rounded.
RoundedArrowsRadius | Gets or sets the radius of arc joins of rounded arrows' segments.
RouteArrows | ( [image] a feature of FlowChartX Pro edition) Gets or sets the default value for the AutoRoute property of new arrows.
RoutingGridSize |
RoutingOptions | Gets an object which allows customizing various parameters of the link routing algorithm.
RowHighlightColor | Gets or sets the color used to fill highlighted table rows.
ScriptHelper | Gets an object which provides various utility methods that can be used in a web page script.
ScrollRate | Gets or sets the rate of scrolling, used when a scrollbar button is clicked.
ScrollX | Gets or sets the current horizontal scroll position.
ScrollY | Gets or sets the current vertical scroll position.
ScrollZoneSize | Gets or sets the size of the auto scroll zone near the edges of the control.
SelectAfterCreate | Gets or sets a value indicating whether newly created items should be selected automatically.
SelectAfterPaste | ( [image] a feature of FlowChartX Pro edition) Gets or sets a value indicating whether items pasted from the clipboard should be selected automatically.
SelectedArrows | Gets a collection of the currently selected arrows.
SelectedBoxes | Gets a collection of the currently selected boxes.
SelectedDecorations | Gets a collection of the currently selected decorations.
SelectedTables | Gets a collection of the currently selected tables.
SelectionOnTop | Gets or sets a value indicating whether selected items should be painted on top of other items.
SelectionOptions | Settings for multiple selection.
SelHandleSize | Gets or sets the size of selection handles.
SelMnpColor | Gets or sets the color of selection handles.
ShadowColor | Gets or sets the color used to paint shadows.
ShadowColorAlpha | Gets or sets the alpha channel value of the default shadow color.
ShadowOffsetX | Gets or sets the default horizontal offset of shadows from the objects that cast them.
ShadowOffsetY | Gets or sets the default vertical offset of shadows from the objects that cast them.
ShadowsStyle | Gets or sets the appearance style of shadows.
ShapeLibCount | Gets the number of registered shape libraries.
ShapeOrientation | Gets or sets the default rotation angle to be applies to a box shape definition.
Shapes | Gets the list of available shape templates.
ShowAnchors | Gets or sets a value indicating when anchor points should be displayed.
ShowDisabledHandles | Gets or sets a value indicating whether disabled selection handles should be visible.
ShowFocusFrame | Gets or sets a value indicating whether to draw a focus frame near the control's edges.
ShowGrid | Gets or sets a value indicating whether the alignment grid should be visible.
ShowShadows | Gets or sets a value indicating whether shadows should be visible.
ShowToolTips | Gets or sets a value indicating whether to display tooltips.
SnapDistance | Gets or sets the maximum distance between control points at which they can be automatically aligned.
SnapStyle | Gets or sets the automatic object alignment style.
SnapToAnchor | Gets or sets in which situations arrows should snap to the nearest anchor points.
StaticMode | Gets or sets a value indicating whether user interaction with the control is enabled.
TableCaption | Gets or sets the default caption text of new tables.
TableCaptionHeight | Gets or sets the default caption area height of new tables.
TableCellBorders | Gets or sets the style of cell frame lines.
TableColumnsCount | Gets or sets the default number of table columns.
TableColWidth | Gets or sets the default table column width.
TableFillColor | Gets or sets the default fill color of new tables.
TableFillColorAlpha | Gets or sets the alpha channel value of tables' default fill color.
TableFrameColor | Gets or sets the default frame color of new tables.
TableLinkStyle | Gets or sets the default relation style of new tables.
TableRowHeight | Gets or sets the default height of table rows.
TableRowsCount | Gets or sets the default number of table rows.
Tables | Gets a collection of all tables in the flowchart.
TableSelStyle | Gets or sets the value of the SelStyle property of new tables.
TablesScrollable | Gets or sets a value indicating whether new tables should be scrollable by default.
TableStyle | Gets or sets the new style of new tables.
TextColor | Gets or sets the default text color.
TextStyle | Gets or sets the default text style.
ToolTipAutoPop | Gets or sets the length of time in milliseconds the ToolTip window remains visible if the pointer is not moved.
ToolTipDelay | Gets or sets the time that passes before a tool-tip appears when the mouse hovers over an item.
ToolTipStyle | Gets or sets the style of tooltips.
UndoDepth | ( [image] a feature of FlowChartX Pro edition) Gets or sets the size of the undo/redo queue.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this flowchart.
ZoomFactor | Gets or sets the diagram scale factor.

See Also

FlowChart Class


FlowChartPro.FlowChart.ActiveArrow Property

FlowChart.ActiveArrow Property
[image]

Gets the active Arrow object.

Syntax

VB6 [image] Copy Code

Public Property Get ActiveArrow() As Arrow

C++ [image] Copy Code

public:
Arrow* get_ActiveArrow ()

Property Value

A reference to an Arrow object.

Remarks

If the active object is not an arrow or if there is no selection, a null reference (Nothing in Visual Basic) is returned. If multiple selection is disabled, the active object is the only one selected. If multiple selection is enabled, the active object is one of the objects in the selection marked with a different color. A possible usage of this object is to align all selected items to it.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActiveItemType Property
SelectionOnTop Property


FlowChartPro.FlowChart.ActiveBox Property

FlowChart.ActiveBox Property
[image]

Gets the active Box object.

Syntax

VB6 [image] Copy Code

Public Property Get ActiveBox() As Box

C++ [image] Copy Code

public:
Box* get_ActiveBox ()

Property Value

A reference to a Box object.

Remarks

If the active object is not a box or if there is no selection, a null reference (Nothing in Visual Basic) is returned. If multiple selection is disabled, the active object is the only one selected. If multiple selection is enabled, the active object is one of the objects in the selection marked with a different color. A possible usage of this object is to align all selected items to it.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActiveItemType Property
SelectionOnTop Property


FlowChartPro.FlowChart.ActiveItemType Property

FlowChart.ActiveItemType Property
[image]

Gets the type of the active object.

Syntax

VB6 [image] Copy Code

Public Property Get ActiveItemType() As EActiveItem

C++ [image] Copy Code

public:
EActiveItem get_ActiveItemType ()

Property Value

A member of the EActiveItem enumeration.

Remarks

The following property values are possible:

  • aiNone - no object is selected;
  • aiBox - the active object is a box and the ActiveBox property holds reference to it;
  • aiArrow - the active object is an arrow and the ActiveArrow property holds reference to it;
  • aiTable - the active object is a table and the ActiveTable property holds reference to it;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ActiveMnpColor Property

FlowChart.ActiveMnpColor Property
[image]

Gets or sets the color of the of the active object's selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get ActiveMnpColor() As Long
Public Property Let ActiveMnpColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ActiveMnpColor ()
void put_ActiveMnpColor (
unsigned int value
)

Property Value

A color value. The default is RGB:255,255,255 (white).

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ActiveTable Property

FlowChart.ActiveTable Property
[image]

Gets the active Table object.

Syntax

VB6 [image] Copy Code

Public Property Get ActiveTable() As Table

C++ [image] Copy Code

public:
Table* get_ActiveTable ()

Property Value

A reference to a Table object.

Remarks

If the active object is not a table or if there is no selection, a null reference (Nothing in Visual Basic) is returned. If multiple selection is disabled, the active object is the only one selected. If multiple selection is enabled, the active object is one of the objects in the selection marked with a different color. A possible usage of this object is to align all selected items to it.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActiveItemType Property
SelectionOnTop Property


FlowChartPro.FlowChart.AlignmentGuideColor Property

FlowChart.AlignmentGuideColor Property
[image]

Gets or sets the color of the pen used to draw alignment guides.

Syntax

VB6 [image] Copy Code

Public Property Get AlignmentGuideColor() As Long
Public Property Let AlignmentGuideColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_AlignmentGuideColor ()
void put_AlignmentGuideColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default color is blue.

Remarks

This pen is used to draw alignment guides shown when SnapStyle is set to snpAlignmentGuides.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AlignmentGuideStyle Property
SnapDistance Property


FlowChartPro.FlowChart.AlignmentGuideStyle Property

FlowChart.AlignmentGuideStyle Property
[image]

Gets or sets the dash pattern of the pen used to draw alignment guides.

Syntax

VB6 [image] Copy Code

Public Property Get AlignmentGuideStyle() As EPenStyle
Public Property Let AlignmentGuideStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_AlignmentGuideStyle ()
void put_AlignmentGuideStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. The default value is psDash.

Remarks

This pen is used to draw alignment guides shown when SnapStyle is set to snpAlignmentGuides is enabled.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AlignmentGuideColor Property
SnapDistance Property


FlowChartPro.FlowChart.AlignToGrid Property

FlowChart.AlignToGrid Property
[image]

Gets or sets a value indicating whether the objects in the diagram are aligned to a grid.

Syntax

VB6 [image] Copy Code

Public Property Get AlignToGrid() As Boolean
Public Property Let AlignToGrid( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AlignToGrid ()
void put_AlignToGrid (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Set this property to true to enable alignment to grid. If the grid is enabled and a user creates or modifies an item, the item's coordinates are aligned with the nearest grid point. Items that are created or modified programmatically are not automatically aligned.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ShowGrid Property
SnapStyle Property


FlowChartPro.FlowChart.AllowLinksRepeat Property

FlowChart.AllowLinksRepeat Property
[image]

Gets or sets a value indicating whether the same origin and destination diagram nodes can be linked with more than one arrow.

Syntax

VB6 [image] Copy Code

Public Property Get AllowLinksRepeat() As Boolean
Public Property Let AllowLinksRepeat( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowLinksRepeat ()
void put_AllowLinksRepeat (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies if more than one arrow can link the same origin and destination diagram nodes. If set to false, two diagram nodes can be linked with at most one arrow in a single direction. This restriction applies only to interactive creations or modification of links. Programmatically, it is always possible to create more than one link between the same nodes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AllowMultipleResize Property

FlowChart.AllowMultipleResize Property
[image]

Gets or sets whether multiple selected nodes can be resized simultaneously.

Syntax

VB6 [image] Copy Code

Public Property Get AllowMultipleResize() As Boolean
Public Property Let AllowMultipleResize( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowMultipleResize ()
void put_AllowMultipleResize (
bool value
)

Property Value

true to let the user resize multiple selected nodes; otherwise, false. The default value is false.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AllowMultiSel Property

FlowChart.AllowMultiSel Property
[image]

Gets or sets a value indicating whether multiple selection is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get AllowMultiSel() As Boolean
Public Property Let AllowMultiSel( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowMultiSel ()
void put_AllowMultiSel (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies if more than one object can be selected at once by a user. Set the property to false to disable multiple-selection. It is always possible to selected multiple items using the AddToSelection method.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SelectionOptions Property
AllowMultipleResize Property


FlowChartPro.FlowChart.AllowRefLinks Property

FlowChart.AllowRefLinks Property
[image]

Gets or sets a value indicating whether reflexive links are enabled.

Syntax

VB6 [image] Copy Code

Public Property Get AllowRefLinks() As Boolean
Public Property Let AllowRefLinks( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowRefLinks ()
void put_AllowRefLinks (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

When set to true, users are allowed to create reflexive links, i.e. arrows whose origin and target are the same node. When such link is created, the control raises the SetSelfLoopShape event to let you assign a custom shape to the link, different than the default loop shape.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AllowUnanchoredArrows Property

FlowChart.AllowUnanchoredArrows Property
[image]

Gets or sets a value indicating whether arrows can be connected to nodes to which there aren't assigned any anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get AllowUnanchoredArrows() As Boolean
Public Property Let AllowUnanchoredArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowUnanchoredArrows ()
void put_AllowUnanchoredArrows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

AllowUnanchoredArrows applies to nodes whose AnchorPattern is not set or does not contain incoming or outgoing anchor points available. If the property is enabled, users can connect arrows to any point of such nodes. If disabled, users cannot link arrows to such nodes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AllowUnconnectedArrows Property

FlowChart.AllowUnconnectedArrows Property
[image]

Gets or sets a value indicating whether users are allowed to draw unconnected arrows.

Syntax

VB6 [image] Copy Code

Public Property Get AllowUnconnectedArrows() As Boolean
Public Property Let AllowUnconnectedArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowUnconnectedArrows ()
void put_AllowUnconnectedArrows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether users are allowed to draw arrows that are not connected to any node. If the property is set to true, users will be able to draw arrows from or to any point of the document. Depending on which end of an arrow is unconnected, its OriginType or DestinationType properties might return aiNone.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AnchorPatterns Property

FlowChart.AnchorPatterns Property
[image]

Gets the list of available AnchorPattern objects.

Syntax

VB6 [image] Copy Code

Public Property Get AnchorPatterns( _
ByVal name As String _
) As AnchorPattern

C++ [image] Copy Code

public:
AnchorPattern* get_AnchorPatterns (
BSTR name
)

Parameters

name
The id of a pattern.

Property Value

Remarks

The array contains the currently defined anchor patterns. It is indexed by pattern string identifiers. If a new AnchorPattern is created, it is added to the array once its PatternId is assigned. Initially the AnchorPatterns array contains the following predefined patterns:

Pattern ID | Description
Decision2In2Out | Incoming arrows connect to the top or left points. Outgoing arrows start from the bottom or right points.
Decision1In3Out | Incoming arrows connect to the top point. Outgoing arrows start from the other three points.
LeftInRightOut | Incoming arrows connect to the left. Outgoing arrows start from the right.
TopInBottomOut | Incoming arrows connect to the top. Outgoing arrows start from the bottom.

Example

VB6 [image] Copy Code

Private Sub fcx_BoxCreated(ByVal box As FLOWCHARTLibCtl.IBoxItem)

If box.Shape.ShapeId = "Decision" Then
box.AnchorPattern = fcx.AnchorPatterns("Decision2In2Out")
Else
box.AnchorPattern = fcx.AnchorPatterns("ap1")
End If

End Sub

Private Sub Form_Load()

Dim ap1 As New AnchorPattern

'three points on the left for incoming arrows
ap1.AddAnchorPoint 0, 20, True, False, msX, vbRed
ap1.AddAnchorPoint 0, 50, True, False, msX, vbRed
ap1.AddAnchorPoint 0, 80, True, False, msX, vbRed
'three points on the right for outgoing arrows
ap1.AddAnchorPoint 100, 20, False, True, msCircle, vbGreen
ap1.AddAnchorPoint 100, 50, False, True, msCircle, vbGreen
ap1.AddAnchorPoint 100, 80, False, True, msCircle, vbGreen

'this adds ap1 to the AnchorPatterns array
ap1.PatternId = "ap1"

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowBase Property

FlowChart.ArrowBase Property
[image]

Gets or sets the default shape displayed at the base of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowBase() As EArrowHead
Public Property Let ArrowBase( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_ArrowBase ()
void put_ArrowBase (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration. The default is ahNone.

Remarks

Default value for ArrowBase property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowBaseSize Property

FlowChart.ArrowBaseSize Property
[image]

Gets or sets the default size of the base shape of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowBaseSize() As Integer
Public Property Let ArrowBaseSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowBaseSize ()
void put_ArrowBaseSize (
short value
)

Property Value

A short value. The default is 15.

Remarks

Default value for ArrowBaseSize property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowColor Property

FlowChart.ArrowColor Property
[image]

Gets or sets the default color of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowColor() As Long
Public Property Let ArrowColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ArrowColor ()
void put_ArrowColor (
unsigned int value
)

Property Value

A color value. The default is RGB:0,0,0 (black).

Remarks

Default color for new arrows. The arrows' segment lines are painted using this color.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowCrossings Property

FlowChart.ArrowCrossings Property
[image]

Gets or sets how to render the intersection points where arrows cross their paths.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowCrossings() As EArrowCrossings
Public Property Let ArrowCrossings( _
ByVal Value As EArrowCrossings _
)

C++ [image] Copy Code

public:
EArrowCrossings get_ArrowCrossings ()
void put_ArrowCrossings (
EArrowCrossings value
)

Property Value

A member of the EArrowCrossings enumeration. The default is acStraight.

Remarks

Intersection points where arrows cross their paths can be rendered as arcs or breaks, depending on the value of this property. The z-order defines which arrows jump over the others or which arrows are cut by the others. If ArrowCrossings is set to acArcs, arrows with higher ZIndex jump over those with lower ZIndex. If set to acBreaking, segments of arrows at lower Z are cut by arrows at higher Z. Radius of arcs and breaks can be set via the CrossRadius property.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RoundedArrows Property


FlowChartPro.FlowChart.ArrowEndsMovable Property

FlowChart.ArrowEndsMovable Property
[image]

Gets or sets a value indicating whether arrow ends can be moved by users after the arrow is created.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowEndsMovable() As Boolean
Public Property Let ArrowEndsMovable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ArrowEndsMovable ()
void put_ArrowEndsMovable (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether arrows end points positions can be changed. If set to false, the intermediate control points still can be moved, but not the first and the last. The important effect of this is that users cannot change arrows origin and destination objects once they are set. You can also dynamically validate the moving of arrow ends through the RequestAttachArrow event.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowFillColor Property

FlowChart.ArrowFillColor Property
[image]

Gets or sets the default fill color of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowFillColor() As Long
Public Property Let ArrowFillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ArrowFillColor ()
void put_ArrowFillColor (
unsigned int value
)

Property Value

A color value. The default is RGB:255,255,255 (white).

Remarks

Default value for the FillColor property of newly created arrows. Arrowhead shapes are filled using this color.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowFillColorAlpha Property

FlowChart.ArrowFillColorAlpha Property
[image]

Gets or sets the alpha channel value of the default arrow fill color.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowFillColorAlpha() As Integer
Public Property Let ArrowFillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowFillColorAlpha ()
void put_ArrowFillColorAlpha (
short value
)

Property Value

A byte value. The default is 255.

Remarks

Default value for the FillColorAlpha property of newly created arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowHead Property

FlowChart.ArrowHead Property
[image]

Gets or sets the default arrowhead shape of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowHead() As EArrowHead
Public Property Let ArrowHead( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_ArrowHead ()
void put_ArrowHead (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration The default value is ahArrow.

Remarks

Default value for the ArrowHead property of newly created arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowHeadSize Property

FlowChart.ArrowHeadSize Property
[image]

Gets or sets the default size of new arrows' arrowhead shapes.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowHeadSize() As Integer
Public Property Let ArrowHeadSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowHeadSize ()
void put_ArrowHeadSize (
short value
)

Property Value

A short value. The default is 15.

Remarks

Default value for the ArrowHeadSize property of newly created arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Arrows Property

FlowChart.Arrows Property
[image]

Gets a collection of all arrows in the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Arrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_Arrows ()

Property Value

A collection of Arrow objects.

Remarks

A collection of all arrows in the current FlowChartX document. The collection can be enumerated, which allows each arrow' properties and methods to be accessed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowSegments Property

FlowChart.ArrowSegments Property
[image]

Gets or sets the default number of arrow segments.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowSegments() As Integer
Public Property Let ArrowSegments( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ArrowSegments ()
void put_ArrowSegments (
short value
)

Property Value

A short value. The default is 1.

Remarks

Default value for the Segments property of newly created arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowSelStyle Property

FlowChart.ArrowSelStyle Property
[image]

Gets or sets the initial value for the SelStyle property of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowSelStyle() As ESelStyle
Public Property Let ArrowSelStyle( _
ByVal Value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_ArrowSelStyle ()
void put_ArrowSelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration. The default value is sstSquareHandles.

Remarks

Default value for the SelStyle property of new arrows, created either programmatically or by a user. That property specifies how arrows' selection status is indicated visually.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowsSnapToNodeBorders Property

FlowChart.ArrowsSnapToNodeBorders Property
[image]

Gets or sets the initial value for arrows' SnapToNodeBorder property.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowsSnapToNodeBorders() As Boolean
Public Property Let ArrowsSnapToNodeBorders( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ArrowsSnapToNodeBorders ()
void put_ArrowsSnapToNodeBorders (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Provides the initial value for the SnapToNodeBorder property of arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowsSplittable Property

FlowChart.ArrowsSplittable Property
[image]

Gets or sets a value indicating whether arrow segments can be added interactively.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowsSplittable() As Boolean
Public Property Let ArrowsSplittable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ArrowsSplittable ()
void put_ArrowsSplittable (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Lets users insert new arrow segments interactively by clicking and dragging a point of an arrow's segment. For polyline-style arrow this creates one additional segment by splitting the existing one into two parts. For cascading arrows there are two segments inserted, keeping intact the alternating pattern of horizontal and vertical segments, each orthogonal to its neighbors. Bezier-style arrows cannot be split in the current FlowChartX version.

Segments can be merged by moving their joining point until the angle between reaches certain threshold value. In case of cascading-style arrows, segments can be merged by placing adjacent control points close one to the other, as set in MergeThreshold.

This property also affects how users can change the orientation of cascading arrows. For more details see PrpStartOrientation.

Note

An arrow has to be selected before its segments can be split or merged if ModificationStart is set to mdSelectedOnly.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowStyle Property

FlowChart.ArrowStyle Property
[image]

Gets or sets the default Style of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowStyle() As EArrowStyle
Public Property Let ArrowStyle( _
ByVal Value As EArrowStyle _
)

C++ [image] Copy Code

public:
EArrowStyle get_ArrowStyle ()
void put_ArrowStyle (
EArrowStyle value
)

Property Value

A member of the EArrowStyle enumeration. The default is asPolyline.

Remarks

Default Style for newly created arrows.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RoundedArrows Property


FlowChartPro.FlowChart.ArrowText Property

FlowChart.ArrowText Property
[image]

Gets or sets the default text of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowText() As String
Public Property Let ArrowText( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_ArrowText ()
void put_ArrowText (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Default value for the Text property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowTextStyle Property

FlowChart.ArrowTextStyle Property
[image]

Gets or sets the initial text placement and orientation of arrows' text.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowTextStyle() As EArrowTextStyle
Public Property Let ArrowTextStyle( _
ByVal Value As EArrowTextStyle _
)

C++ [image] Copy Code

public:
EArrowTextStyle get_ArrowTextStyle ()
void put_ArrowTextStyle (
EArrowTextStyle value
)

Property Value

A member of the EArrowTextStyle enumeration. The default is atsCenter.

Remarks

Specifies the initial value of the TextStyle property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AutoHighlightRows Property

FlowChart.AutoHighlightRows Property
[image]

Specifies whether a table row should be highlighted when the user clicks on it.

Syntax

C# [image] Copy Code

public virtual bool AutoHighlightRows { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property AutoHighlightRows As Boolean

Property Value

true to automatically highlight clicked row, or false otherwise. The default value is false.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
HighlightedRow Property
RowHighlightColor Property


FlowChartPro.FlowChart.AutoScroll Property

FlowChart.AutoScroll Property
[image]

Gets or sets a value indicating whether auto scrolling of the document area is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get AutoScroll() As Boolean
Public Property Let AutoScroll( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AutoScroll ()
void put_AutoScroll (
bool value
)

Property Value

A boolean value.

Remarks

When enabled, the FlowChartX visible area is automatically scrolled if the user drags an object beyond the control's borders, or moves the mouse pointer near the borders as specified in ScrollZoneSize.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AutoScrollType Property


FlowChartPro.FlowChart.AutoScrollType Property

FlowChart.AutoScrollType Property
[image]

Specifies auto scroll type.

Syntax

VB6 [image] Copy Code

Public Property Get AutoScrollType() As EScrollType
Public Property Let AutoScrollType( _
ByVal value As EScrollType _
)

C++ [image] Copy Code

public:
EScrollType get_AutoScrollType ()
void put_AutoScrollType (
EScrollType value
)

Property Value

A member of the EScrollType enumeration. The default value is stByFixedAmount.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AutoScroll Property
ScrollZoneSize Property


FlowChartPro.FlowChart.AutoSizeDirections Property

FlowChart.AutoSizeDirections Property
[image]

Specifies the directions in which auto sizing is allowed.

Syntax

VB6 [image] Copy Code

Public Property Get AutoSizeDirections() As EDirection
Public Property Let AutoSizeDirections( _
ByVal value As EDirection _
)

C++ [image] Copy Code

public:
EDirection get_AutoSizeDirections ()
void put_AutoSizeDirections (
EDirection value
)

Property Value

A combination of EDirection members. The default value enables dirBottom and dirRight bits.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AutoSizeDoc Property


FlowChartPro.FlowChart.AutoSizeDoc Property

FlowChart.AutoSizeDoc Property
[image]

Gets or sets a value indicating whether to resize the document area automatically so that it fits the diagram contents.

Syntax

VB6 [image] Copy Code

Public Property Get AutoSizeDoc() As Boolean
Public Property Let AutoSizeDoc( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AutoSizeDoc ()
void put_AutoSizeDoc (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

When enabled, the control's document area is automatically resized if diagram objects are dragged outside the current document bounds.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SetDocSize Method
AutoSizeDirections Property


FlowChartPro.FlowChart.AxControlId Property

FlowChart.AxControlId Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the default type of ActiveX controls to be hosted in new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get AxControlId() As String
Public Property Let AxControlId( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_AxControlId ()
void put_AxControlId (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Sets default value for the AxControlId property of new boxes. That property specifies a class identifier (CLSID) or program identifier (ProgID) of an ActiveX control to be hosted inside a diagram node. If a new box is created, either by the user or programmatically, and BoxStyle is set to bsAxControl, the specified ActiveX control is instantiated and automatically assigned to the box.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.AxLicenseKeys Property

FlowChart.AxLicenseKeys Property
[image]

( [image] a feature of FlowChartX Pro edition)

Specifies the runtime license keys to use with licensed ActiveX controls.

Syntax

VB6 [image] Copy Code

Public Property Get AxLicenseKeys( _
ByVal AxControlId As String _
) As String
Public Property Let AxLicenseKeys( _
ByVal AxControlId As String, _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_AxLicenseKeys (
BSTR AxControlId
)
void put_AxLicenseKeys (
BSTR AxControlId,
BSTR value
)

Parameters

AxControlId
The type of an ActiveX control.

Property Value

A string value representing the license key associated with an ActiveX control.

Remarks

To instantiate an ActiveX control that requires a license key, you must indicate to FlowChartX which key corresponds to the control's class or program identifier. This can be done via the AxLicenseKeys associative map. The AxControlId index must correspond to the CLSID or PROGID assigned to the AxControlId property. The value associated with that identifier is the runtime key string required by the control to run on unlicensed machines. Control creation will fail if the control requires a licensing and its runtime key is not specified.

If you need to know what is the runtime key of a control, inquire its developers or publishers about that. They will give you that information as long as you are their registered customer.

See IClassFactory2 description in the Platform SDK for more information on COM objects licensing.

Example

The example below associates a runtime key with a control identifier and creates an instance of the control class.

VB6 [image] Copy Code

Private Sub Form_Load()

fcx.AxLicenseKeys("Acme.Widget") = "Widget secret key"

End Sub

Private Sub cmdCreateControl_Click()

Dim ctrlHost As box

' create control hosted in a diagram node
ctrlHost = fcx.CreateBox(100, 100, 240, 160)
ctrlHost.AxControlId = "Acme.Widget"
ctrlHost.Style = bsAxControl

End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Hosting ActiveX Controls


FlowChartPro.FlowChart.BackColor Property

FlowChart.BackColor Property
[image]

Gets or sets the color used to fill the background of the component.

Syntax

VB6 [image] Copy Code

Public Property Get BackColor() As Long
Public Property Let BackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BackColor ()
void put_BackColor (
unsigned int value
)

Property Value

A color value. The default is RGB:255,255,255 (white).

Remarks

Gets or sets the color used to paint the FlowChartX background. If a background Picture is set, the area left uncovered by the image is still painted using BackColor.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Behavior Property

FlowChart.Behavior Property
[image]

Gets or sets a value indicating how the control responds to user actions.

Syntax

VB6 [image] Copy Code

Public Property Get Behavior() As EBehavior
Public Property Let Behavior( _
ByVal Value As EBehavior _
)

C++ [image] Copy Code

public:
EBehavior get_Behavior ()
void put_Behavior (
EBehavior value
)

Property Value

A member of the EBehavior enumeration. The default is bhFlowChart.

Remarks

Specifies how FlowChartX responds to mouse actions. The following values are currently supported:

  • bhModify - users can only select existing shapes and arrows, move and modify them. Clicking on empty document area and dragging selects multiple diagram items. The value of the constant is 0.
  • bhPanAndModify - users can only select existing shapes and arrows, move and modify them. Clicking on empty document area and dragging scrolls the document. The value of the constant is 6.
  • bhCreateBox - users can create only boxes (no arrows or tables). Clicking a diagram element selects it and it can be modified. CTRL + dragging selects multiple objects. The value of the constant is 1.
  • bhCreateArrow - dragging the mouse when a box is pointed creates an arrow object. If the mouse does not point to a box, selection is created. Clicking on any object selects it. The value of the constant is 2.
  • bhFlowChart - default mode for work with flowcharts. Dragging the mouse over empty document area creates a box, and over a box creates an arrow. Clicking on any object selects it. CTRL + dragging selects multiple objects. The value of the constant is 3.
  • bhTableRelations - suitable for creating database schemes and entity-relationship diagrams. Dragging the mouse over empty document area creates a table, and over table's row creates an arrow (represents relationship between table fields). Clicking on any object selects it. CTRL + dragging selects multiple objects. The value of the constant is 4.
  • bhCreateTable - users can create only tables (no arrows or boxes). Clicking a diagram item selects it and it can be modified. CTRL + dragging selects multiple objects. The value of the constant is 5.
  • bhDoNothing - the control ignores users actions with the mouse, but raises the appropriate mouse events. This mode allows applications to implement their own mouse-drawing behavior, disabling the FlowChartX default response to users actions.
  • bhDrawLines - the control creates DecorationLine objects when the user draws with the mouse.
  • bhSelectOnly - allow only selection of existing items. Modifying them or drawing new ones is disabled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxCustomDraw Property

FlowChart.BoxCustomDraw Property
[image]

Gets or sets the default type of custom painting done on boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxCustomDraw() As ECustomDraw
Public Property Let BoxCustomDraw( _
ByVal Value As ECustomDraw _
)

C++ [image] Copy Code

public:
ECustomDraw get_BoxCustomDraw ()
void put_BoxCustomDraw (
ECustomDraw value
)

Property Value

A member of the ECustomDraw enumeration. The default is cdNone.

Remarks

Default value for the CustomDraw property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Boxes Property

FlowChart.Boxes Property
[image]

Gets a collection of all boxes in the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Boxes() As IBoxes

C++ [image] Copy Code

public:
IBoxes* get_Boxes ()

Property Value

A collection of Box objects.

Remarks

A collection of all the boxes in current FlowChartX document. You can iterate over them using Count and Item properties or you can get standard enumerator object (IEnumVariant) using _NewEnum. Visual Basic gives access to this enumerator with the 'for each' statement.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxesExpandable Property

FlowChart.BoxesExpandable Property
[image]

Gets or sets value indicating whether newly created boxes can be expanded.

Syntax

VB6 [image] Copy Code

Public Property Get BoxesExpandable() As Boolean
Public Property Let BoxesExpandable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_BoxesExpandable ()
void put_BoxesExpandable (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Default value for the Expandable property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxFillColor Property

FlowChart.BoxFillColor Property
[image]

Gets or sets the default color for filling the interior of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxFillColor() As Long
Public Property Let BoxFillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BoxFillColor ()
void put_BoxFillColor (
unsigned int value
)

Property Value

A color value. The default is RGB:204,204,240 (light blue).

Remarks

Default value for the FillColor property of newly created boxes.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.FlowChart.BoxFillColor2 Property

FlowChart.BoxFillColor2 Property
[image]

Gets or sets the default second color for filling the interior of new boxes with a gradient.

Syntax

VB6 [image] Copy Code

Public Property Get BoxFillColor2() As Long
Public Property Let BoxFillColor2( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BoxFillColor2 ()
void put_BoxFillColor2 (
unsigned int value
)

Property Value

A color value. The default is RGB:220,220,255 (light blue).

Remarks

Specifies default value for the FillColor2 property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxFillColorAlpha Property

FlowChart.BoxFillColorAlpha Property
[image]

Gets or sets the alpha channel value for the default fill color of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxFillColorAlpha() As Integer
Public Property Let BoxFillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_BoxFillColorAlpha ()
void put_BoxFillColorAlpha (
short value
)

Property Value

A byte value. The default is 255 (opaque).

Remarks

Default value for the FillColorAlpha property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxFillStyle Property

FlowChart.BoxFillStyle Property
[image]

Gets or sets a value indicating whether box interior should be filled with a color gradient by default.

Syntax

VB6 [image] Copy Code

Public Property Get BoxFillStyle() As EFillStyle
Public Property Let BoxFillStyle( _
ByVal Value As EFillStyle _
)

C++ [image] Copy Code

public:
EFillStyle get_BoxFillStyle ()
void put_BoxFillStyle (
EFillStyle value
)

Property Value

A member of the EFillStyle enumeration. The default is fsSolid.

Remarks

Specifies default value for the FillStyle property of new boxes, defining how interior of boxes is painted.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxFrameColor Property

FlowChart.BoxFrameColor Property
[image]

Gets or sets the default color for drawing frames of newly created boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxFrameColor() As Long
Public Property Let BoxFrameColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BoxFrameColor ()
void put_BoxFrameColor (
unsigned int value
)

Property Value

A color value. The default is RGB:0,0,0 (black).

Remarks

Default value for the FrameColor property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxIncmAnchor Property

FlowChart.BoxIncmAnchor Property
[image]

Gets or sets the anchor points to which incoming arrows are docked.

Syntax

VB6 [image] Copy Code

Public Property Get BoxIncmAnchor() As EArrowAnchor
Public Property Let BoxIncmAnchor( _
ByVal Value As EArrowAnchor _
)

C++ [image] Copy Code

public:
EArrowAnchor get_BoxIncmAnchor ()
void put_BoxIncmAnchor (
EArrowAnchor value
)

Property Value

A member of the EArrowAnchor enumeration. The default is aaNoAnchor.

Remarks

Default value for the IncmAnchor property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxOutgAnchor Property

FlowChart.BoxOutgAnchor Property
[image]

Gets or sets the anchor points from which outgoing arrows start.

Syntax

VB6 [image] Copy Code

Public Property Get BoxOutgAnchor() As EArrowAnchor
Public Property Let BoxOutgAnchor( _
ByVal Value As EArrowAnchor _
)

C++ [image] Copy Code

public:
EArrowAnchor get_BoxOutgAnchor ()
void put_BoxOutgAnchor (
EArrowAnchor value
)

Property Value

A member of the EArrowAnchor enumeration. The default is aaNoAnchor.

Remarks

Default value for the OutgAnchor property of newly created boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxPicture Property

FlowChart.BoxPicture Property
[image]

Gets or sets the image that is assigned to the Picture property of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxPicture() As IPictureDisp
Public Property Let BoxPicture( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_BoxPicture ()
void put_BoxPicture (
IPictureDisp* value
)

Property Value

A picture object. The default is null (Nothing in Visual Basic).

Remarks

Setting this property does not affect existing boxes. Its value is assigned to the Picture property of a box when the box is created either interactively or programmatically.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxPicturePos Property
BoxText Property


FlowChartPro.FlowChart.BoxPicturePos Property

FlowChart.BoxPicturePos Property
[image]

Gets or sets the default alignment of the pictures that are displayed inside boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxPicturePos() As EPicturePos
Public Property Let BoxPicturePos( _
ByVal Value As EPicturePos _
)

C++ [image] Copy Code

public:
EPicturePos get_BoxPicturePos ()
void put_BoxPicturePos (
EPicturePos value
)

Property Value

A member of the EPicturePos enumeration. The default is picStretch.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxPicture Property


FlowChartPro.FlowChart.BoxSelStyle Property

FlowChart.BoxSelStyle Property
[image]

Gets or sets the initial value of the SelStyle property of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxSelStyle() As ESelStyle
Public Property Let BoxSelStyle( _
ByVal Value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_BoxSelStyle ()
void put_BoxSelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration. The default is sstSquareHandles.

Remarks

Default value for the SelStyle property of new boxes created either programmatically or by the user. That property specifies how selected boxes are indicated visually, and how they can be moved, resized or linked to other objects.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxStyle Property

FlowChart.BoxStyle Property
[image]

Gets or sets the default style of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxStyle() As EBoxStyle
Public Property Let BoxStyle( _
ByVal Value As EBoxStyle _
)

C++ [image] Copy Code

public:
EBoxStyle get_BoxStyle ()
void put_BoxStyle (
EBoxStyle value
)

Property Value

A member of the EBoxStyle enumeration. The default is bsRect.

Remarks

Default value for the Style property of new boxes created either programmatically or by a user.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxText Property

FlowChart.BoxText Property
[image]

Gets or sets the initial text of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get BoxText() As String
Public Property Let BoxText( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_BoxText ()
void put_BoxText (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Default value for the Text property of new boxes.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Picture Property


FlowChartPro.FlowChart.BoxWindowFrame Property

FlowChart.BoxWindowFrame Property
[image]

Gets or sets the default window frame style of new boxes that host ActiveX controls.

Syntax

VB6 [image] Copy Code

Public Property Get BoxWindowFrame() As ECellBorders
Public Property Let BoxWindowFrame( _
ByVal Value As ECellBorders _
)

C++ [image] Copy Code

public:
ECellBorders get_BoxWindowFrame ()
void put_BoxWindowFrame (
ECellBorders value
)

Property Value

A member of the ECellBorders enumeration. The default is cbSystem3D.

Remarks

Default value for the WindowFrame property of newly created boxes whose Style is set to bsAxControl.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxStyle Property
ControlPadding Property


FlowChartPro.FlowChart.ButtonImages Property

FlowChart.ButtonImages Property
[image]

Gets or sets the images used to display intrinsic button controls.

Syntax

VB6 [image] Copy Code

Public Property Get ButtonImages() As ButtonImages

C++ [image] Copy Code

public:
ButtonImages* get_ButtonImages ()

Property Value

A ButtonImages object.

Remarks

At this time the following members of the ButtonImages object can be set, each of them is of type Picture:

Member | Description
Expand | The button displayed beside Expandable boxes when the tree branch starting from a box can be expanded. A small "+" icon is used by default.
Collapse | The button displayed beside Expandable boxes when the tree branch starting from a box can be collapsed. A small "-" icon is used by default.
Scroll | The scroll button displayed in the caption area of Scrollable tables.

If any of these values is set to null (Nothing in Visual Basic), the FlowChartX default image is used for the respective button. When setting custom images for the expand/collapse buttons, make sure they are of the same size.

Example

The following VB code sets custom images for the expand/collapse box buttons.

VB6 [image] Copy Code

fcx.ButtonImages.Expand = LoadPicture("D:\Images\exp.jpg")
fcx.ButtonImages.Collapse = LoadPicture("D:\Images\col.jpg")

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxesExpandable Property
ExpandBtnPos Property
TablesScrollable Property


FlowChartPro.FlowChart.ClipboardFlags Property

FlowChart.ClipboardFlags Property
[image]

( [image] a feature of FlowChartX Pro edition)

An indexed property allowing customization of clipboard operations.

Syntax

VB6 [image] Copy Code

Public Property Get ClipboardFlags( _
ByVal flag As EClipboardFlag _
) As Boolean
Public Property Let ClipboardFlags( _
ByVal flag As EClipboardFlag, _
ByVal Value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ClipboardFlags (
EClipboardFlag flag
)
void put_ClipboardFlags (
EClipboardFlag flag,
bool value
)

Parameters

flag
The flag to get or set.

Property Value

A boolean value.

Remarks

Represents a bit-mask that allows changing some aspects of clipboard operations. The property is indexed via EClipboardFlag enumeration members. The following flags are available:

Flag | Default value | Description
fCopyAsBitmap | true | In addition to copying FlowChartX items in native format, copy the whole diagram to the clipboard in a bitmap format.
fCopyAsEnhancedMetafile | true | In addition to copying FlowChartX items in native format, copy the whole diagram to the clipboard in an enhanced-metafile format.
fCopySubordinateGroups | false | If a selected item has subordinate group of items, copy the whole group to the clipboard.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CopyToClipboard Method


FlowChartPro.FlowChart.ControlPadding Property

FlowChart.ControlPadding Property
[image]

Gets or sets how much space to leave between the borders of a box and the control hosted in the box.

Syntax

VB6 [image] Copy Code

Public Property Get ControlPadding() As Byte
Public Property Let ControlPadding( _
ByVal value As Byte _
)

C++ [image] Copy Code

public:
unsigned char get_ControlPadding ()
void put_ControlPadding (
unsigned char value
)

Property Value

A byte value. The default is 4.

Remarks

FlowChartX cannot detect mouse operations performed on some types of controls hosted in bsAxControl or bsWindow boxes, so it leaves some space between the box bounds and the hosted controls which can be used by users to draw arrows or select the boxes. This property lets you increase or decrease that space. The property value is specified in pixels.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AxControlId Property
BoxStyle Property
BoxWindowFrame Property


FlowChartPro.FlowChart.CrossRadius Property

FlowChart.CrossRadius Property
[image]

Gets or sets the radius length of decorations displayed at arrow intersection points.

Syntax

VB6 [image] Copy Code

Public Property Get CrossRadius() As Long
Public Property Let CrossRadius( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CrossRadius ()
void put_CrossRadius (
int value
)

Property Value

A long value. The default is 8.

Remarks

Gets or sets the radius length of decorations displayed at arrow crossing points. These decorations can be arcs or breaks, as specified through the ArrowCrossings property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CycleCount Property

FlowChart.CycleCount Property
[image]

Gets the number of cycles found by the last DetectCycle invocation.

Syntax

VB6 [image] Copy Code

Public Property Get CycleCount() As Long

C++ [image] Copy Code

public:
int get_CycleCount ()

Property Value

A long value.

Remarks

Returns the number of cycles found with the last DetectCycle operation. The found cycles are buffered and can be retrieved from the buffer using the GetCycle method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Decorations Property

FlowChart.Decorations Property
[image]

Gets a collection of all decorations in the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Decorations() As IDecorations

C++ [image] Copy Code

public:
IDecorations* get_Decorations ()

Property Value

A collection of DecorationLine objects.

Remarks

A collection of all the decorations in current FlowChartX document. You can iterate over them using Count and Item properties or you can get standard enumerator object (IEnumVariant) using _NewEnum. Visual Basic gives access to this enumerator with the 'for each' statement.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DefaultShape Property

FlowChart.DefaultShape Property
[image]

Gets or sets the default shape of new boxes of the bsShape Style.

Syntax

VB6 [image] Copy Code

Public Property Get DefaultShape() As ShapeTemplate
Public Property Let DefaultShape( _
ByVal Value As ShapeTemplate _
)

C++ [image] Copy Code

public:
ShapeTemplate* get_DefaultShape ()
void put_DefaultShape (
ShapeTemplate* value
)

Property Value

A reference to a ShapeTemplate object.

Remarks

Default shape for boxes of Style bsShape. If BoxStyle is set to bsShape, all new boxes that users draw have that default shape assigned to them.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DemoVersion Property

FlowChart.DemoVersion Property
[image]

Gets a value indicating whether the currently loaded FlowChartX instance is a trial version.

Syntax

VB6 [image] Copy Code

Public Property Get DemoVersion() As Boolean

C++ [image] Copy Code

public:
bool get_DemoVersion ()

Property Value

true in trial versions of FlowChartX; false in retail versions.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Dirty Property

FlowChart.Dirty Property
[image]

Gets or sets a value indicating whether the diagram has changed after it was last saved.

Syntax

VB6 [image] Copy Code

Public Property Get Dirty() As Boolean
Public Property Let Dirty( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Dirty ()
void put_Dirty (
bool value
)

Property Value

A boolean value.

Remarks

This property indicates whether the document contents have been changed. The flag is set each time a diagram object is modified, either programmatically or by the user. It is cleared when a document is loaded, and optionally when the document is saved.

In addition to setting this flag when the diagram changes, the control also notifies its container by calling the OnDataChange method of the IAdviseSink OLE interface.

By default, Dirty is also set when selection state of items change. To prevent that, set the fDisableSelectionDirtyFlag bit of the EventFlags property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DisabledMnpColor Property

FlowChart.DisabledMnpColor Property
[image]

Gets or sets the color used to paint disabled selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get DisabledMnpColor() As Long
Public Property Let DisabledMnpColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_DisabledMnpColor ()
void put_DisabledMnpColor (
unsigned int value
)

Property Value

A color value. The default is RGB:200,0,0 (red).

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DisableNoScroll Property

FlowChart.DisableNoScroll Property
[image]

Gets or sets a value indicating whether if scroll bars are unnecessary, they will be disabled of hidden.

Syntax

VB6 [image] Copy Code

Public Property Get DisableNoScroll() As Boolean
Public Property Let DisableNoScroll( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_DisableNoScroll ()
void put_DisableNoScroll (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If this property is set to true, scrollbars are disabled when not needed, otherwise they are hidden. For DisableNoScroll to has effect, its value must be set before calling the ShowScrollers or SetDocSize method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocBottom Property

FlowChart.DocBottom Property
[image]

Gets the bottom side of the document bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get DocBottom() As Long

C++ [image] Copy Code

public:
int get_DocBottom ()

Property Value

A long value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocLeft Property

FlowChart.DocLeft Property
[image]

Gets the left side of the document bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get DocLeft() As Long

C++ [image] Copy Code

public:
int get_DocLeft ()

Property Value

A long value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocRight Property

FlowChart.DocRight Property
[image]

Gets the right side of the document bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get DocRight() As Long

C++ [image] Copy Code

public:
int get_DocRight ()

Property Value

A long value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocTop Property

FlowChart.DocTop Property
[image]

Gets the top side of the document bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get DocTop() As Long

C++ [image] Copy Code

public:
int get_DocTop ()

Property Value

A long value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragDropMode Property

FlowChart.DragDropMode Property
[image]

Gets or sets a value indicating how FlowChartX responds to OLE drag-and-drop operations.

Syntax

VB6 [image] Copy Code

Public Property Get DragDropMode() As EDragDropMode
Public Property Let DragDropMode( _
ByVal Value As EDragDropMode _
)

C++ [image] Copy Code

public:
EDragDropMode get_DragDropMode ()
void put_DragDropMode (
EDragDropMode value
)

Property Value

A member of the EDragDropMode enumeration. The default is drAutoAccept.

Remarks

Gets or sets how the control responds to OLE drag-and-drop operations and what events are raised in response. One of the following values can be used:

  • drAutoAccept - text dropped into a box, a table caption or a table cell is automatically accepted and the respective object properties are set to the dropped text. In similar manner dropping an image over a node automatically sets its Picture property to that image. Dropping an image into an empty area sets the background image of FlowChartX. One of the following events are raised, depending on the drop destination: DropAcceptedByBox, DropAcceptedByTable, DropAcceptedByTableCell, DropAccepted. These events provide as arguments the type of data dropped, and a reference to the object that received the data.
  • drRequestAccept - as in the first mode, textual and image data are accepted by tables and boxes, setting accordingly their properties. However validation events are raised while the drag occurs, through which drop operation can be rejected. Appropriate visual feedback is given to the user, depending on the result of a validation event. The events that may be raised are RequestDropInBox, RequestDropInTable and RequestDrop, based on the type of object under the mouse cursor. If the operation is validated and the user drops the dragged data, the same events as in drAutoAccept mode are raised too.
  • drProgrControl - in this mode full responsibility on interpreting the dragged data and the results of dropping it is left to your program. Two sets of events can be raised. While dragging any data over the flowchart area, the DragOverDoc, DragOverBox and DragOverTable are raised, depending on the item under the mouse cursor. They have as arguments the OLE IDataObject interface pointer, through which the dragged data can be queried and retrieved. In addition the mouse position in document coordinates is passed, along with a key-state parameter and an output effect parameter. Through the effect parameter you can give OLE clue on the outcome of the operation, and the kind of visual feedback that should be displayed to the user. When the dragged object is dropped the following events may be raised: DropInBox, DropInTable and DropInDoc. They receive the same parameters as their Drag* counterparts. When working in this mode, you can use ObjectFromPoint method to find out if there is an item under the mouse cursor.
  • drProgrControVB - same as the above, but the events raised from this mode receive IVBDataObject parameter. This interface is automation-compatible and can be used by Visual Basic applications. The events that can be raised in this mode are DragOverDocVB, DragOverBoxVB, DragOverTableVB, DropInBoxVB, DropInTableVB and DropInDocVB.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DrawAxBoxShapes Property

FlowChart.DrawAxBoxShapes Property
[image]

Gets or sets a value indicating whether to render shapes behind ActiveX boxes.

Syntax

VB6 [image] Copy Code

Public Property Get DrawAxBoxShapes() As Boolean
Public Property Let DrawAxBoxShapes( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_DrawAxBoxShapes ()
void put_DrawAxBoxShapes (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

By default boxes whose Style is set to bsAxControl display only the content of the hosted ActiveX control. If this property is enabled, such boxes also render the Shape assigned to them.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxStyle Property


FlowChartPro.FlowChart.DynamicArrows Property

FlowChart.DynamicArrows Property
[image]

Gets or sets the default value for the Dynamic property of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get DynamicArrows() As Boolean
Public Property Let DynamicArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_DynamicArrows ()
void put_DynamicArrows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Default value for the Dynamic property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.EnableStyledText Property

FlowChart.EnableStyledText Property
[image]

Gets or sets the default value for the EnableStyledText property of new boxes.

Syntax

VB6 [image] Copy Code

Public Property Get EnableStyledText() As Boolean
Public Property Let EnableStyledText( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableStyledText ()
void put_EnableStyledText (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Used as initial value for the EnableStyledText property of new boxes.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.EventFlags Property

FlowChart.EventFlags Property
[image]

An indexed property providing a way to customize how some events are raised.

Syntax

VB6 [image] Copy Code

Public Property Get EventFlags( _
ByVal flag As EEventFlag _
) As Boolean
Public Property Let EventFlags( _
ByVal flag As EEventFlag, _
ByVal Value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EventFlags (
EEventFlag flag
)
void put_EventFlags (
EEventFlag flag,
bool value
)

Parameters

flag
A member of the EEventFlag enumeration specifying the flag to get or set.

Property Value

A boolean value.

Remarks

Members of this property provide control over the way some events are raised. The property is indexed via EEventFlag enumeration members. The following flags are available:

Flag | Default value | Description
fNoClickEventsForLockedObjs | false | Allows suppressing the *Clicked and *DblClicked events for items that are Locked.
fNoArrowEventsWhenBoxDeleted | false | Allows suppressing the ArrowDeleted events for arrows that are deleted because a box they are linked to is deleted.
fFireKeyDownOnDelete | false | Specifies whether the KeyDown event is raised when DEL is pressed.
fRequestCreateArrowForOrigin | false | Raises a RequestCreateArrow validation event at the start of arrow drawing operation. Otherwise the event is raised only at the end when the arrow is dragged over its destination box.
fTableCellStartDrag | false | Allow firing of TableCellStartDrag event.
fOverrideTreeExpanding | false | If enabled, the BoxExpanded and BoxCollapsed events are raised when a user clicks on the +/- button without carrying out the usual expand/collapse processing. That allows overriding the expand/collapse behavior by handling the mentioned events, without any child nodes in the tree being shown or hidden automatically.
fFireMouseUpAfterModfProcessing | false | Usually, the MouseUp event is raised before current modifications carried on an item are complete. This flag enables raising MouseUp after the modification is fully carried out, allowing you to get the final state of a modified item from a handler of that event.
fRequestCreateOnMouseMove | false | If this bit is enabled, RequestCreate* events will be raised after each mouse movement while creating an item, instead of raising them only after releasing the mouse button. Setting the Confirm argument to false from the event handler will only change the mouse cursor icon when the event is raised after a mouse movement. That will give visual indication to users whether they can create the item at the current mouse position.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ExpandBtnPos Property

FlowChart.ExpandBtnPos Property
[image]

Gets or sets a value indicating where the expand/collapse buttons are placed relatively to their boxes.

Syntax

VB6 [image] Copy Code

Public Property Get ExpandBtnPos() As EExpandBtnPos
Public Property Let ExpandBtnPos( _
ByVal Value As EExpandBtnPos _
)

C++ [image] Copy Code

public:
EExpandBtnPos get_ExpandBtnPos ()
void put_ExpandBtnPos (
EExpandBtnPos value
)

Property Value

A member of the EExpandBtnPos enumeration. The default is ebpOuterRight.

Remarks

Defines where a +/- button is placed, relative to the position of the box to which the button is attached. +/- buttons expand or collapse the trees of diagram items that start from the respective boxes. Use the Expandable property of boxes to show or hide these buttons.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ButtonImages Property


FlowChartPro.FlowChart.ExpandOnIncoming Property

FlowChart.ExpandOnIncoming Property
[image]

Gets or sets a value indicating the direction of expand/collapse operations.

Syntax

VB6 [image] Copy Code

Public Property Get ExpandOnIncoming() As Boolean
Public Property Let ExpandOnIncoming( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ExpandOnIncoming ()
void put_ExpandOnIncoming (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

When using FlowChartX to display a tree structure you could expand/collapse branches of the tree using the Expand and Collapse methods. A box can be connected to other boxes through incoming and outgoing arrows. The ExpandOnIncoming property defines which boxes connected to another box are regarded as its children. If set to false, the expanding / collapsing is done in the direction of outgoing arrows (default setting); otherwise it is done in direction of the incoming arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ExtrnDragDrop Property

FlowChart.ExtrnDragDrop Property
[image]

Gets or sets a value indicating whether initiating drag-and-drop operations from the current FlowChartX instance is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get ExtrnDragDrop() As Boolean
Public Property Let ExtrnDragDrop( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ExtrnDragDrop ()
void put_ExtrnDragDrop (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether an OLE drag-and-drop operation is initiated when a user drags diagram elements outside of the control boundaries. Drag-and-drop operations between two FlowChartX instances are enabled if this property is set to true. The instance, which is target of the drag-and-drop operation, identifies the dragged data type as dtChartData.

What happens when the user drops the diagram items depends on the drag-and-drop mode, as set by the DragDropMode property:

  • In automatic mode the drop operation can be only completed when the user points empty document area. As result of dropping the diagram elements that are selected in the source FlowChartX instance will be copied into the target instance.
  • The request mode behaves as the automatic one, but also fires validation events through which the operation can be cancelled.
  • In programmatic mode, when the dragged data is reported to be of type dtChartData, the CreateObjsFromDragData method can be called to copy the selected items from the source FlowChartX instance. The 'drop effect' argument of programmatic-mode events allows specifying whether the items are moved or copied.

If undo/redo is enabled, the operation outcome is automatically recorded in the command history for later undo or redo.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FeedbackColor Property

FlowChart.FeedbackColor Property
[image]

Gets or sets the color of the drag-and-drop feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackColor() As Long
Public Property Let FeedbackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FeedbackColor ()
void put_FeedbackColor (
unsigned int value
)

Property Value

A color value. The default is RGB:200,100,0 (orange brown).

Remarks

Default value for the FeedbackColor property of new boxes created by the user or programmatically. A frame is painted with this color around an object to indicate to the user that the object would accept drag-and-drop operation.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FeedbackOnDragOver Property

FlowChart.FeedbackOnDragOver Property
[image]

Gets or sets a value indicating whether a feedback frame should be painted around boxes while drag-and-drop operation is in progress.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackOnDragOver() As Boolean
Public Property Let FeedbackOnDragOver( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FeedbackOnDragOver ()
void put_FeedbackOnDragOver (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies if feedback frame is drawn around a box while an OLE drag-and-drop operation is performed and the box will accept the dragged data. Container boxes will also give feedback when an object is dragged over them, if this property is set to true. The feedback frame is painted with the color defined via FeedbackColor, using a pen defined via FeedbackPenStyle and FeedbackPenWidth properties.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FeedbackPenStyle Property

FlowChart.FeedbackPenStyle Property
[image]

Gets or sets the style of the pen used to draw the drag-and-drop feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenStyle() As EPenStyle
Public Property Let FeedbackPenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_FeedbackPenStyle ()
void put_FeedbackPenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. The default is psSolid.

Remarks

Default value of the FeedbackPenStyle property of new boxes created by the user or programmatically. A frame painted with a pen of this style around an object indicates to the user that the object would accept drag-and-drop operation.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FeedbackPenWidth Property

FlowChart.FeedbackPenWidth Property
[image]

Gets or sets the width of the pen used to draw the drag-and-drop feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenWidth() As Long
Public Property Let FeedbackPenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_FeedbackPenWidth ()
void put_FeedbackPenWidth (
int value
)

Property Value

A long value. The default is 3.

Remarks

Default value of the FeedbackPenWidth property of new boxes created by the user or programmatically. This property defines the width of pen used for painting a frame around an object to indicate to the user that this object would accept drag-and-drop operation.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FireMouseMove Property

FlowChart.FireMouseMove Property
[image]

Gets or sets a value indicating whether the MouseMove event should be raised.

Syntax

VB6 [image] Copy Code

Public Property Get FireMouseMove() As Boolean
Public Property Let FireMouseMove( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FireMouseMove ()
void put_FireMouseMove (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Enables / disables firing of the MouseMove event. This event is raised periodically while the user moves the mouse above the document area. It is disabled by default because it might lead to unnecessary processing overhead.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Font Property

FlowChart.Font Property
[image]

Gets or sets the default font.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A font object. The default is Arial, 10.

Remarks

Specifies a shared font used for rendering the text of diagram items whose own fonts are not set. In order to cut down memory consumption, the fonts of new boxes, arrows and tables are null references (Nothing in Visual Basic). Thus, new objects use the shared font until their own fonts are initialized.

Note that non-proportional fonts, such as Courier or MS Sans Serif cannot zoom out well. The minimum size that can be assigned to such fonts is the smallest value shown in the 'Size' combo box in the standard font dialog. If your application allows scaling to ZoomFactor less than 100, we recommend using proportional fonts such as Arial, Courier New or Verdana.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.FlowChart.Graphics Property

FlowChart.Graphics Property
[image]

Gets the graphics engine used to render diagram elements.

Syntax

VB6 [image] Copy Code

Public Property Get Graphics() As Graphics

C++ [image] Copy Code

public:
Graphics* get_Graphics ()

Property Value

A reference to a Graphics instance.

Remarks

Represents the graphics engine used to render diagram items. Currently FlowChartX supports two engines: the first one is based on the classic Windows GDI API; the second one is based on the GDI+ library. At startup the classic GDI engine is loaded.

See the Graphics class for more information.

Example

The following VB6 code demonstrates how to initialize and shut down GDI+.

VB6 [image] Copy Code

Private Sub Form_Load()

'start GDI+ graphics engine
fcx.Graphics.StartUp geGdiPlus
fcx.Graphics.AntiAliasing = True

fcx.BoxFillColor = vbGreen
fcx.BoxFillColorAlpha = 100

End Sub

Private Sub Form_Unload(ByVal Cancel As Integer)

'it is important to shut down GDI+
fcx.Graphics.ShutDown

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GridColor Property

FlowChart.GridColor Property
[image]

Gets or sets the color used to draw the alignment grid's points.

Syntax

VB6 [image] Copy Code

Public Property Get GridColor() As Long
Public Property Let GridColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_GridColor ()
void put_GridColor (
unsigned int value
)

Property Value

A color value. The default is RGB:140,140,150 (gray).

Remarks

The grid points or lines are painted with this color.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GridSize Property

FlowChart.GridSize Property
[image]

Gets or sets the distance between adjacent points in the alignment grid.

Syntax

VB6 [image] Copy Code

Public Property Get GridSize() As Integer
Public Property Let GridSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_GridSize ()
void put_GridSize (
short value
)

Property Value

A short value. The default is 16.

Remarks

Specifies the distance between adjacent grid points or lines.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GridStyle Property

FlowChart.GridStyle Property
[image]

Gets or sets the style of the alignment grid.

Syntax

VB6 [image] Copy Code

Public Property Get GridStyle() As EGridStyle
Public Property Let GridStyle( _
ByVal Value As EGridStyle _
)

C++ [image] Copy Code

public:
EGridStyle get_GridStyle ()
void put_GridStyle (
EGridStyle value
)

Property Value

A member of the EGridStyle enumeration. The default is gsPoints.

Remarks

Specifies how the alignment grid is drawn. If the property is set to gsPoints, the grid is presented as a matrix of points. If set to gsLines, the grid is composed of series of crossed horizontal and vertical lines. The grid points or lines are painted with the color specified via GridColor; the distance between them is set via GridSize.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Groups Property

FlowChart.Groups Property
[image]

Gets a collection of all groups in the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Groups() As IGroups

C++ [image] Copy Code

public:
IGroups* get_Groups ()

Property Value

A collection of Group objects.

Remarks

A collection containing all the groups in current FlowChartX document. You can iterate over them using Count and Item properties or you can get standard enumerator object (IEnumVariant) using _NewEnum. Visual Basic gives access to this enumerator with the 'for each' statement.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.HighSpeedRouting Property

FlowChart.HighSpeedRouting Property
[image]

( [image] a feature of FlowChartX Pro edition)

Obsolete.

Syntax

VB6 [image] Copy Code

Public Property Get HighSpeedRouting() As Boolean
Public Property Let HighSpeedRouting( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_HighSpeedRouting ()
void put_HighSpeedRouting (
bool value
)

Property Value

Remarks

This property is now considered obsolete and its value is not used anymore; it will be removed from version 5 of the component. For tuning the routing algorithm use the members of the RoutingOptions class.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.HitTestPriority Property

FlowChart.HitTestPriority Property
[image]

Gets or sets a value indicating in what order the diagram items are hit-tested.

Syntax

VB6 [image] Copy Code

Public Property Get HitTestPriority() As EHitTestPriority
Public Property Let HitTestPriority( _
ByVal Value As EHitTestPriority _
)

C++ [image] Copy Code

public:
EHitTestPriority get_HitTestPriority ()
void put_HitTestPriority (
EHitTestPriority value
)

Property Value

A member of the EHitTestPriority enumeration. The default is htpNodesBeforeArrows.

Remarks

For easier selection, arrows have a hit-detection area several pixels wider than their visible segment lines. However, if several arrows with higher Z index cross a node, it would be difficult to select it. The HitTestPriority property allows altering hit-test results in such situations. If set to htpNodesBeforeArrows, nodes are hit-tested before all arrows. htpZOrder makes all items tested in decreasing Z order, independently of their type.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ZIndex Property


FlowChartPro.FlowChart.HostedAxActivation Property

FlowChart.HostedAxActivation Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets a value indicating how hosted ActiveX controls get activated.

Syntax

VB6 [image] Copy Code

Public Property Get HostedAxActivation() As EControlActivation
Public Property Let HostedAxActivation( _
ByVal Value As EControlActivation _
)

C++ [image] Copy Code

public:
EControlActivation get_HostedAxActivation ()
void put_HostedAxActivation (
EControlActivation value
)

Property Value

A member of the EControlActivation enumeration. The default is caAlwaysActive.

Remarks

Specifies how ActiveX controls hosted in boxes get activated. The value of this property is used to initialize the ControlActivation property of new boxes. FlowChartX subclasses the window of any hosted control, in order to detect mouse interaction performed on it. Thus, move and resize operations can be carried out as with ordinary diagram nodes. However manipulation of the OCX' node via mouse might interfere with some user-interface feature of the control; for these reasons FlowChartX can filter the mouse messages sent to the hosted controls. A control is considered active when mouse messages are passed to it. The ControlActivation property specifies how and when to activate the control. It can have the following values:

  • caAlwaysActive - the control is always active and receives all mouse messages even when its node is resized, moved or linked to other nodes;
  • caWhenSelected - the control is active only when it is selected; if it is not selected the mouse messages sent to its window are filtered;
  • caProgrammatic - the control is activated or deactivated programmatically via the ActivateControl and DeactivateControl methods;

Note

Only the topmost window of the hosted ActiveX control is subclassed. If the control has child windows the mouse messages sent to them are not filtered.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Hwnd Property

FlowChart.Hwnd Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Hwnd() As Long

C++ [image] Copy Code

public:
unsigned int get_Hwnd ()

Property Value

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.IconTextHeight Property

FlowChart.IconTextHeight Property
[image]

Gets or sets the height of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.

Syntax

VB6 [image] Copy Code

Public Property Get IconTextHeight() As Long
Public Property Let IconTextHeight( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_IconTextHeight ()
void put_IconTextHeight (
int value
)

Property Value

A long value. The default is 50.

Remarks

This property specifies the maximum height of the text of boxes or tables having tsBelow text style.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.IconTextWidth Property

FlowChart.IconTextWidth Property
[image]

Gets or sets the width of text displayed below nodes whose TextStyle or CaptionStyle is set to tsBelow.

Syntax

VB6 [image] Copy Code

Public Property Get IconTextWidth() As Long
Public Property Let IconTextWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_IconTextWidth ()
void put_IconTextWidth (
int value
)

Property Value

A long value. The default is 100.

Remarks

This property specifies how wide can be the text of boxes or tables having tsBelow text style. If the text of such nodes requires more space to be rendered, it is formatted in multiple lines.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ImageExportOptions Property

FlowChart.ImageExportOptions Property
[image]

Gets an object which allows customizing some parameters of the image export routines.

Syntax

VB6 [image] Copy Code

Public Property Get ImageExportOptions() As ImageExportOptions

C++ [image] Copy Code

public:
ImageExportOptions* get_ImageExportOptions ()

Property Value

An instance of the ImageExportOptions class.

Remarks

Provides customization options for image export. Currently in that structure there are properties defining what part of the flowchart document to export, and a scaling factor for the image output. Values set in the structure are used by the CreateBitmap and SaveToBitmap methods.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.InplaceEditAcceptOnEnter Property

FlowChart.InplaceEditAcceptOnEnter Property
[image]

Gets or sets a value indicating whether pressing the ENTER key should exit inplace-edit mode and accept changes made to text.

Syntax

VB6 [image] Copy Code

Public Property Get InplaceEditAcceptOnEnter() As Boolean
Public Property Let InplaceEditAcceptOnEnter( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_InplaceEditAcceptOnEnter ()
void put_InplaceEditAcceptOnEnter (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If the value of this property is false, pressing the ENTER key inserts a new line in the text while in inplace-edit mode.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.InplaceEditAllowed Property

FlowChart.InplaceEditAllowed Property
[image]

Gets or sets a value indicating whether users can start editing box' text by double clicking the box.

Syntax

VB6 [image] Copy Code

Public Property Get InplaceEditAllowed() As Boolean
Public Property Let InplaceEditAllowed( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_InplaceEditAllowed ()
void put_InplaceEditAllowed (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether text of diagram objects can be edited in-place by user. If enabled a text-entry field appears at the object's position when an object is double-clicked. In-place editing mode can be exited by clicking anywhere outside the text-field. When this happens one of the following events is raised, dependent on the edited object's type: BoxTextEdited, TableCaptionEdited, CellTextEdited.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.InplaceEditCancelOnEsc Property

FlowChart.InplaceEditCancelOnEsc Property
[image]

Gets or sets a value indicating whether pressing the ESC key should exit inplace-edit mode and cancel any changes made to text.

Syntax

VB6 [image] Copy Code

Public Property Get InplaceEditCancelOnEsc() As Boolean
Public Property Let InplaceEditCancelOnEsc( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_InplaceEditCancelOnEsc ()
void put_InplaceEditCancelOnEsc (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If the value of this property is false, pressing the ESC key has no effect while in inplace-edit mode.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.IntermArrowHead Property

FlowChart.IntermArrowHead Property
[image]

Gets or sets the default IntermArrowHead shape of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get IntermArrowHead() As EArrowHead
Public Property Let IntermArrowHead( _
ByVal Value As EArrowHead _
)

C++ [image] Copy Code

public:
EArrowHead get_IntermArrowHead ()
void put_IntermArrowHead (
EArrowHead value
)

Property Value

A member of the EArrowHead enumeration. The default is ahNone.

Remarks

Default value for IntermArrowHead property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.IntermHeadSize Property

FlowChart.IntermHeadSize Property
[image]

Gets or sets the default size of IntermHeadSize shapes of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get IntermHeadSize() As Integer
Public Property Let IntermHeadSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_IntermHeadSize ()
void put_IntermHeadSize (
short value
)

Property Value

A short value. The default is 10.

Remarks

Default value for IntermHeadSize property of new arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.KbdActive Property

FlowChart.KbdActive Property
[image]

Gets or sets a value indicating whether users are allowed to modify the diagram using keyboard.

Syntax

VB6 [image] Copy Code

Public Property Get KbdActive() As Boolean
Public Property Let KbdActive( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_KbdActive ()
void put_KbdActive (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If set to false FlowChartX does not respond to keyboard input, otherwise the following keyboard combinations are enabled:

Shortcut | Description
CTRL+C | Copies the current selection to the Windows clipboard.
CTRL+X | Cuts the current selection to the Windows clipboard.
CTRL+V | Copies flowchart data from the Windows clipboard if available; raises the ItemsPasted event.
CTRL+Z | Undoes the last modification of the flowchart document; raises the ActionUndone event.
CTRL+Y | Redoes an action that was previously undone; raises the ActionRedone event.
DEL | Deletes the currently active element (marked with white modification handles); raises ArrowDeleted, BoxDeleted or TableDeleted.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
StaticMode Property
KeyboardFlags Property


FlowChartPro.FlowChart.KbdBehavior Property

FlowChart.KbdBehavior Property
[image]

Gets or sets a value indicating how the arrow keys are handled by FlowChartX.

Syntax

VB6 [image] Copy Code

Public Property Get KbdBehavior() As EKbdBehavior
Public Property Let KbdBehavior( _
ByVal Value As EKbdBehavior _
)

C++ [image] Copy Code

public:
EKbdBehavior get_KbdBehavior ()
void put_KbdBehavior (
EKbdBehavior value
)

Property Value

A member of the EKbdBehavior enumeration. The default is kbScrollView.

Remarks

Defines the function of the arrow keys on the keyboard. Pressing those keys scrolls the document, if the default mode kbScrollView is used. In the other mode (kbMoveObjects) the arrow keys move the selected diagram object in the respective directions.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.KeyboardFlags Property

FlowChart.KeyboardFlags Property
[image]

Allows customizing where keyboard related notifications are handled.

Syntax

VB6 [image] Copy Code

Public Property Get KeyboardFlags( _
ByVal flag As EKeyboardFlag _
) As Boolean
Public Property Let KeyboardFlags( _
ByVal flag As EKeyboardFlag, _
ByVal Value As Boolean _
)

C++ [image] Copy Code

public:
bool get_KeyboardFlags (
EKeyboardFlag flag
)
void put_KeyboardFlags (
EKeyboardFlag flag,
bool value
)

Parameters

flag
A member of the EKeyboardFlag specifying the flag to get or set.

Property Value

A boolean value.

Remarks

Usually FlowChartX processes keystrokes by handling the WM_KEYDOWN Windows message. However, in order to implement form navigation, some containers filter various key combinations and the respective messages don't reach the FlowChartX keyboard processing code. For example this happens when the control is placed inside a VB user control or in a VB MDI child window. For such situations, FlowChartX allows processing the keyboard events in its implementation of the COM IOleInPlaceActiveObjectImpl::TranslateAccelerator method. If you notice that the control does not process key presses as expected or does not fire the KeyDown event, consider enabling the following flags:

Flag | Default value | Description
fHandleDelInTranslAcc | false | If enabled, the DEL key is processed in the implementation of TranslateAccelerator.
fHandleArrowsInTranslAcc | false | If enabled, the arrow keys are processed in the implementation of TranslateAccelerator.
fHandleKeyDownInTranslAcc | false | If enabled, all keys are processed in the implementation of TranslateAccelerator.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LayoutGap Property

FlowChart.LayoutGap Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the default value of the LayoutGap property of new container boxes.

Syntax

VB6 [image] Copy Code

Public Property Get LayoutGap() As Long
Public Property Let LayoutGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LayoutGap ()
void put_LayoutGap (
int value
)

Property Value

A long value. The default is 14.

Remarks

Default value of the LayoutGap property of new containers created by the user or programmatically. The layout gap defines how much space is left between objects inside a container when automatic layout is performed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LayoutStyle Property

FlowChart.LayoutStyle Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the default value of the LayoutStyle property of new container boxes.

Syntax

VB6 [image] Copy Code

Public Property Get LayoutStyle() As ELayoutStyle
Public Property Let LayoutStyle( _
ByVal Value As ELayoutStyle _
)

C++ [image] Copy Code

public:
ELayoutStyle get_LayoutStyle ()
void put_LayoutStyle (
ELayoutStyle value
)

Property Value

A member of the ELayoutStyle enumeration. The default is lsVerticalCentered.

Remarks

Default value for LayoutStyle property of new containers. This property defines how items inside a container are oriented and aligned one to another. Currently only the lsVerticalCentered style is supported.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Measures Property

FlowChart.Measures Property
[image]

Allows setting some hit-testing measure values.

Syntax

VB6 [image] Copy Code

Public Property Get Measures( _
ByVal measure As EMeasure _
) As Long
Public Property Let Measures( _
ByVal measure As EMeasure, _
ByVal Value As Long _
)

C++ [image] Copy Code

public:
int get_Measures (
EMeasure measure
)
void put_Measures (
EMeasure measure,
int value
)

Parameters

measure
A member of the EMeasure enumeration specifying the value to get or set.

Property Value

A long value.

Remarks

Allows changing some threshold values and measures used during hit-testing and user interaction. Currently there is only one value exposed through this property:

Index | Default value | Description
meArrowHitTestZone | 15 | A threshold value used during hit-testing, allows easier selection of arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MeasureUnit Property

FlowChart.MeasureUnit Property
[image]

Gets or sets the unit used to measure the coordinates and sizes of diagram elements.

Syntax

VB6 [image] Copy Code

Public Property Get MeasureUnit() As EUnit
Public Property Let MeasureUnit( _
ByVal Value As EUnit _
)

C++ [image] Copy Code

public:
EUnit get_MeasureUnit ()
void put_MeasureUnit (
EUnit value
)

Property Value

A member of the EUnit enumeration. The default is uPixel.

Remarks

Many properties in the FlowChartX API are used to specify the dimensions of diagram items or the size of various visual elements, e.g. selection handles, arrowhead shapes, line widths, etc. MeasureUnit specifies the measure of length in which these size values are defined.

Changing the measure unit does not automatically rescale the size-related property values. Your application must assign appropriate measure-dependent values to the following properties: GridSize, SelHandleSize, PenWidth, ArrowBaseSize, ArrowHeadSize, IntermHeadSize, TableCaptionHeight, TableColWidth, TableRowHeight, CrossRadius, ShadowOffsetX, ShadowOffsetY and to the size-related members of RoutingOptions.

Changing the measure unit resets RoutingOptions to default values for the new unit, because performance might suffer greatly if the routing algorithm uses too big or too small GridSize.

The arguments passed to some methods depend on the measure unit too, e.g. SetDocSize, CreateBox, CreateTable, ClientPtToDocPt and DocPtToClientPt, GetBoxAt, GetTableAt, ZoomToRect.

The following EUnit members can be used as FlowChartX measure units:

Constant | Value | Description
uPixel | 2 | Specifies a device pixel as the unit of measure.
uPoint | 3 | Specifies a printer's point (1/72 inch) as the unit of measure.
uDocument | 5 | Specifies the document unit (1/300 inch) as the unit of measure.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ZoomFactor Property


FlowChartPro.FlowChart.MergeThreshold Property

FlowChart.MergeThreshold Property
[image]

Gets or sets the maximum distance between adjacent control points of an arrow at which their related segments can be merged.

Syntax

VB6 [image] Copy Code

Public Property Get MergeThreshold() As Single
Public Property Let MergeThreshold( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_MergeThreshold ()
void put_MergeThreshold (
float value
)

Property Value

A float value. The default is 0.

Remarks

A user may add or remove arrows' segments interactively when the ArrowsSplittable property is enabled. They can drag an asPerpendicular arrow's control point over the next one in order to merge two adjacent segments. Usually the two points must be placed exactly at the same coordinates in order to merge the respective segments of the arrow. Assign a larger value to this property if you wish to make it easier for users to merge segments by just moving arrow's control point close one to another.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MiddleButtonAction Property

FlowChart.MiddleButtonAction Property
[image]

Gets or sets what action should be performed when dragging the mouse while holding its middle button.

Syntax

VB6 [image] Copy Code

Public Property Get MiddleButtonAction() As EMouseButtonAction
Public Property Let MiddleButtonAction( _
ByVal Value As EMouseButtonAction _
)

C++ [image] Copy Code

public:
EMouseButtonAction get_MiddleButtonAction ()
void put_MiddleButtonAction (
EMouseButtonAction value
)

Property Value

A member of the EMouseButtonAction enumeration. The default is mbaNone.

Remarks

Currently, this property only lets you enable or disable the use of the middle mouse button to pan the diagram view.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Behavior Property
SetMouseCursor Method


FlowChartPro.FlowChart.MinimizeRouteSegments Property

FlowChart.MinimizeRouteSegments Property
[image]

( [image] a feature of FlowChartX Pro edition)

Obsolete.

Syntax

VB6 [image] Copy Code

Public Property Get MinimizeRouteSegments() As Boolean
Public Property Let MinimizeRouteSegments( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_MinimizeRouteSegments ()
void put_MinimizeRouteSegments (
bool value
)

Property Value

Remarks

This property is now considered obsolete and its value is not used anymore; it will be removed from version 5 of the component. For tuning the routing algorithm use the members of the RoutingOptions class.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ModificationStart Property

FlowChart.ModificationStart Property
[image]

Gets or sets how users can start modifying diagram items.

Syntax

VB6 [image] Copy Code

Public Property Get ModificationStart() As EModificationStyle
Public Property Let ModificationStart( _
ByVal Value As EModificationStyle _
)

C++ [image] Copy Code

public:
EModificationStyle get_ModificationStart ()
void put_ModificationStart (
EModificationStyle value
)

Property Value

A member of the EModificationStyle enumeration. The default is mdSelectedOnly.

Remarks

Sets the way users can modify items. In order to manipulate an item, a user must drag its manipulation handles. This property defines when these handles are available. Possible values are:

  • mdSelectedOnly - the handles are drawn around selected object only, so to modify an object the user has to select it first.
  • mdAutoHandles - the handles are drawn around an object when the user points to it with the mouse. The user can modify an object without having first to select it.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MultiSelStyle Property

FlowChart.MultiSelStyle Property
[image]

Gets or sets a value indicating how multiple selection of items is drawn on the screen.

Syntax

VB6 [image] Copy Code

Public Property Get MultiSelStyle() As EMultiSelStyle
Public Property Let MultiSelStyle( _
ByVal Value As EMultiSelStyle _
)

C++ [image] Copy Code

public:
EMultiSelStyle get_MultiSelStyle ()
void put_MultiSelStyle (
EMultiSelStyle value
)

Property Value

A member of the EMultiSelStyle enumeration. The default is msSelHandles.

Remarks

Controls how multiple-selection is represented:

  • msSelHandles - the selected objects are rendered with their selection handles;
  • msRectangle - a rectangle covering all selected objects is drawn;

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AllowMultiSel Property
SelectionOptions Property


FlowChartPro.FlowChart.NowLoading Property

FlowChart.NowLoading Property
[image]

Gets a value indicating whether the control is in the process of loading a diagram.

Syntax

VB6 [image] Copy Code

Public Property Get NowLoading() As Boolean
Public Property Let NowLoading( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_NowLoading ()
void put_NowLoading (
bool value
)

Property Value

A boolean value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.PathCount Property

FlowChart.PathCount Property
[image]

Gets the number of paths found by the last path-finding method invocation.

Syntax

VB6 [image] Copy Code

Public Property Get PathCount() As Long

C++ [image] Copy Code

public:
int get_PathCount ()

Property Value

A long value.

Remarks

Returns the number of paths found with the last search operation - either through the FindShortestPath or FindAllPaths methods. The found paths are buffered and can be retrieved from the buffer using the GetPath method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.PathFindingOptions Property

FlowChart.PathFindingOptions Property
[image]

Gets an object which allows customizing how the path-finding algorithm works.

Syntax

VB6 [image] Copy Code

Public Property Get PathFindingOptions() As PathFindingOptions

C++ [image] Copy Code

public:
PathFindingOptions* get_PathFindingOptions ()

Property Value

An instance of the PathFindingOptions class.

Remarks

Allows customizing some aspects of the graph path-finding algorithm.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
FindShortestPath Method
FindAllPaths Method
FindCycle Method


FlowChartPro.FlowChart.PenStyle Property

FlowChart.PenStyle Property
[image]

Gets or sets the default pen style of new diagram elements.

Syntax

VB6 [image] Copy Code

Public Property Get PenStyle() As EPenStyle
Public Property Let PenStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PenStyle ()
void put_PenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. The default is psSolid.

Remarks

Default pen style for newly created boxes, tables and arrows. For more information, see PenStyle.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.PenWidth Property

FlowChart.PenWidth Property
[image]

Gets or sets the default pen width of new diagram elements.

Syntax

VB6 [image] Copy Code

Public Property Get PenWidth() As Long
Public Property Let PenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PenWidth ()
void put_PenWidth (
int value
)

Property Value

A long value. The default is 1.

Remarks

Default pen width for new boxes, tables and arrows created by user.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Picture Property

FlowChart.Picture Property
[image]

Gets or sets the background image.

Syntax

VB6 [image] Copy Code

Public Property Get Picture() As IPictureDisp
Public Property Let Picture( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Picture ()
void put_Picture (
IPictureDisp* value
)

Property Value

A picture object. The default is null (Nothing in Visual Basic).

Remarks

A background image painted behind diagram items. That image is usually aligned to the FlowChartX control window, painted independently of the scroll position and ZoomFactor of a diagram, unless the picDocument specifier is applied to PicturePos.

Note that this picture is stored in diagram files created by the SaveToFile method. Depending on the image size and format, saved files might become fairly big. If your application uses the same background image for all diagrams, you might want to set the Picture to null (Nothing in Visual Basic) just before saving a file and reset it again afterwards.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
LoadPicture Method


FlowChartPro.FlowChart.PicturePos Property

FlowChart.PicturePos Property
[image]

Gets or sets the alignment style of the background image.

Syntax

VB6 [image] Copy Code

Public Property Get PicturePos() As EPicturePos
Public Property Let PicturePos( _
ByVal Value As EPicturePos _
)

C++ [image] Copy Code

public:
EPicturePos get_PicturePos ()
void put_PicturePos (
EPicturePos value
)

Property Value

A value of the EPicturePos enumeration. The default is picCenter.

Remarks

Specifies alignment style of the background Picture. Possible values are:

picCenter | The image is painted centered in the diagram, using its original size.
picFit | The image is stretched to fill the width or the height of the diagram area, maintaining the original image aspect ratio.
picStretch | The image is stretched to fill the entire diagram area.
picTile | Multiple tiles of the image are drawn across the diagram.
picTopLeft | The image top left corner coincides with top left corner of the diagram.
picBottomLeft | The image bottom left corner coincides with bottom left corner of the diagram.
picTopRight | The image top right corner coincides with top right corner of the diagram.
picBottomRight | The image bottom right corner coincides with bottom right corner of the diagram.
picTopCenter | The image is centered horizontally; its top side coincides with the top side of the diagram.
picBottomCenter | The image is centered horizontally; its bottom side coincides with the bottom side of the diagram.
picCenterLeft | The image is centered vertically; its left side coincides with the left side of the diagram.
picCenterRight | The image is centered vertically; its right side coincides with the right side of the diagram.

If the picDocument modifier is applied to the property value, the image is aligned to the scrollable area of the diagram; otherwise the image is aligned to the FlowChartX' control window.

Example

The following VB code loads a background image and stretches it over the whole document scrollable area.

VB6 [image] Copy Code

fcx.LoadPicture appPath + "diaback1.jpg"
fcx.PicturePos = picStretch + picDocument

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.PrintOptions Property

FlowChart.PrintOptions Property
[image]

Gets an object which allows customization of various print and print preview aspects.

Syntax

VB6 [image] Copy Code

Public Property Get PrintOptions() As PrintOptions

C++ [image] Copy Code

public:
PrintOptions* get_PrintOptions ()

Property Value

An instance of the PrintOptions class.

Remarks

Allows customization of various print and print-preview aspects. The settings, exposed as properties, include document title, several boolean flags that control if images, shadows, headers, etc. are printed or rendered in preview mode, and several title strings that you can change to localize / internationalize your application.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
PrintOptions Class
PrintDiagram Method
PreviewDiagram Method


FlowChartPro.FlowChart.PrpArrowStartOrnt Property

FlowChart.PrpArrowStartOrnt Property
[image]

Gets or sets the orientation of the first segment of cascading arrows.

Syntax

VB6 [image] Copy Code

Public Property Get PrpArrowStartOrnt() As EPrpStartOrientation
Public Property Let PrpArrowStartOrnt( _
ByVal Value As EPrpStartOrientation _
)

C++ [image] Copy Code

public:
EPrpStartOrientation get_PrpArrowStartOrnt ()
void put_PrpArrowStartOrnt (
EPrpStartOrientation value
)

Property Value

A member of the EPrpStartOrientation enumeration. The default is soAuto.

Remarks

Default value for the PrpStartOrientation property of new arrows. This property makes sense only for arrows of style asPerpendicular. Such arrows comprise alternating horizontal and vertical segments, every segment perpendicular to its neighbors. This property defines the orientation of the first arrow segment and can have one of the following values:

  • soAuto - the orientation of the first segment is automatically determined, based on the positions of the objects the arrow is attached to;
  • soHorizontal - the first segment is always horizontally orientated;
  • soVertical - the first segment is always vertically orientated;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RecursiveExpand Property

FlowChart.RecursiveExpand Property
[image]

Gets or sets a value indicating whether tree branches should be expanded recursively when the "+" button is pressed.

Syntax

VB6 [image] Copy Code

Public Property Get RecursiveExpand() As Boolean
Public Property Let RecursiveExpand( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RecursiveExpand ()
void put_RecursiveExpand (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

When using FlowChartX to display a tree structure you can expand/collapse branches of the tree using the Expand and Collapse methods. When expanding the hierarchy starting from a specified box, it is possible to either expand the first level of descendants, or to expand recursively the whole sub-tree. The desired expand behavior can be specified by the RecursiveExpand property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RenderFlags Property

FlowChart.RenderFlags Property
[image]

Allows changing some aspects of how diagram objects are drawn on the screen.

Syntax

VB6 [image] Copy Code

Public Property Get RenderFlags( _
ByVal flag As ERenderFlag _
) As Boolean
Public Property Let RenderFlags( _
ByVal flag As ERenderFlag, _
ByVal Value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RenderFlags (
ERenderFlag flag
)
void put_RenderFlags (
ERenderFlag flag,
bool value
)

Parameters

flag
A member of the ERenderFlag enumeration specifying which flag to get or set.

Property Value

A boolean value.

Remarks

Members of this property provide control over the way some elements of the diagram items are rendered on the screen. The property is indexed via the ERenderFlag enumeration members. Currently there is only one flag available:

Flag | Default value | Description
fTransparentBoxDecorations | false | Specifies whether ShapeTemplate decoration lines are drawn for Transparent boxes.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ShapeTemplate.AddDecorationLine Method
Box.DecorationColor Property


FlowChartPro.FlowChart.RerouteArrows Property

FlowChart.RerouteArrows Property
[image]

( [image] a feature of FlowChartX Pro edition)

Obsolete.

Syntax

VB6 [image] Copy Code

Public Property Get RerouteArrows() As ERerouteArrow
Public Property Let RerouteArrows( _
ByVal Value As ERerouteArrow _
)

C++ [image] Copy Code

public:
ERerouteArrow get_RerouteArrows ()
void put_RerouteArrows (
ERerouteArrow value
)

Property Value

A member of the ERerouteArrow enumeration.

Remarks

This property is now considered obsolete and its value is not used anymore; it will be removed from version 5 of the component. For tuning the routing algorithm use the members of the RoutingOptions class.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RestrObjsToDoc Property

FlowChart.RestrObjsToDoc Property
[image]

Gets or sets a value indicating whether items can be placed outside the diagram scrollable area.

Syntax

VB6 [image] Copy Code

Public Property Get RestrObjsToDoc() As ERestrictToDoc
Public Property Let RestrObjsToDoc( _
ByVal Value As ERestrictToDoc _
)

C++ [image] Copy Code

public:
ERestrictToDoc get_RestrObjsToDoc ()
void put_RestrObjsToDoc (
ERestrictToDoc value
)

Property Value

A member of the ERestrictToDoc enumeration. The default is rdIntersection.

Remarks

Controls whether a user can drag diagram items outside document area set by SetDocSize method. Possible values are:

  • rdNoRestriction - there's no restriction and the user is able to drag the objects outside the document, but when completely out, an object is not visible and the user is not able to access it.
  • rdIntersection - part of the objects can be outside the document area.
  • rdInsideOnly - the object should be completely inside the document.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RoundedArrows Property

FlowChart.RoundedArrows Property
[image]

Gets or sets a value indicating whether the joins between segments of Polyline and Cascading arrows should be rounded.

Syntax

VB6 [image] Copy Code

Public Property Get RoundedArrows() As Boolean
Public Property Let RoundedArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RoundedArrows ()
void put_RoundedArrows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

The value of this property is considered when drawing arrows whose Style is set to asPolyline or asPerpendicular. If the property is enabled, the joins between the segments of all such arrows are drawn as arcs, whose radius equals the value of RoundedArrowsRadius.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ArrowCrossings Property
ArrowStyle Property


FlowChartPro.FlowChart.RoundedArrowsRadius Property

FlowChart.RoundedArrowsRadius Property
[image]

Gets or sets the radius of arc joins of rounded arrows' segments.

Syntax

VB6 [image] Copy Code

Public Property Get RoundedArrowsRadius() As Single
Public Property Let RoundedArrowsRadius( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_RoundedArrowsRadius ()
void put_RoundedArrowsRadius (
float value
)

Property Value

A float value. The default is 40.

Remarks

The value of this property is used when RoundedArrows is enabled. It specifies the radius of the arcs drawn as joins between arrow segments.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RouteArrows Property

FlowChart.RouteArrows Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the default value for the AutoRoute property of new arrows.

Syntax

VB6 [image] Copy Code

Public Property Get RouteArrows() As Boolean
Public Property Let RouteArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RouteArrows ()
void put_RouteArrows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Provides default value for the AutoRoute property of arrows. Routed arrows avoid Obstacle nodes by finding the shortest path between their origin and destination that does not intersect the nodes.

Arrows having their AutoRoute property enabled are re-routed if they intersect with newly created nodes. Thus when constructing a large diagram programmatically, each arrow might be re-routed many times, once for each call to CreateBox or CreateTable whose location arguments collide with arrow's bounding rectangle. That might slow down diagram creation a lot. To avoid it, first create all nodes, and afterwards the arrows; that requires a single calculation for each arrow's route.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RoutingOptions Property


FlowChartPro.FlowChart.RoutingGridSize Property

FlowChart.RoutingGridSize Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get RoutingGridSize() As Long
Public Property Let RoutingGridSize( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_RoutingGridSize ()
void put_RoutingGridSize (
int value
)

Property Value

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RoutingOptions Property

FlowChart.RoutingOptions Property
[image]

Gets an object which allows customizing various parameters of the link routing algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get RoutingOptions() As RoutingOptions

C++ [image] Copy Code

public:
RoutingOptions* get_RoutingOptions ()

Property Value

An instance of the RoutingOptions class.

Remarks

Allows customizing various parameters of the link routing algorithm.

Example

To have as few link crossings as possible, assign a large value to the CrossingCost member of RoutingOptions:

VB6 [image] Copy Code

fcx.RoutingOptions.CrossingCost = 200
fcx.RouteAllArrows

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RouteAllArrows Method
Arrow.AutoRoute Property


FlowChartPro.FlowChart.RowHighlightColor Property

FlowChart.RowHighlightColor Property
[image]

Gets or sets the color used to fill highlighted table rows.

Syntax

C# [image] Copy Code

public virtual uint RowHighlightColor { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property RowHighlightColor As UInteger

Property Value

A color value. The default is RGB: 185, 209, 234

Remarks

Rows indicated by HighlightedRow property of tables are painted using this color.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AutoHighlightRows Property


FlowChartPro.FlowChart.ScriptHelper Property

FlowChart.ScriptHelper Property
[image]

Gets an object which provides various utility methods that can be used in a web page script.

Syntax

VB6 [image] Copy Code

Public Property Get ScriptHelper() As ScriptHelper

C++ [image] Copy Code

public:
ScriptHelper* get_ScriptHelper ()

Property Value

An instance of the ScriptHelper class.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ScrollRate Property

FlowChart.ScrollRate Property
[image]

Gets or sets the rate of scrolling, used when a scrollbar button is clicked.

Syntax

VB6 [image] Copy Code

Public Property Get ScrollRate() As Integer
Public Property Let ScrollRate( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ScrollRate ()
void put_ScrollRate (
short value
)

Property Value

A short value. The default is 1.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ScrollX Property

FlowChart.ScrollX Property
[image]

Gets or sets the current horizontal scroll position.

Syntax

VB6 [image] Copy Code

Public Property Get ScrollX() As Long
Public Property Let ScrollX( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ScrollX ()
void put_ScrollX (
int value
)

Property Value

A long value. The default is 0.

Remarks

Sets or gets the horizontal scroll position of the document.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ScrollY Property

FlowChart.ScrollY Property
[image]

Gets or sets the current vertical scroll position.

Syntax

VB6 [image] Copy Code

Public Property Get ScrollY() As Long
Public Property Let ScrollY( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ScrollY ()
void put_ScrollY (
int value
)

Property Value

A long value. The default is 0.

Remarks

Sets or gets the vertical scroll position of the document.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ScrollZoneSize Property

FlowChart.ScrollZoneSize Property
[image]

Gets or sets the size of the auto scroll zone near the edges of the control.

Syntax

VB6 [image] Copy Code

Public Property Get ScrollZoneSize() As Integer
Public Property Let ScrollZoneSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ScrollZoneSize ()
void put_ScrollZoneSize (
short value
)

Property Value

A short value. The default is 0.

Remarks

Specifies the size of the area near the control's borders in which auto-scrolling is triggered by moving the mouse pointer there. AutoScroll must be enabled in order for this property to has any effect. If ScrollZoneSize is greater than zero, then auto-scrolling starts by simply moving the mouse pointer near the borders. Otherwise, scrolling starts when the pointer moves outside the control's boundaries and FlowChartX has the mouse capture (i.e. when a user drags a diagram element outside the borders).

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AutoScrollType Property


FlowChartPro.FlowChart.SelectAfterCreate Property

FlowChart.SelectAfterCreate Property
[image]

Gets or sets a value indicating whether newly created items should be selected automatically.

Syntax

VB6 [image] Copy Code

Public Property Get SelectAfterCreate() As Boolean
Public Property Let SelectAfterCreate( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SelectAfterCreate ()
void put_SelectAfterCreate (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Set to true selects every newly created (programmatically or by users) object automatically.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectAfterPaste Property

FlowChart.SelectAfterPaste Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets a value indicating whether items pasted from the clipboard should be selected automatically.

Syntax

VB6 [image] Copy Code

Public Property Get SelectAfterPaste() As Boolean
Public Property Let SelectAfterPaste( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SelectAfterPaste ()
void put_SelectAfterPaste (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

When set to true, objects pasted from clipboard will get automatically selected. If false the current selection won't change on paste.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectedArrows Property

FlowChart.SelectedArrows Property
[image]

Gets a collection of the currently selected arrows.

Syntax

VB6 [image] Copy Code

Public Property Get SelectedArrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_SelectedArrows ()

Property Value

A collection of Arrow objects.

Remarks

Through this collection you can enumerate them and have access to the properties and methods of each selected arrow. If no arrow is selected, the collection Count property is zero.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectedBoxes Property

FlowChart.SelectedBoxes Property
[image]

Gets a collection of the currently selected boxes.

Syntax

VB6 [image] Copy Code

Public Property Get SelectedBoxes() As IBoxes

C++ [image] Copy Code

public:
IBoxes* get_SelectedBoxes ()

Property Value

A collection of Box objects.

Remarks

Through this collection you can enumerate them and have access to the properties and methods of each selected box. If no box is selected, the collection Count property is zero.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectedDecorations Property

FlowChart.SelectedDecorations Property
[image]

Gets a collection of the currently selected decorations.

Syntax

VB6 [image] Copy Code

Public Property Get SelectedDecorations() As IDecorations

C++ [image] Copy Code

public:
IDecorations* get_SelectedDecorations ()

Property Value

A collection of DecorationLine objects.

Remarks

Through this collection you can enumerate them and have access to the properties and methods of each selected decoration. If no decoration is selected, the collection Count property is zero.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectedTables Property

FlowChart.SelectedTables Property
[image]

Gets a collection of the currently selected tables.

Syntax

VB6 [image] Copy Code

Public Property Get SelectedTables() As ITables

C++ [image] Copy Code

public:
ITables* get_SelectedTables ()

Property Value

A collection of Table objects.

Remarks

Through this collection you can enumerate them and have access to the properties and methods of each selected table. If no table is selected, the collection Count property is zero.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectionOnTop Property

FlowChart.SelectionOnTop Property
[image]

Gets or sets a value indicating whether selected items should be painted on top of other items.

Syntax

VB6 [image] Copy Code

Public Property Get SelectionOnTop() As Boolean
Public Property Let SelectionOnTop( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SelectionOnTop ()
void put_SelectionOnTop (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If SelectionOnTop is enabled, selected items are painted over non-selected ones, ignoring the Z order position specified in ZIndex. If disabled, the items are painted as set in the Z order.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ActiveBox Property
ActiveTable Property
ActiveArrow Property


FlowChartPro.FlowChart.SelectionOptions Property

FlowChart.SelectionOptions Property
[image]

Settings for multiple selection.

Syntax

VB6 [image] Copy Code

Public Property Get SelectionOptions() As SelectionOptions

C++ [image] Copy Code

public:
SelectionOptions* get_SelectionOptions ()

Property Value

An instance of the SelectionOptions class.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MultiSelStyle Property


FlowChartPro.FlowChart.SelHandleSize Property

FlowChart.SelHandleSize Property
[image]

Gets or sets the size of selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get SelHandleSize() As Single
Public Property Let SelHandleSize( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_SelHandleSize ()
void put_SelHandleSize (
float value
)

Property Value

A float value. The default is 9.

Remarks

Use this property to set the size of the manipulation handles displayed around selected objects. In addition to specifying how big the handles look, this value also defines the size of the manipulation hot-spots which let users modify selected objects. The property specifies a size measured in the units set in MeasureUnit.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SelMnpColor Property
ModificationStart Property


FlowChartPro.FlowChart.SelMnpColor Property

FlowChart.SelMnpColor Property
[image]

Gets or sets the color of selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get SelMnpColor() As Long
Public Property Let SelMnpColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_SelMnpColor ()
void put_SelMnpColor (
unsigned int value
)

Property Value

A color value. The default is RGB:170,170,170 (gray).

Remarks

Specifies the color of the manipulation handles displayed around selected objects.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SelHandleSize Property


FlowChartPro.FlowChart.ShadowColor Property

FlowChart.ShadowColor Property
[image]

Gets or sets the color used to paint shadows.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowColor() As Long
Public Property Let ShadowColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ShadowColor ()
void put_ShadowColor (
unsigned int value
)

Property Value

A color value. The default is RGB:170,170,170 (gray).

Remarks

Gets or sets the color used to paint item shadows.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ShadowColorAlpha Property


FlowChartPro.FlowChart.ShadowColorAlpha Property

FlowChart.ShadowColorAlpha Property
[image]

Gets or sets the alpha channel value of the default shadow color.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowColorAlpha() As Integer
Public Property Let ShadowColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ShadowColorAlpha ()
void put_ShadowColorAlpha (
short value
)

Property Value

A byte value. The default is 150.

Remarks

Specifies the alpha component of ShadowColor. Alpha values, ranging from 0 to 255, represent transparency to graphics already rendered behind a shadow. 255 means no transparency at all; 0 means full transparency; all other values specify that alpha-blending should be used to mix ShadowColor with background pixels colors. Alpha-blending can be used only if the GDI+ graphics engine is enabled.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.FlowChart.ShadowOffsetX Property

FlowChart.ShadowOffsetX Property
[image]

Gets or sets the default horizontal offset of shadows from the objects that cast them.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetX() As Long
Public Property Let ShadowOffsetX( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetX ()
void put_ShadowOffsetX (
int value
)

Property Value

A long value. The default is 3.

Remarks

Sets default horizontal offset for shadows in relation to their corresponding objects.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShadowOffsetY Property

FlowChart.ShadowOffsetY Property
[image]

Gets or sets the default vertical offset of shadows from the objects that cast them.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetY() As Long
Public Property Let ShadowOffsetY( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetY ()
void put_ShadowOffsetY (
int value
)

Property Value

A long value. The default is 3.

Remarks

Sets default vertical offset for shadows in relation to their corresponding objects.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShadowsStyle Property

FlowChart.ShadowsStyle Property
[image]

Gets or sets the appearance style of shadows.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowsStyle() As EShadowsStyle
Public Property Let ShadowsStyle( _
ByVal Value As EShadowsStyle _
)

C++ [image] Copy Code

public:
EShadowsStyle get_ShadowsStyle ()
void put_ShadowsStyle (
EShadowsStyle value
)

Property Value

A member of the EShadowsStyle enumeration. The default is shdOneLevel.

Remarks

Controls how shadows are drawn with respect to Z order. If set to shdOneLevel the object shadows are drawn at the lowest Z level under all objects, which makes them look as on single Z level. If set to shdZOrder each shadow is drawn immediately under its corresponding object, possibly covering parts of other objects, which gives more 3D-like look to the diagram.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShapeLibCount Property

FlowChart.ShapeLibCount Property
[image]

Gets the number of registered shape libraries.

Syntax

VB6 [image] Copy Code

Public Property Get ShapeLibCount() As Long

C++ [image] Copy Code

public:
int get_ShapeLibCount ()

Property Value

A long value indicating the number of registered shape libraries.

Remarks

Gets the number of registered shape libraries, available for your application. The libraries should be loaded and registered with the FlowChartX rendering engine using the LoadShapeLib method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShapeOrientation Property

FlowChart.ShapeOrientation Property
[image]

Gets or sets the default rotation angle to be applies to a box shape definition.

Syntax

VB6 [image] Copy Code

Public Property Get ShapeOrientation() As Integer
Public Property Let ShapeOrientation( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ShapeOrientation ()
void put_ShapeOrientation (
short value
)

Property Value

A short value. The allowed values are 0/90/180/270. The default is 0.

Remarks

The default rotation angle to be applied on a box Shape, when the DefaultShape template is applied on a newly created box.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Shapes Property

FlowChart.Shapes Property
[image]

Gets the list of available shape templates.

Syntax

VB6 [image] Copy Code

Public Property Get Shapes( _
ByVal Index As Object _
) As ShapeTemplate

C++ [image] Copy Code

public:
ShapeTemplate* get_Shapes (
IDispatch* Index
)

Parameters

Index
The id of the shape to get.

Property Value

A reference to a ShapeTemplate object.

Remarks

Contains all shape templates that are defined currently. Initially there are 87 predefined shapes available. If a new ShapeTemplate is created, it is added to the array once CompleteDefinition is invoked. Members of the array can be indexed either by their ordinal number or by their string identifier ShapeId.

A shape template can be assigned to the Shape property of boxes.

Example

The example below shows how to assign the predefined Delay shape to the active diagram node. Look at the Palette sample installed with FlowChartX to see how all the existing shapes can be enumerated. That sample might be used as a reference showing what shape identifier corresponds to each predefined shape.

VB6 [image] Copy Code

fcx.ActiveBox.Shape = fcx.Shapes("Delay")
fcx.ActiveBox.ShapeOrientation = 0

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
DefaultShape Property


FlowChartPro.FlowChart.ShowAnchors Property

FlowChart.ShowAnchors Property
[image]

Gets or sets a value indicating when anchor points should be displayed.

Syntax

VB6 [image] Copy Code

Public Property Get ShowAnchors() As EShowAnchors
Public Property Let ShowAnchors( _
ByVal Value As EShowAnchors _
)

C++ [image] Copy Code

public:
EShowAnchors get_ShowAnchors ()
void put_ShowAnchors (
EShowAnchors value
)

Property Value

A member of the EShowAnchors enumeration The default is saAuto.

Remarks

Sets or gets whether to display anchor points on screen. The following values can be set, either stand-alone or combined via bitwise "or" operation:

saAlways | Anchor points are always visible.
saNever | Anchor points are never visible.
saAuto | Anchor points of the currently pointed node are automatically displayed.
saSelected | Anchor points of the active item are always visible.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AnchorPattern Class
SnapToAnchor Property


FlowChartPro.FlowChart.ShowDisabledHandles Property

FlowChart.ShowDisabledHandles Property
[image]

Gets or sets a value indicating whether disabled selection handles should be visible.

Syntax

VB6 [image] Copy Code

Public Property Get ShowDisabledHandles() As Boolean
Public Property Let ShowDisabledHandles( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowDisabledHandles ()
void put_ShowDisabledHandles (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If set to false, disabled manipulation handles aren't drawn. Otherwise they are painted with the DisabledMnpColor color. See MnpHandlesMask for more information.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShowFocusFrame Property

FlowChart.ShowFocusFrame Property
[image]

Gets or sets a value indicating whether to draw a focus frame near the control's edges.

Syntax

VB6 [image] Copy Code

Public Property Get ShowFocusFrame() As Boolean
Public Property Let ShowFocusFrame( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowFocusFrame ()
void put_ShowFocusFrame (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether a standard Windows focus frame is drawn around FlowChartX' window when it owns the keyboard input focus.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShowGrid Property

FlowChart.ShowGrid Property
[image]

Gets or sets a value indicating whether the alignment grid should be visible.

Syntax

VB6 [image] Copy Code

Public Property Get ShowGrid() As Boolean
Public Property Let ShowGrid( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowGrid ()
void put_ShowGrid (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set to true makes the grid point visible.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShowShadows Property

FlowChart.ShowShadows Property
[image]

Gets or sets a value indicating whether shadows should be visible.

Syntax

VB6 [image] Copy Code

Public Property Get ShowShadows() As Boolean
Public Property Let ShowShadows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowShadows ()
void put_ShowShadows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If set to true, diagram items have shadows drawn below them. The shadow offset can be specified through the SetShadowOffset method.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ShowToolTips Property

FlowChart.ShowToolTips Property
[image]

Gets or sets a value indicating whether to display tooltips.

Syntax

VB6 [image] Copy Code

Public Property Get ShowToolTips() As Boolean
Public Property Let ShowToolTips( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowToolTips ()
void put_ShowToolTips (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

With property value true and mouse cursor placed for several seconds above a box or a table a tool-tip appears. Use the Box.ToolTip and Table.ToolTip properties to set text to be displayed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SnapDistance Property

FlowChart.SnapDistance Property
[image]

Gets or sets the maximum distance between control points at which they can be automatically aligned.

Syntax

VB6 [image] Copy Code

Public Property Get SnapDistance() As Long
Public Property Let SnapDistance( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_SnapDistance ()
void put_SnapDistance (
int value
)

Property Value

A long value. The default is 20.

Remarks

Specifies the maximum distance between control-points of diagram objects, at which snapping/alignment will be performed. Big value for this property makes objects snap one to another from larger distance. Do not make the value too big though, because in denser diagrams the object being modified would frequently "jump" between the objects that surround him.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SnapStyle Property

FlowChart.SnapStyle Property
[image]

Gets or sets the automatic object alignment style.

Syntax

VB6 [image] Copy Code

Public Property Get SnapStyle() As ESnapStyle
Public Property Let SnapStyle( _
ByVal Value As ESnapStyle _
)

C++ [image] Copy Code

public:
ESnapStyle get_SnapStyle ()
void put_SnapStyle (
ESnapStyle value
)

Property Value

A member of the ESnapStyle enumeration. The default is snpNone.

Remarks

Specifies if and how objects are aligned one to another, while users are moving or modifying them. Calculations for object-alignment would require a lot of processor time, if there are many diagram elements. That's why alignment is turned off by default. The following snap-modes are available:

  • snpNone - objects are not aligned at all;
  • snpCtrlPtToCtrlPt - objects are aligned by snapping their control points;
  • snpBorderToBorder - objects snap by their borders;
  • snpAlignmentGuides - node sides are made collinear with help of alignment guides;

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SnapDistance Property
AlignmentGuideColor Property
AlignmentGuideStyle Property
AlignToGrid Property


FlowChartPro.FlowChart.SnapToAnchor Property

FlowChart.SnapToAnchor Property
[image]

Gets or sets in which situations arrows should snap to the nearest anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get SnapToAnchor() As ESnapToAnchor
Public Property Let SnapToAnchor( _
ByVal Value As ESnapToAnchor _
)

C++ [image] Copy Code

public:
ESnapToAnchor get_SnapToAnchor ()
void put_SnapToAnchor (
ESnapToAnchor value
)

Property Value

A member of the ESnapToAnchor enumeration. The default is saOnCreate.

Remarks

Specifies when arrow ends snap to nearest anchor point. Possible values are saOnCreate and saOnCreateOrModify.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AnchorPattern Class
ShowAnchors Property


FlowChartPro.FlowChart.StaticMode Property

FlowChart.StaticMode Property
[image]

Gets or sets a value indicating whether user interaction with the control is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get StaticMode() As Boolean
Public Property Let StaticMode( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_StaticMode ()
void put_StaticMode (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If set to true, any user-manipulation of diagram items is prevented. Yet, items can be modified via properties and methods calls.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
KbdActive Property


FlowChartPro.FlowChart.TableCaption Property

FlowChart.TableCaption Property
[image]

Gets or sets the default caption text of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableCaption() As String
Public Property Let TableCaption( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_TableCaption ()
void put_TableCaption (
BSTR value
)

Property Value

A string value. The default is "Table".

Remarks

Default value for the Caption property of new tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCaptionHeight Property

FlowChart.TableCaptionHeight Property
[image]

Gets or sets the default caption area height of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableCaptionHeight() As Long
Public Property Let TableCaptionHeight( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TableCaptionHeight ()
void put_TableCaptionHeight (
int value
)

Property Value

A long value. The default is 22.

Remarks

Default value for the CaptionHeight property of new tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCellBorders Property

FlowChart.TableCellBorders Property
[image]

Gets or sets the style of cell frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get TableCellBorders() As ECellBorders
Public Property Let TableCellBorders( _
ByVal Value As ECellBorders _
)

C++ [image] Copy Code

public:
ECellBorders get_TableCellBorders ()
void put_TableCellBorders (
ECellBorders value
)

Property Value

A member of the ECellBorders enumeration.

Remarks

Default value for the CellBorders property of new tables.

  • cbNone - no borders are rendered around cells;
  • cbSimple - the cells have single-line borders;
  • cbSystem3D - cell borders are rendered as 3D edges using system colors;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableColumnsCount Property

FlowChart.TableColumnsCount Property
[image]

Gets or sets the default number of table columns.

Syntax

VB6 [image] Copy Code

Public Property Get TableColumnsCount() As Long
Public Property Let TableColumnsCount( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TableColumnsCount ()
void put_TableColumnsCount (
int value
)

Property Value

A long value. The default is 2.

Remarks

Default value for the ColumnsCount property of the new tables that the user creates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableColWidth Property

FlowChart.TableColWidth Property
[image]

Gets or sets the default table column width.

Syntax

VB6 [image] Copy Code

Public Property Get TableColWidth() As Long
Public Property Let TableColWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TableColWidth ()
void put_TableColWidth (
int value
)

Property Value

A long value. The default is 50.

Remarks

Default value for the column widths of new tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableFillColor Property

FlowChart.TableFillColor Property
[image]

Gets or sets the default fill color of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableFillColor() As Long
Public Property Let TableFillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TableFillColor ()
void put_TableFillColor (
unsigned int value
)

Property Value

A color value. The default is RGB:180,160,160 (gray).

Remarks

Default value for the FillColor property of newly created tables.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method
RowHighlightColor Property


FlowChartPro.FlowChart.TableFillColorAlpha Property

FlowChart.TableFillColorAlpha Property
[image]

Gets or sets the alpha channel value of tables' default fill color.

Syntax

VB6 [image] Copy Code

Public Property Get TableFillColorAlpha() As Integer
Public Property Let TableFillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_TableFillColorAlpha ()
void put_TableFillColorAlpha (
short value
)

Property Value

A byte value. The default is 255.

Remarks

Default value for the FillColorAlpha property of newly created tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableFrameColor Property

FlowChart.TableFrameColor Property
[image]

Gets or sets the default frame color of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableFrameColor() As Long
Public Property Let TableFrameColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TableFrameColor ()
void put_TableFrameColor (
unsigned int value
)

Property Value

A color value. The default is RGB:0,0,0 (black).

Remarks

Default value for the FrameColor property of newly created tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableLinkStyle Property

FlowChart.TableLinkStyle Property
[image]

Gets or sets the default relation style of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableLinkStyle() As ETableLinkStyle
Public Property Let TableLinkStyle( _
ByVal Value As ETableLinkStyle _
)

C++ [image] Copy Code

public:
ETableLinkStyle get_TableLinkStyle ()
void put_TableLinkStyle (
ETableLinkStyle value
)

Property Value

A member of the ETableLinkStyle enumeration.

Remarks

This property specifies a default value assigned to the LinkStyle property of newly created tables. Possible values are:

  • tlsRows - relation ends are the rows of a table. An arrow connected to the table is linked to a particular row. This mode is convenient for database diagrams.
  • tlsTable - relations target the table as a whole entity, and not any particular row. This mode is convenient for class diagrams.
  • tlsBoth - a mixed mode where arrows can target either a row of the table or the table itself.

Programmatically, arrows can be linked to a table in any way, regardless of tables' LinkStyle. LinkStyle value is considered only when end-users draw arrows to or from a table. To link to a table as an entity and not to a specific row, pass -1 as row argument of the CreateLink or CreateRelation methods.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableRowHeight Property

FlowChart.TableRowHeight Property
[image]

Gets or sets the default height of table rows.

Syntax

VB6 [image] Copy Code

Public Property Get TableRowHeight() As Long
Public Property Let TableRowHeight( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TableRowHeight ()
void put_TableRowHeight (
int value
)

Property Value

A long value. The default is 22.

Remarks

Default value for the row heights of new tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableRowsCount Property

FlowChart.TableRowsCount Property
[image]

Gets or sets the default number of table rows.

Syntax

VB6 [image] Copy Code

Public Property Get TableRowsCount() As Long
Public Property Let TableRowsCount( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TableRowsCount ()
void put_TableRowsCount (
int value
)

Property Value

A long value. The default is 4.

Remarks

Default value for the RowsCount property of the new tables that the user creates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Tables Property

FlowChart.Tables Property
[image]

Gets a collection of all tables in the flowchart.

Syntax

VB6 [image] Copy Code

Public Property Get Tables() As ITables

C++ [image] Copy Code

public:
ITables* get_Tables ()

Property Value

A collection of Table objects.

Remarks

A collection of all the tables in current FlowChartX document. You can iterate over them using Count and Item properties or you can get standard enumerator object (IEnumVariant) using _NewEnum. Visual Basic gives access to this enumerator with the 'for each' statement.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableSelStyle Property

FlowChart.TableSelStyle Property
[image]

Gets or sets the value of the SelStyle property of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableSelStyle() As ESelStyle
Public Property Let TableSelStyle( _
ByVal Value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_TableSelStyle ()
void put_TableSelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration. The default is sstDashFrame.

Remarks

Default value for the SelStyle property of new tables created either programmatically or by the user. That property specifies how selected tables are indicated visually, and how they can be moved, resized or linked to other objects.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TablesScrollable Property

FlowChart.TablesScrollable Property
[image]

Gets or sets a value indicating whether new tables should be scrollable by default.

Syntax

VB6 [image] Copy Code

Public Property Get TablesScrollable() As Boolean
Public Property Let TablesScrollable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_TablesScrollable ()
void put_TablesScrollable (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Default value for Scrollable property of new tables.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableStyle Property

FlowChart.TableStyle Property
[image]

Gets or sets the new style of new tables.

Syntax

VB6 [image] Copy Code

Public Property Get TableStyle() As ETableStyle
Public Property Let TableStyle( _
ByVal Value As ETableStyle _
)

C++ [image] Copy Code

public:
ETableStyle get_TableStyle ()
void put_TableStyle (
ETableStyle value
)

Property Value

A member of the ETableStyle enumeration. The default is tsRect.

Remarks

Default value for the Style property of new tables created either programmatically or by a user.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TextColor Property

FlowChart.TextColor Property
[image]

Gets or sets the default text color.

Syntax

VB6 [image] Copy Code

Public Property Get TextColor() As Long
Public Property Let TextColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TextColor ()
void put_TextColor (
unsigned int value
)

Property Value

A color value. The default is RGB:0,0,0 (black).

Remarks

Defines default text color for new boxes and arrows.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TextStyle Property

FlowChart.TextStyle Property
[image]

Gets or sets the default text style.

Syntax

VB6 [image] Copy Code

Public Property Get TextStyle() As ETextStyle
Public Property Let TextStyle( _
ByVal Value As ETextStyle _
)

C++ [image] Copy Code

public:
ETextStyle get_TextStyle ()
void put_TextStyle (
ETextStyle value
)

Property Value

A member of the ETextStyle enumeration. The default is tsCenter.

Remarks

Defines default text alignment for new boxes. The following values can be assigned to this property:

tsCenter | Single line of text, centered horizontally and vertically.
tsTop | Horizontally centered line of text at the top of a box.
tsBottom | Horizontally centered line of text at the bottom of a box.
tsLeft | Vertically centered line of text starting at the left side of a box.
tsRight | Vertically centered line of text ending at the right side of a box.
tsLeftML | Multiple left-aligned lines of text.
tsRightML | Multiple right-aligned lines of text
tsCenterML | Multiple horizontally centered lines of text
tsBelow | Text is displayed below a box, as with desktop icons. The maximal width of the text can be changed via IconTextWidth.
tsFitPolyTop | Text is formatted inside a polygonal shape, starting from the top. Valid for boxes of Style bsPolygon and bsShape.
tsFitPolyCenter | Text is formatted inside a polygonal shape, centered vertically. Valid for boxes of Style bsPolygon and bsShape.
tsFitPolyBottom | Text is formatted inside a polygonal shape, starting from the bottom. Valid for boxes of Style bsPolygon and bsShape.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ToolTipAutoPop Property

FlowChart.ToolTipAutoPop Property
[image]

Gets or sets the length of time in milliseconds the ToolTip window remains visible if the pointer is not moved.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTipAutoPop() As Long
Public Property Let ToolTipAutoPop( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ToolTipAutoPop ()
void put_ToolTipAutoPop (
int value
)

Property Value

A long value. The default is the system setting for tool-tip pop time.

Remarks

The delay is specified in milliseconds.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ToolTipDelay Property
Arrow.ToolTip Property
Box.ToolTip Property
Table.ToolTip Property


FlowChartPro.FlowChart.ToolTipDelay Property

FlowChart.ToolTipDelay Property
[image]

Gets or sets the time that passes before a tool-tip appears when the mouse hovers over an item.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTipDelay() As Long
Public Property Let ToolTipDelay( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ToolTipDelay ()
void put_ToolTipDelay (
int value
)

Property Value

A long value. The default is the system setting for tool-tip delay.

Remarks

The delay is specified in milliseconds.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ShowToolTips Property
ToolTipAutoPop Property
Arrow.ToolTip Property
Box.ToolTip Property
Table.ToolTip Property


FlowChartPro.FlowChart.ToolTipStyle Property

FlowChart.ToolTipStyle Property
[image]

Gets or sets the style of tooltips.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTipStyle() As Long
Public Property Let ToolTipStyle( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ToolTipStyle ()
void put_ToolTipStyle (
int value
)

Property Value

A long value. The default is 0.

Remarks

Defines the window style of the tooltip control that pops-up above nodes. Any combination of constants defined in the Windows API header files can be used: TTS_BALLOON, TTS_NOANIMATE, TTS_NOFADE, TTS_NOPREFIX, etc. The constants are defined as:

C++ [image] Copy Code

#define TTS_ALWAYSTIP 0x01
#define TTS_NOPREFIX 0x02
#define TTS_NOANIMATE 0x10
#define TTS_NOFADE 0x20
#define TTS_BALLOON 0x40
#define TTS_CLOSE 0x80

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.UndoDepth Property

FlowChart.UndoDepth Property
[image]

( [image] a feature of FlowChartX Pro edition)

Gets or sets the size of the undo/redo queue.

Syntax

VB6 [image] Copy Code

Public Property Get UndoDepth() As Long
Public Property Let UndoDepth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_UndoDepth ()
void put_UndoDepth (
int value
)

Property Value

A long value.

Remarks

Sets the maximum size of the undo-history queue. When the queue is full and a new modification is recorded the oldest operation is removed from the queue. Undo/redo functionality is disabled if the queue size is set to zero.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.VariantTag Property

FlowChart.VariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with this flowchart.

Syntax

VB6 [image] Copy Code

Public Property Get VariantTag() As Object
Public Property Let VariantTag( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_VariantTag ()
void put_VariantTag (
IDispatch* value
)

Property Value

A COM VARIANT structure.

Remarks

Contains user defined data that can be represented with a VARIANT structure. When saving binary files, this property is automatically serialized if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANTs. When serializing to XML, the control raises the SerializeTag event to let you save the property value.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ZoomFactor Property

FlowChart.ZoomFactor Property
[image]

Gets or sets the diagram scale factor.

Syntax

VB6 [image] Copy Code

Public Property Get ZoomFactor() As Integer
Public Property Let ZoomFactor( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ZoomFactor ()
void put_ZoomFactor (
short value
)

Property Value

A short value. The default is 100.

Remarks

Sets the zoom factor for displaying the flowchart, measured in percent. 100 means no zooming. Values greater than 100 make objects appear closer, less than 100 - further.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MeasureUnit Property
ScrollX Property
ScrollY Property


FlowChartPro.FlowChart Events

FlowChart Events
[image]

Public Events

Name | Description
ActionRedone | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is redone.
ActionUndone | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is undone.
ArrowClicked | Occurs when an arrow is clicked with the mouse.
ArrowCreated | Occurs when the user draws a new arrow.
ArrowDblClicked | Occurs when an arrow is double-clicked with the mouse.
ArrowDeleted | Occurs when an arrow is deleted, either programmatically or by end-users.
ArrowDestChanged | Raised when a user moves the end point of an arrow and connects it to a different destination node.
ArrowLabelEdited | Raised when the user edits the text of an arrow's label.
ArrowModified | Raised when the user moves an arrow control point.
ArrowModifying | Occurs while an Arrow is being moved or resized.
ArrowOrgChanged | Raised when an user moves the start point of an arrow and connects it to a different origin node.
ArrowSelected | Occurs when an arrow is selected.
ArrowSelectionLost | Occurs when an Arrow is deselected.
ArrowTextEdited | Raised when the user edits the text of an arrow.
BoxClicked | Occurs when a box is clicked with the mouse.
BoxCollapsed | Raised when a user collapses a tree of items, whose root is the box passed as an argument.
BoxCreated | Occurs when the user draws a new box.
BoxDblClicked | Occurs when a box is double-clicked with the mouse.
BoxDeleted | Occurs when a box is deleted, either programmatically or by end-users.
BoxExpanded | Raised when a user expands a tree of items.
BoxModified | Raised when the user moves or resizes a box.
BoxModifying | Occurs while a Box is being moved or resized.
BoxSelected | Occurs when a box is selected, either programmatically or by end-users.
BoxSelectionLost | Occurs when a Box is deselected.
BoxTextEdited | Occurs when the text of a box is edited in-place by the user.
CellTextEdited | Occurs when the text of a table's cell is edited in-place by the user.
Clicked | Raised when the control background is clicked.
CustomDraw | Occurs when a custom-draw box is painted.
DblClicked | Occurs when the user double-clicks the control.
DecorationClicked | Occurs when a decoration is clicked with the mouse.
DecorationCreated | Occurs when the user draws a new decoration.
DecorationDblClicked | Occurs when a decoration is double-clicked with the mouse.
DecorationDeleted | Occurs when a decoration is deleted, either programmatically or by the user.
DeserializeTag | Raised when a tag needs to be deserialized during loading.
DocBoundsChanged | Raised when the document is resized.
DocModified | Occurs when diagram elements are modified.
DragOverBox | Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControl.
DragOverBoxVB | Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControlVB.
DragOverDoc | Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControl.
DragOverDocVB | Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControlVB.
DragOverTable | Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControl.
DragOverTableVB | Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControlVB.
DrawArrow | Raised when an arrow must be custom drawn.
DrawMark | Raised to perform custom drawing of anchor points whose mark style is set to msCustom.
DrawSelHandles | Raised to allow custom drawing of selection handles.
DrawTable | Raised when a table must be custom drawn.
DropAccepted | Raised when a dragged data item is dropped over an unoccupied area of the document.
DropAcceptedByBox | Raised when text or an image is dropped into a box.
DropAcceptedByTable | Raised when text or an image is dropped into a table.
DropAcceptedByTableCell | Raised when text is dropped into a table cell.
DropInBox | Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControl.
DropInBoxVB | Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControlVB.
DropInDoc | Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControl.
DropInDocVB | Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControlVB.
DropInTable | Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControl.
DropInTableVB | Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControlVB.
FocusChanged | Raised when FlowChartX gains or loses the keyboard focus.
GroupDestroyed | Occurs when a group of objects is destroyed.
HitTestSelHandles | Raised to allow custom hit testing of selection handles.
InitializeArrow | Raised when a user starts drawing a new arrow, just after the Arrow object is created.
InitializeBox | Raised when an user starts drawing a new box, just after the Box object is created.
InitializeTable | Raised when an user starts drawing a new table, just after the Table object is created.
ItemsPasted | ( [image] a feature of FlowChartX Pro edition) Raised when an user pastes diagram items from the clipboard by pressing CTRL+V.
KeyDown | Raised when the user presses a key.
KeyPress | Raised when the user presses a key.
KeyUp | Raised when the user releases a key.
LayoutProgress | Raised regularly during execution of layout algorithms to allow tracking the layout progress.
MouseDown | Occurs when an user presses a mouse button over FlowChartX.
MouseMove | Raised periodically while the user moves the mouse.
MouseUp | Occurs when an user releases a mouse button over FlowChartX.
MouseWheel | Raised when the mouse wheel is rotated.
ObjAddToContainer | ( [image] a feature of FlowChartX Pro edition) Occurs if a diagram item is dropped into a container box.
ObjectDroppedInBox | Occurs if a diagram item or a selection of items is dropped into a box.
ObjectDroppedInTable | Occurs if a diagram item or a selection of items is dropped into a table.
ObjectModified | Occurs when an item is moved or resized.
ObjRemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Occurs if a diagram item is removed from a container box.
RequestAttachArrow | Raised when the user is moving an arrow end point over an object.
RequestCreateArrow | A validation event that is raised while users draw new arrows.
RequestCreateBox | A validation event that is raised while users draw new boxes.
RequestCreateTable | A validation event that is raised while users draw new tables.
RequestDeleteArrow | Raised before an arrow is deleted by the user, giving you a chance to cancel the operation.
RequestDeleteBox | Raised before a box is deleted by the user, giving you a chance to cancel the operation.
RequestDeleteTable | Raised before a table is deleted by the user, giving you a chance to cancel the operation.
RequestDrop | Raised when an image is dragged over empty document area.
RequestDropInBox | Raised when an image or text is dragged over a box.
RequestDropInTable | Raised when an image or text is dragged over a table.
RequestSelectArrow | Occurs when users try to select an arrow, giving you the chance to cancel the operation.
RequestSelectBox | Occurs when users try to select a box, giving you the chance to cancel the operation.
RequestSelectTable | Occurs when users try to select a table, giving you the chance to cancel the operation.
Scroll | Raised when a user scrolls the document area.
SelectionChanged | Occurs when items are added to or removed from selection.
SelectionMoved | Occurs when a selection of items is moved by the user.
SelObjAdded | Occurs when an object is added to multiple selection.
SelObjRemoved | Occurs when an object is removed from multiple selection.
SerializeTag | Raised during serialization to convert user tags to strings.
SetSelfLoopShape | Raised when an arrow becomes a self-loop.
ShapeNotDefined | Raised when the diagram being loaded contains an undefined shape.
TableCaptionEdited | Raised just after in-place editing of the text of table's caption is completed.
TableCellClicked | Raised when the user clicks on a table cell.
TableCellDblClicked | Occurs when a cell of a table is double-clicked with the mouse.
TableCellStartDrag | Allows starting an OLE drag-and-drop operation form a table cell.
TableClicked | Occurs when a table is clicked with the mouse.
TableCollapsed | Raised when a user collapses a tree of items, whose root is the table passed as an argument.
TableColumnResized | Raised when the user finishes resizing a column in a table.
TableCreated | Occurs when the user draws a new table.
TableDblClicked | Occurs when a table is double-clicked with the mouse.
TableDeleted | Occurs when a table is deleted, either programmatically or by end-users.
TableExpanded | Raised when a user expands a tree of items.
TableModified | Raised when the user moves or resizes a table.
TableModifying | Occurs while a Table is being moved or resized.
TableRowResized | Raised when the user finishes resizing a row in a table.
TableSectionCollapsed | Raised when the "-" button in a header row of a table is clicked to collapse the rows under that header.
TableSectionExpanded | Raised when the "+" button in a header row of a table is clicked to expand the rows under that header.
TableSelected | Occurs when a table is selected.
TableSelectionLost | Occurs when a table loses selection.
UndoActionRecorded | ( [image] a feature of FlowChartX Pro edition) Occurs when an action is recorded in the undo history.

See Also

FlowChart Class


FlowChartPro.FlowChart.ActionRedone Event

FlowChart.ActionRedone Event
[image]

( [image] a feature of FlowChartX Pro edition)

Occurs when an action is redone.

Syntax

VB6 [image] Copy Code

Public Event ActionRedone

Event Data

Parameter | Type | Description
actionType | [input] EActionType enumeration | Specifies what kind of action is redone.
obj | [input] reference to an item | A diagram item affected by the action.
ID | [input] long | An identifier associated with custom undo records.

Dispatch ID: 85

Remarks

Raised when an action is redone, either programmatically or by a user. The type of the redone action is specified via the actionType argument. The following action types are currently supported by this event:

actCustom | A custom action is redone.
actCreate | Item creation is redone.
actDelete | Item deletion is redone.

For actCreate and actDelete actions, the obj argument refers to the item affected by the respective action. For actCustom actions, the ID argument identifies a custom undo record created via RecordCustomAction.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Redo Method
ActionUndone Event
KbdActive Property


FlowChartPro.FlowChart.ActionUndone Event

FlowChart.ActionUndone Event
[image]

( [image] a feature of FlowChartX Pro edition)

Occurs when an action is undone.

Syntax

VB6 [image] Copy Code

Public Event ActionUndone

Event Data

Parameter | Type | Description
actionType | [input] EActionType enumeration | Specifies what kind of action is undone.
obj | [input] reference to an item | A diagram item affected by the action.
ID | [input] long | An identifier associated with custom undo records.

Dispatch ID: 84

Remarks

Raised when an action is undone, either programmatically or by a user. The type of the undone action is specified via the actionType argument. The following action types are currently supported by this event:

actCustom | A custom action is undone.
actCreate | An item creation is undone.
actDelete | An item deletion is undone.

For actCreate and actDelete actions, the obj argument refers to the item affected by the respective action. For actCustom actions, the ID argument identifies a custom undo record created via RecordCustomAction.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Undo Method
ActionRedone Event
KbdActive Property


FlowChartPro.FlowChart.ArrowClicked Event

FlowChart.ArrowClicked Event
[image]

Occurs when an arrow is clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event ArrowClicked

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the arrow bounding rectangle.
y | [input] long | The y coordinate of the point inside the arrow bounding rectangle.

Dispatch ID: 18

Remarks

Raised when an arrow is clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the upper left corner of arrow's bounding rectangle and is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowCreated Event

FlowChart.ArrowCreated Event
[image]

Occurs when the user draws a new arrow.

Syntax

VB6 [image] Copy Code

Public Event ArrowCreated

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is created.

Dispatch ID: 8

Remarks

Raised when a user draws a new arrow. Reference to that arrow is passed as an argument to the event handler. To prevent the user from creating an arrow, use the RequestCreateArrow validation event.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
InitializeArrow Event
RequestCreateArrow Event
ArrowDeleted Event
ArrowModified Event


FlowChartPro.FlowChart.ArrowDblClicked Event

FlowChart.ArrowDblClicked Event
[image]

Occurs when an arrow is double-clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event ArrowDblClicked

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the arrow bounding rectangle.
y | [input] long | The y coordinate of the point inside the arrow bounding rectangle.

Dispatch ID: 19

Remarks

Raised when an arrow is double-clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the upper left corner of arrow's bounding rectangle and is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowDeleted Event

FlowChart.ArrowDeleted Event
[image]

Occurs when an arrow is deleted, either programmatically or by end-users.

Syntax

VB6 [image] Copy Code

Public Event ArrowDeleted

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is deleted.

Dispatch ID: 2

Remarks

Raised when an arrow is deleted, either by a user or programmatically. An arrow is automatically deleted if any of the nodes it connects is deleted.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
EventFlags Property


FlowChartPro.FlowChart.ArrowDestChanged Event

FlowChart.ArrowDestChanged Event
[image]

Raised when a user moves the end point of an arrow and connects it to a different destination node.

Syntax

VB6 [image] Copy Code

Public Event ArrowDestChanged

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow whose end is moved.
obj | [input] reference to a node | The box or table which was the destination of the arrow.

Dispatch ID: 62

Remarks

Raised when a user moves the end point of an arrow and connects it to a different destination node. The second parameter is a reference to the old destination object. The new destination can be accessed via the DestinationBox or DestinationTable property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowLabelEdited Event

FlowChart.ArrowLabelEdited Event
[image]

Raised when the user edits the text of an arrow's label.

Syntax

VB6 [image] Copy Code

Public Event ArrowLabelEdited

Event Data

Parameter | Type | Description
label | [input] reference to ArrowLabel object | The label whose text should be edited.
oldText | [input] string | The label's text before the modification.
newText | [input] string | The label's text after the modification.

Dispatch ID: 109

Remarks

Raised just after in-place editing of the label's Text is completed. To enable in-place editing, set the InplaceEditAllowed property to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowModified Event

FlowChart.ArrowModified Event
[image]

Raised when the user moves an arrow control point.

Syntax

VB6 [image] Copy Code

Public Event ArrowModified

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | Reference to the arrow then has been modified.
selHandle | [input] long | Index of the adjustment handle used to carry out the modification.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ArrowModifying Event


FlowChartPro.FlowChart.ArrowModifying Event

FlowChart.ArrowModifying Event
[image]

Occurs while an Arrow is being moved or resized.

Syntax

VB6 [image] Copy Code

Public Event ArrowModifying

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is being modified.
docX | [input] long | The mouse x position in document coordinates.
docY | [input] long | The mouse y position in document coordinates.
selHandle | [input] long | Index of the selection handle used to modify the arrow.
Confirm | [output] boolean | Specifies whether the user should be allowed to drop the arrow at the current mouse position.

Dispatch ID: 96

Remarks

This event is raised after each mouse movement while modifying an arrow. Setting Confirm to false will change the mouse cursor to a Stop icon, or to your custom icon set via SetMouseCursor. The event is raised once again when the mouse button is released. Setting Confirm to false in that case will cancel the modification and return the arrow to its original position.

The selection handle index corresponds to the index of the arrow control point that is being dragged.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ArrowModified Event


FlowChartPro.FlowChart.ArrowOrgChanged Event

FlowChart.ArrowOrgChanged Event
[image]

Raised when an user moves the start point of an arrow and connects it to a different origin node.

Syntax

VB6 [image] Copy Code

Public Event ArrowOrgChanged

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow whose end is moved.
obj | [input] reference to a node | The box or table which was the origin of the arrow.

Dispatch ID: 61

Remarks

Raised when an user moves the start point of an arrow and connects it to a different origin node. The second parameter is a reference to the old origin object. The new origin can be accessed via the OriginBox or OriginTable property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowSelected Event

FlowChart.ArrowSelected Event
[image]

Occurs when an arrow is selected.

Syntax

VB6 [image] Copy Code

Public Event ArrowSelected

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is selected.

Dispatch ID: 4

Remarks

Raised when a user selects an arrow, making it the ActiveArrow.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowSelectionLost Event

FlowChart.ArrowSelectionLost Event
[image]

Occurs when an Arrow is deselected.

Syntax

VB6 [image] Copy Code

Public Event ArrowSelectionLost

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that is deselected.

Dispatch ID: 6

Remarks

Raised when a user removes an arrow from multiple selection.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ArrowTextEdited Event

FlowChart.ArrowTextEdited Event
[image]

Raised when the user edits the text of an arrow.

Syntax

VB6 [image] Copy Code

Public Event ArrowTextEdited

Event Data

Parameter | Type | Description
arrow | [input] reference to Arrow object | The arrow whose text has been edited.
oldText | [input] string | The arrow's text before the modification.
newText | [input] string | The arrow's text after the modification.

Dispatch ID: 108

Remarks

Raised just after in-place editing of the arrow's Text is completed. To enable in-place editing, set the InplaceEditAllowed property to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxClicked Event

FlowChart.BoxClicked Event
[image]

Occurs when a box is clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event BoxClicked

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the box bounding rectangle.
y | [input] long | The y coordinate of the point inside the box bounding rectangle.

Dispatch ID: 20

Remarks

Raised when a box is clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the upper left corner of box' bounding rectangle and is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxCollapsed Event

FlowChart.BoxCollapsed Event
[image]

Raised when a user collapses a tree of items, whose root is the box passed as an argument.

Syntax

VB6 [image] Copy Code

Public Event BoxCollapsed

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The root of the collapsed tree.

Dispatch ID: 75

Remarks

Raised when a user collapses a tree of items, whose root is the box passed as an argument. Users are able to expand or collapse a tree of diagram items by clicking the +/- button on the right of boxes. This button is visible if the Expandable property of a box is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxCreated Event

FlowChart.BoxCreated Event
[image]

Occurs when the user draws a new box.

Syntax

VB6 [image] Copy Code

Public Event BoxCreated

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is created.

Dispatch ID: 7

Remarks

Raised when a user draws a new box. Reference to that box is passed as an argument to the event handler. To prevent the user from creating a box, use the RequestCreateBox validation event.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
InitializeBox Event
RequestCreateBox Event
BoxDeleted Event
BoxModified Event


FlowChartPro.FlowChart.BoxDblClicked Event

FlowChart.BoxDblClicked Event
[image]

Occurs when a box is double-clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event BoxDblClicked

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the box bounding rectangle.
y | [input] long | The y coordinate of the point inside the box bounding rectangle.

Dispatch ID: 21

Remarks

Raised when a box is double-clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the upper left corner of box' bounding rectangle and is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxDeleted Event

FlowChart.BoxDeleted Event
[image]

Occurs when a box is deleted, either programmatically or by end-users.

Syntax

VB6 [image] Copy Code

Public Event BoxDeleted

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is deleted.

Dispatch ID: 1

Remarks

Raised when a box is deleted, either by a user or programmatically.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxExpanded Event

FlowChart.BoxExpanded Event
[image]

Raised when a user expands a tree of items.

Syntax

VB6 [image] Copy Code

Public Event BoxExpanded

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The root of the expanded tree.

Dispatch ID: 74

Remarks

Raised when a user expands a tree of items, whose root is the box passed as an argument. Users are able to expand or collapse a tree of diagram items by clicking on the +/- button on the right of boxes. This button is visible if the Expandable property of a box is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxModified Event

FlowChart.BoxModified Event
[image]

Raised when the user moves or resizes a box.

Syntax

VB6 [image] Copy Code

Public Event BoxModified

Event Data

Parameter | Type | Description
box | [input] reference to a Box | Reference to the box that has been moved ot resized.
selHandle | [input] long | Index of the adjustment handle used to carry out the modification.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxModifying Event


FlowChartPro.FlowChart.BoxModifying Event

FlowChart.BoxModifying Event
[image]

Occurs while a Box is being moved or resized.

Syntax

VB6 [image] Copy Code

Public Event BoxModifying

Event Data

Parameter | Type | Description
box | [input] reference to a box | The box that is being modified.
docX | [input] long | The mouse x position in document coordinates.
docY | [input] long | The mouse y position in document coordinates.
selHandle | [input] long | The index of the selection handle used to modify the box.
Confirm | [output] boolean | Specifies whether the user should be allowed to drop the box at the current mouse position.

Dispatch ID: 95

Remarks

This event is raised after each mouse movement while modifying a box. Setting Confirm to false will change the mouse cursor to a Stop icon, or to your custom icon set via SetMouseCursor. The event is raised once again when the mouse button is released. Setting Confirm to false in that case will cancel the modification and return the box to its original position.

The selection handle index is set to 0, 1, 2, 3 if the box is modified via the corner resize handles; 4, 5, 6, 7 for the side center resize handles; 8 for the move handle; 9 for the rotation handle.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
BoxModified Event


FlowChartPro.FlowChart.BoxSelected Event

FlowChart.BoxSelected Event
[image]

Occurs when a box is selected, either programmatically or by end-users.

Syntax

VB6 [image] Copy Code

Public Event BoxSelected

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is selected.

Dispatch ID: 3

Remarks

Raised when a user selects a box, making it the ActiveBox.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxSelectionLost Event

FlowChart.BoxSelectionLost Event
[image]

Occurs when a Box is deselected.

Syntax

VB6 [image] Copy Code

Public Event BoxSelectionLost

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that is deselected.

Dispatch ID: 5

Remarks

Raised when a user removes an arrow from multiple-selection.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.BoxTextEdited Event

FlowChart.BoxTextEdited Event
[image]

Occurs when the text of a box is edited in-place by the user.

Syntax

VB6 [image] Copy Code

Public Event BoxTextEdited

Event Data

Parameters | Type | Description
box | [input] reference to Box object | The box whose text was edited.
oldText | [input] text | The text of the box before the modification.
newText | [input] text | The new text of the box.

Dispatch ID: 69

Remarks

Raised just after in-place editing of the text of a box is completed. To enable in-place editing set the InplaceEditAllowed property to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CellTextEdited Event

FlowChart.CellTextEdited Event
[image]

Occurs when the text of a table's cell is edited in-place by the user.

Syntax

VB6 [image] Copy Code

Public Event CellTextEdited

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table whose cell was edited.
row | [input] long | The row where the edited cell is located.
col | [input] long | The column where the edited cell is located.
oldText | [input] string | The text of the cell before the modification.
newText | [input] string | The new text of the cell.

Dispatch ID: 71

Remarks

Raised just after in-place editing of the text of table's cell is completed. To enable in-place editing set the InplaceEditAllowed property to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Clicked Event

FlowChart.Clicked Event
[image]

Raised when the control background is clicked.

Syntax

VB6 [image] Copy Code

Public Event Clicked

Event Data

Parameter | Type | Description
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the document point that was clicked.
y | [input] long | The y coordinate of the document point that was clicked.

Dispatch ID: 16

Remarks

Raised when the control background is clicked - the mouse is not placed over any FlowChartX object. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the document upper left corner and it is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.CustomDraw Event

FlowChart.CustomDraw Event
[image]

Occurs when a custom-draw box is painted.

Syntax

VB6 [image] Copy Code

Public Event CustomDraw

Event Data

Parameter | Type | Description
hdc | [input] device context | A HDC. Handle to the device context to draw in.
box | [input] reference to Box object | The box to be drawn.
tag | [input] long | The tag of the box.
shadow | [input] boolean | Indicates whether to draw a shadow or the box itself.
left | [input] long | The left side of the box bounding rectangle.
top | [input] long | The top side of the box bounding rectangle.
right | [input] long | The right side of the box bounding rectangle.
bottom | [input] long | The bottom side of the box bounding rectangle.

Dispatch ID: 15

Remarks

Raised when a custom-draw box has to be painted. Separate parameters describe:

  • hdc is a handle to the window device context;
  • box is the box that must be painted;
  • tag is the custom data attached to the box, where you can store some drawing data if needed;
  • left, top, right, bottom are the box coordinates;

The hdc you get is already prepared for drawing according to document coordinate system. If draw style is cdAdditional, the clipping region is set to the box shape.

The two custom-draw styles are:

  • cdAdditional - first the box shape is drawn and filled with color, its picture is painted (if present), custom-drawing code is invoked by firing this event, and finally the box text is rendered.
  • cdFull - no standard drawing is done for the box, thus it's entirely your responsibility to draw it since only the custom drawing code is invoked.

If you need to handle this event in VB you should first cast the hdc to long:

VB [image] Copy Code

Dim lngHdc As Long
lngHdc = VarPtr(hdc)

Then you will be able to pass lngHdc to Windows GDI API calls.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DblClicked Event

FlowChart.DblClicked Event
[image]

Occurs when the user double-clicks the control.

Syntax

VB6 [image] Copy Code

Public Event DblClicked

Event Data

Parameter | Type | Description
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the document point that was clicked.
y | [input] long | The y coordinate of the document point that was clicked.

Dispatch ID: 17

Remarks

Raised when the control background is double-clicked - the mouse is not placed at any FlowChartX object. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the document upper left corner and is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DecorationClicked Event

FlowChart.DecorationClicked Event
[image]

Occurs when a decoration is clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event DecorationClicked

Event Data

Parameter | Type | Description
decoration | [input] reference to a decoration | The decoration that has been clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the box bounding rectangle.
y | [input] long | The y coordinate of the point inside the box bounding rectangle.

Dispatch ID: 104

Remarks

Raised when a decoration object such as DecorationLine has been clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle).

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DecorationCreated Event

FlowChart.DecorationCreated Event
[image]

Occurs when the user draws a new decoration.

Syntax

VB6 [image] Copy Code

Public Event DecorationCreated

Event Data

Parameter | Type | Description
decoration | [input] reference to a decoration | The decoration that has been created.

Dispatch ID: 103

Remarks

Raised when a user draws a new decoration object, such as DecorationLine. Reference to that decoration is passed as an argument to the event handler.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DecorationDblClicked Event

FlowChart.DecorationDblClicked Event
[image]

Occurs when a decoration is double-clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event DecorationDblClicked

Event Data

Parameter | Type | Description
decoration | [input] reference to a decoration | The decoration that has been double-clicked.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the box bounding rectangle.
y | [input] long | The y coordinate of the point inside the box bounding rectangle.

Dispatch ID: 105

Remarks

Raised when a decoration object such as DecorationLine has been double-clicked. The button argument identifies the pressed button (mbLeft, mbRight, mbMiddle).

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DecorationDeleted Event

FlowChart.DecorationDeleted Event
[image]

Occurs when a decoration is deleted, either programmatically or by the user.

Syntax

VB6 [image] Copy Code

Public Event DecorationDeleted

Event Data

Parameter | Type | Description
decoration | [input] reference to a decoration | The decoration that has been deleted.

Dispatch ID: 102

Remarks

Raised when a decoration object, such as DecorationLine, is deleted, either by the user or programmatically.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DeserializeTag Event

FlowChart.DeserializeTag Event
[image]

Raised when a tag needs to be deserialized during loading.

Syntax

VB6 [image] Copy Code

Public Event DeserializeTag

Event Data

Parameter | Type | Description
item | [input] reference to a diagram element | The item whose VariantTag is being deserialized.
representation | [input] string | The tag's string representation created by SerializeTag event handler.

Dispatch ID: 83

Remarks

While loading an XML document, this event is raised for each item that has an associated VariantTag. The item argument refers to a Box, Table or Arrow instance whose tag is being deserialized. You must create a tag object by decoding its string representation and assign that to item's VariantTag.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
SerializeTag Event
XMLReader Class


FlowChartPro.FlowChart.DocBoundsChanged Event

FlowChart.DocBoundsChanged Event
[image]

Raised when the document is resized.

Syntax

VB6 [image] Copy Code

Public Event DocBoundsChanged

Event Data

Parameters | Type | Description
left | [input] long | The leftmost document coordinate.
top | [input] long | The topmost document coordinate.
right | [input] long | The rightmost document coordinate.
bottom | [input] long | The bottommost document coordinate.

Dispatch ID: 106

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DocModified Event

FlowChart.DocModified Event
[image]

Occurs when diagram elements are modified.

Syntax

VB6 [image] Copy Code

Public Event DocModified

Event Data

Dispatch ID: 65

Remarks

Raised when the user modifies diagram elements or when some programmatic operations are performed, such as creating and deleting object.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverBox Event

FlowChart.DragOverBox Event
[image]

Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DragOverBox

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box under the mouse cursor.
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 44

Remarks

Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverBoxVB Event

FlowChart.DragOverBoxVB Event
[image]

Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DragOverBoxVB

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box under the mouse cursor.
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 53

Remarks

Raised when some data is dragged over a box and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing IVBDataObject interface through which the dragged data can be extracted. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverDoc Event

FlowChart.DragOverDoc Event
[image]

Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DragOverDoc

Event Data

Parameter | Type | Description
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 43

Remarks

Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverDocVB Event

FlowChart.DragOverDocVB Event
[image]

Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DragOverDocVB

Event Data

Parameter | Type | Description
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 52

Remarks

Raised when some data is dragged over empty document area and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing the OLE IVBDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverTable Event

FlowChart.DragOverTable Event
[image]

Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DragOverTable

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table under the mouse cursor.
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 45

Remarks

Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DragOverTableVB Event

FlowChart.DragOverTableVB Event
[image]

Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DragOverTableVB

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table under the mouse cursor.
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 54

Remarks

Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing the OLE IVBDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DrawArrow Event

FlowChart.DrawArrow Event
[image]

Raised when an arrow must be custom drawn.

Syntax

VB6 [image] Copy Code

Public Event DrawArrow

Event Data

Parameter | Type | Description
hdc | [input] device context | A HDC. Handle to the device context to draw in.
arrow | [input] reference to an Arrow | The arrow to be drawn.
shadow | [input] boolean | Indicates whether to draw a shadow or the arrow itself.

Dispatch ID: 100

Remarks

Raised when a custom-drawn arrow has to be painted. The hdc is already prepared for drawing according to document coordinate system, zoom level and scroll position.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CustomDraw Property


FlowChartPro.FlowChart.DrawMark Event

FlowChart.DrawMark Event
[image]

Raised to perform custom drawing of anchor points whose mark style is set to msCustom.

Syntax

VB6 [image] Copy Code

Public Event DrawMark

Event Data

Parameter | Type | Description
hdc | [input] long | A pointer to the drawing surface. Cast it to an HDC handle if using the classic graphics engine or to a pointer to a GDI+ Graphics object if using the GDI+ engine.
docX | [input] long | The X coordinate of the anchor point mark.
docY | [input] long | The Y coordinate of the anchor point mark.
node | [input] reference to a diagram node | A Box or a Table instance whose anchor point must be painted.
aPattern | [input] AnchorPattern instance | The anchor pattern whose point must be painted.
anchorIndex | [input] long | The index of the anchor point in the anchor pattern.

Dispatch ID: 89

Remarks

The drawing surface passed as the first argument is already prepared for drawing, having the needed transformations applied to match the diagram's ZoomFactor and scroll position. Use the appropriate GDI API functions or methods of the GDI+ Graphics class to perform custom drawing on the specified drawing surface.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DrawSelHandles Event

FlowChart.DrawSelHandles Event
[image]

Raised to allow custom drawing of selection handles.

Syntax

VB6 [image] Copy Code

Public Event DrawSelHandles

Event Data

Parameter | Type | Description
hdc | [input] long | A pointer to the drawing surface. Cast it to an HDC handle if using the classic graphics engine or to a pointer to a GDI+ Graphics object if using the GDI+ engine.
obj | [input] reference to a diagram item | The diagram item whose selection handles must be painted.

Dispatch ID: 87

Remarks

The event is raised for selected items whose SelStyle is set to sstCustom. The drawing surface passed as the first argument is already prepared for drawing, having the needed transformations applied to match the diagram's ZoomFactor and scroll position. Use the appropriate GDI API functions or methods of the GDI+ Graphics class to perform custom drawing on the specified drawing surface.

Example

The following MFC example shows how to perform custom drawing of selection handles in both the classic and GDI+ graphics engines.

C++ [image] Copy Code

void CCustomDrawDlg::onBoxCreated(LPDISPATCH boxDisp)
{
BoxItem box = boxDisp;
box.SetSelStyle(sstCustom);
box.DetachDispatch();
}

void CCustomDrawDlg::onDrawSelHandles(long* hdc, LPDISPATCH obj)
{
BoxItem box = obj;
if (box)
{
if (fc.GetGraphics().GetEngineType() == geClassic)
{
// using the classic GDI API
HDC dc = (HDC)hdc;
HPEN pen = CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
HPEN oldPen = (HPEN)SelectObject(dc, pen);
Rectangle(dc, box.GetLeft(), box.GetTop(),
box.GetRight(), box.GetBottom());
SelectObject(dc, oldPen);
}
else
{
// using GDI+
Gdiplus::Graphics* graphics = (Gdiplus::Graphics*)hdc;
Gdiplus::Pen pen(Gdiplus::Color::Red, 0);
graphics->DrawRectangle(&pen,
box.GetLeft(), box.GetTop(),
box.GetRight() - box.GetLeft(),
box.GetBottom() - box.GetTop());
}

box.DetachDispatch();
}
}

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DrawTable Event

FlowChart.DrawTable Event
[image]

Raised when a table must be custom drawn.

Syntax

VB6 [image] Copy Code

Public Event DrawTable

Event Data

Parameter | Type | Description
hdc | [input] device context | A HDC. Handle to the device context to draw in.
table | [input] reference to an Table | The table to be drawn.
shadow | [input] boolean | Indicates whether to draw a shadow or the table itself.

Dispatch ID: 101

Remarks

Raised when a custom-drawn table has to be painted. The hdc is already prepared for drawing according to document coordinate system, zoom level and scroll position.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
CustomDraw Property


FlowChartPro.FlowChart.DropAccepted Event

FlowChart.DropAccepted Event
[image]

Raised when a dragged data item is dropped over an unoccupied area of the document.

Syntax

VB6 [image] Copy Code

Public Event DropAccepted

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.

Dispatch ID: 36

Remarks

Raised when an image is dropped over empty document area - the control background picture is set to this image. The dataType parameter is set to dtPicture.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropAcceptedByBox Event

FlowChart.DropAcceptedByBox Event
[image]

Raised when text or an image is dropped into a box.

Syntax

VB6 [image] Copy Code

Public Event DropAcceptedByBox

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
box | [input] reference to a Box | The box into which the data was dropped.

Dispatch ID: 37

Remarks

Raised when text or an image is dropped into a box. If the dropped data is text the box Text property is set accordingly, and the event dataType parameter is dtText. If the dropped data is an image the box Picture property is set to this image, and the dataType parameter is dtPicture. This event can be raised when the DragDropMode property is either drAutoAccept or drRequestAccept.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropAcceptedByTable Event

FlowChart.DropAcceptedByTable Event
[image]

Raised when text or an image is dropped into a table.

Syntax

VB6 [image] Copy Code

Public Event DropAcceptedByTable

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
table | [input] reference to a Table | The table into which the data was dropped.

Dispatch ID: 38

Remarks

Raised when text or an image is dropped into a table. If the dropped data is text the table Caption property is set accordingly, and the event dataType parameter is dtText. If the dropped data is an image the table Picture property is set to this image, and the dataType parameter is dtPicture. This event can be raised when the DragDropMode property is either drAutoAccept or drRequestAccept.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropAcceptedByTableCell Event

FlowChart.DropAcceptedByTableCell Event
[image]

Raised when text is dropped into a table cell.

Syntax

VB6 [image] Copy Code

Public Event DropAcceptedByTableCell

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
table | [input] reference to a Table | The table into which the data was dropped.
row | [input] long | The cell's row.
col | [input] long | The cell's column.

Dispatch ID: 39

Remarks

Raised when text is dropped into a table cell. The cell's text is set accordingly. The event dataType parameter is dtText. This event can be raised when the DragDropMode property is either drAutoAccept or drRequestAccept.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInBox Event

FlowChart.DropInBox Event
[image]

Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DropInBox

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box under the mouse cursor.
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 47

Remarks

Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInBoxVB Event

FlowChart.DropInBoxVB Event
[image]

Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DropInBoxVB

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box under the mouse cursor.
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 56

Remarks

Raised when some data is dropped into a box and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing the OLE IVBDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

Example

The following code snippet, taken from the TreeLayout sample, demonstrates handling this event. When a picture is dragged into a box, a child box is created and the picture is assigned to it:

VB6 [image] Copy Code

Private Sub fc_DropInBoxVB(ByVal box As FLOWCHARTLibCtl.IBoxItem, ByVal dataObj As FLOWCHARTLibCtl.IVBDataObject, ByVal docX As Long, ByVal docY As Long, ByVal keyState As Long, ByVal effect As Long)

Dim newNode As FLOWCHARTLibCtl.box
newNode = addChild(box)

'show the node tag
newNode.Text = "id: " + Str(newNode.Tag) + " "

'if a picture is dragged
If dataObj.GetFormat(vbCFDIB) Then

'set is a node icon
newNode.PicturePos = picTopLeft
newNode.Picture = dataObj.GetData(vbCFDIB)

'and move the text to the right
newNode.TextStyle = tsRight

End If

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInDoc Event

FlowChart.DropInDoc Event
[image]

Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DropInDoc

Event Data

Parameter | Type | Description
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 46

Remarks

Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInDocVB Event

FlowChart.DropInDocVB Event
[image]

Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DropInDocVB

Event Data

Parameter | Type | Description
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 55

Remarks

Raised when some data is dropped into empty document area and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing the OLE IVBDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInTable Event

FlowChart.DropInTable Event
[image]

Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControl.

Syntax

VB6 [image] Copy Code

Public Event DropInTable

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table under the mouse cursor.
dataObj | [input] IDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 48

Remarks

Raised when some data is dragged over a table and the drag-and-drop mode is set to drProgrControl. dataObj is a pointer to an object implementing the OLE IDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.DropInTableVB Event

FlowChart.DropInTableVB Event
[image]

Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControlVB.

Syntax

VB6 [image] Copy Code

Public Event DropInTableVB

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table under the mouse cursor.
dataObj | [input] IVBDataObject interface pointer | A pointer to OLE drag-and-drop object.
docX | [input] long | The x document coordinate.
docY | [input] long | The y document coordinate.
keyState | [input] long | A state of keyboard modifier keys.
effect | [input, output] long | The effect of the drag-and-drop.

Dispatch ID: 57

Remarks

Raised when some data is dropped into a table and the drag-and-drop mode is set to drProgrControlVB. dataObj is a pointer to an object implementing the OLE IVBDataObject interface. This object may contain data in several different formats; it can be queried for data in the format that is most appropriate for your application. docX and docY are the coordinates of the mouse cursor given in document coordinates. The keyState bit-mask is a combination of the following values: 0x20 (ALT), 0x04 (SHIFT), 0x08 (CTRL). The effect parameter is a combination of the allowed drop effects, and as output you can set it to the desired effect. Its possible values are: 0=none, 1=copy, 2=move, 4=link.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.FocusChanged Event

FlowChart.FocusChanged Event
[image]

Raised when FlowChartX gains or loses the keyboard focus.

Syntax

VB6 [image] Copy Code

Public Event FocusChanged

Event Data

Parameter | Type | Description
hasFocus | [input] boolean | Indicates whether the control is focused.

Dispatch ID: 68

Remarks

Raised when FlowChartX gains or loses the keyboard focus. The event parameter indicates whether the control has the focus. Focus can be indicated visually by drawing standard focus frame around the control; this is enabled/disabled through the ShowFocusFrame property.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.GroupDestroyed Event

FlowChart.GroupDestroyed Event
[image]

Occurs when a group of objects is destroyed.

Syntax

VB6 [image] Copy Code

Public Event GroupDestroyed

Event Data

Parameter | Type | Description
group | [input] reference to Group object | The group that is destroyed.

Dispatch ID: 32

Remarks

Raised when a group of objects is destroyed. This happens if the main object of the group is deleted. In this case you might want to delete also the objects attached to the group too and this event is the right place to do that. Note that the main object of the group is already deleted when this event is raised, so the MainObject property shouldn't be used in the event handler. You could use one of the *Deleted events to perform some action when an object is deleted.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.HitTestSelHandles Event

FlowChart.HitTestSelHandles Event
[image]

Raised to allow custom hit testing of selection handles.

Syntax

VB6 [image] Copy Code

Public Event HitTestSelHandles

Event Data

Parameter | Type | Description
obj | [input] a diagram item | The item whose selection handles should be hit-tested.
docX | [input] long | The X coordinate of the current mouse document position.
docY | [input] long | The Y coordinate of the current mouse document position.
hitResult | [output] long | Index of a selection handle if one is hit, otherwise -1.

Dispatch ID: 88

Remarks

The event is raised for boxes whose SelStyle is set to sstCustom. It allows overriding the default FlowChartX selection handle hit-testing, e.g. specifying which part of an object allows resizing, which allows moving, etc. If a handle is hit, the value returned via hitResult should match the handle indices listed in the MnpHandlesMask topic, or it should be set to -1 if there isn't any handle hit.

Example

The following MFC sample shows how to perform custom hit testing.

C++ [image] Copy Code

void CCustomDrawDlg::onHitTestSelHandles(LPDISPATCH obj, long docX, long docY, long* hitResult)
{
BoxItem box = obj;
if (box)
{
POINT point = { docX, docY };
RECT rect = { box.GetLeft(), box.GetTop(), box.GetRight(), box.GetBottom() };

// if the point is inside the rectangle, allow moving
if (PtInRect(&rect, point))
*hitResult = 8;

box.DetachDispatch();
}
}

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
DrawSelHandles Event


FlowChartPro.FlowChart.InitializeArrow Event

FlowChart.InitializeArrow Event
[image]

Raised when a user starts drawing a new arrow, just after the Arrow object is created.

Syntax

VB6 [image] Copy Code

Public Event InitializeArrow

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that the user has started to draw.

Dispatch ID: 93

Remarks

This event is raised immediately after the user starts drawing a new arrow. It lets you set the appearance properties of the arrow if you need their values to be different from the default ones defined in the FlowChart object, or if they don't have correspondent properties in the FlowChart class. The Initialize* events are intended only for initializing the appearance of objects. Do not alter the structure of the diagram from their handlers, i.e. do not create new items nor delete existing ones; if you do that, the control will be in an undefined state and will likely throw an exception at some point.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RequestCreateArrow Event
ArrowCreated Event


FlowChartPro.FlowChart.InitializeBox Event

FlowChart.InitializeBox Event
[image]

Raised when an user starts drawing a new box, just after the Box object is created.

Syntax

VB6 [image] Copy Code

Public Event InitializeBox

Event Data

Parameter | Type | Description
box | [input] reference to a Box | The box that the user has started to draw.

Dispatch ID: 92

Remarks

This event is raised immediately after the user starts drawing a new box. It lets you set the appearance properties of the box if you need their values to be different from the default ones defined in the FlowChart object, or if they don't have correspondent properties in the FlowChart class. The Initialize* events are intended only for initializing the appearance of objects. Do not alter the structure of the diagram from their handlers, i.e. do not create new items nor delete existing ones; if you do that, the control will be in an undefined state and will likely throw an exception at some point.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RequestCreateBox Event
BoxCreated Event


FlowChartPro.FlowChart.InitializeTable Event

FlowChart.InitializeTable Event
[image]

Raised when an user starts drawing a new table, just after the Table object is created.

Syntax

VB6 [image] Copy Code

Public Event InitializeTable

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table that the user has started to draw.

Dispatch ID: 94

Remarks

This event is raised immediately after the user starts drawing a new table. It lets you set the appearance properties of the table if you need their values to be different from the default ones defined in the FlowChart object, or if they don't have correspondent properties in the FlowChart class. The Initialize* events are intended only for initializing the appearance of objects. Do not alter the structure of the diagram from their handlers, i.e. do not create new items nor delete existing ones; if you do that, the control will be in an undefined state and will likely throw an exception at some point.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
RequestCreateTable Event
TableCreated Event


FlowChartPro.FlowChart.ItemsPasted Event

FlowChart.ItemsPasted Event
[image]

( [image] a feature of FlowChartX Pro edition)

Raised when an user pastes diagram items from the clipboard by pressing CTRL+V.

Syntax

VB6 [image] Copy Code

Public Event ItemsPasted

Event Data

Parameter | Type | Description
startZ | [input] long | The z-index of the first pasted item.

Dispatch ID: 86

Remarks

Raised when an user pastes diagram items from the clipboard by pressing CTRL+V. Pasted items are added to the end of the Z order, starting from index startZ. I.e. when this event occurs, all diagram elements whose ZIndex is greater than or equal to startZ are newly pasted.

Example

The following code snippet changes the color of all pasted boxes.

VB6 [image] Copy Code

Private Sub fcx_ItemsPasted(ByVal startZ As Long)

Dim b As box

For Each b In fcx.boxes
If b.ZIndex >= startZ Then b.FillColor = vbRed
Next b

End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
KbdActive Property


FlowChartPro.FlowChart.KeyDown Event

FlowChart.KeyDown Event
[image]

Raised when the user presses a key.

Syntax

VB6 [image] Copy Code

Public Event KeyDown

Event Data

Parameter | Type | Description
keyCode | [input] long | The virtual key code.
shift | [input] long | The state of the modifier keys - SHIFT, CTRL, ALT.

Dispatch ID: 22

Remarks

Raised when the user presses a key. The event corresponds to the WM_KEYDOWN Windows message, and is actually triggered by it. The second parameter is a bit-mask exposing the state of SHIFT, CTRL and ALT keys, through the first, second and third bit respectively. You might check the state like this:

VB [image] Copy Code

' Use bit masks to determine which key was pressed.
shiftDown = (Shift And 1) > 0
ctrlDown = (Shift And 2) > 0
altDown = (Shift And 4) > 0

' Display message telling user which key was pressed.
If shiftDown Then MsgBox "You pressed the SHIFT key."

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
KeyboardFlags Property


FlowChartPro.FlowChart.KeyPress Event

FlowChart.KeyPress Event
[image]

Raised when the user presses a key.

Syntax

VB6 [image] Copy Code

Public Event KeyPress

Event Data

Parameter | Type | Description
keyAscii | [input] long | The ASCII code of the pressed key.

Dispatch ID: 66

Remarks

Raised when the user presses a key. The event corresponds to the WM_CHAR Windows message, and is actually triggered by it.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.KeyUp Event

FlowChart.KeyUp Event
[image]

Raised when the user releases a key.

Syntax

VB6 [image] Copy Code

Public Event KeyUp

Event Data

Parameter | Type | Description
keyCode | [input] long | The virtual key code.
shift | [input] long | The state of the modifier keys - SHIFT, CTRL, ALT.

Dispatch ID: 67

Remarks

Raised when the user releases a key. The event corresponds to the WM_KEYUP windows message, and is actually triggered by it. The second parameter is a bit-mask exposing the state of SHIFT, CTRL and ALT keys, through the first, second and third bit respectively.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.LayoutProgress Event

FlowChart.LayoutProgress Event
[image]

Raised regularly during execution of layout algorithms to allow tracking the layout progress.

Syntax

VB6 [image] Copy Code

Public Event LayoutProgress

Event Data

Parameter | Type | Description
current | [input] long | The current relative progress of the layout algorithm.
total | [input] long | The total number of steps that the algorithm will run.

Dispatch ID: 99

Remarks

This event is raised periodically during the execution of the ArrangeDiagram method. It can be used to update the state of a progress bar that shows the progress of the layout algorithm.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MouseDown Event

FlowChart.MouseDown Event
[image]

Occurs when an user presses a mouse button over FlowChartX.

Syntax

VB6 [image] Copy Code

Public Event MouseDown

Event Data

Parameters | Type | Description
button | [input] EMouseButton member | Specifies which mouse button is pressed.
keys | [input] short | The state of the modifier keys - SHIFT, CTRL and ALT.
docX | [input] long | The x coordinate of the current mouse position.
docY | [input] long | The y coordinate of the current mouse position.

Dispatch ID: 79

Remarks

Occurs when an user presses a mouse button over FlowChartX. The following table shows the constants you can use to test the keys parameter:

Value | Description
1 | SHIFT key is pressed.
2 | CTRL key is pressed.
4 | ALT key is pressed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MouseMove Event

FlowChart.MouseMove Event
[image]

Raised periodically while the user moves the mouse.

Syntax

VB6 [image] Copy Code

Public Event MouseMove

Event Data

Parameter | Type | Description
docX | [input] long | The x coordinate of the current mouse position.
docY | [input] long | The y coordinate of the current mouse position.

Dispatch ID: 72

Remarks

If enabled, this event is raised periodically while the user moves the mouse. Because it might produce some unnecessary overhead, the event firing is disabled by default. You can enable/disable it through the FireMouseMove property. The parameters of the event are expressed in document coordinates.

Example

Suppose you need to display some text, associated with a diagram node, as a message in the status-bar of your application. The status-bar should be updated while the user moves the mouse around. To implement this functionality you might handle the event as follows:

VB6 [image] Copy Code

Private Sub fc_MouseMove(ByVal docX As Long, ByVal docY As Long)

Dim obj As Object
Dim b As box

'get the object under the mouse pointer
obj = fc.ObjectFromPoint(docX, docY, True, False)

If obj Is Nothing Then

'clear the status bar message
statusBar.Panels(1).Text = ""
Exit Sub

End If

'if it is a box ...
If TypeOf obj Is box Then

b = obj
statusBar.Panels(1).Text = b.UserString

End If

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MouseUp Event

FlowChart.MouseUp Event
[image]

Occurs when an user releases a mouse button over FlowChartX.

Syntax

VB6 [image] Copy Code

Public Event MouseUp

Event Data

Parameters | Type | Description
button | [input] EMouseButton member | Specifies which mouse button is released.
keys | [input] short | The state of the modifier keys - SHIFT, CTRL and ALT.
docX | [input] long | The x coordinate of the current mouse position.
docY | [input] long | The y coordinate of the current mouse position.

Dispatch ID: 80

Remarks

Occurs when an user releases a mouse button over FlowChartX. The following table shows the constants you can use to test the keys parameter:

Value | Description
1 | SHIFT key is pressed.
2 | CTRL key is pressed.
4 | ALT key is pressed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.MouseWheel Event

FlowChart.MouseWheel Event
[image]

Raised when the mouse wheel is rotated.

Syntax

VB6 [image] Copy Code

Public Event MouseWheel

Event Data

Parameter | Type | Description
delta | [input] short | The distance the wheel is rotated.
keys | [input] short | Indicates whether various virtual keys are down.
docX | [input] long | The x coordinate of the document point under the mouse cursor.
docY | [input] long | The y coordinate of the document point under the mouse cursor.

Dispatch ID: 51

Remarks

Raised when the mouse wheel is rotated. delta is the distance the wheel is rotated, expressed in multiples or divisions of 120. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. The mouse pointer position in document coordinates is passed through the docX and docY parameters.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ObjAddToContainer Event

FlowChart.ObjAddToContainer Event
[image]

( [image] a feature of FlowChartX Pro edition)

Occurs if a diagram item is dropped into a container box.

Syntax

VB6 [image] Copy Code

Public Event ObjAddToContainer

Event Data

Parameter | Type | Description
nodeType | [input] EDragDataType enumeration | The type of the dropped object.
obj | [input] reference to an object | The object that is added.
ctnr | [input] reference to a box | The container that holds the object.

Dispatch ID: 63

Remarks

Occurs if a diagram item is dropped into a container box. nodeType can be:

  • ntBox - the dropped object is a box;
  • ntTable - the dropped object is a table;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ObjectDroppedInBox Event

FlowChart.ObjectDroppedInBox Event
[image]

Occurs if a diagram item or a selection of items is dropped into a box.

Syntax

VB6 [image] Copy Code

Public Event ObjectDroppedInBox

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped object.
box | [input] reference to a Box | The box into which the object was dropped.

Dispatch ID: 49

Remarks

Occurs if a diagram item or a selection of items is dropped into a box. dataType can be:

  • dtBox - the dropped object is a box, referenced by ActiveBox property.
  • dtTable - the dropped object is a table, referenced by ActiveTable property.
  • dtSelection - a selection of objects is dropped into the box, the object are contained in the Selected* collections.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ObjectDroppedInTable Event

FlowChart.ObjectDroppedInTable Event
[image]

Occurs if a diagram item or a selection of items is dropped into a table.

Syntax

VB6 [image] Copy Code

Public Event ObjectDroppedInTable

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped object.
table | [input] reference to a Table | Table into which the object was dropped.

Dispatch ID: 50

Remarks

Occurs if a diagram item or a selection of items is dropped into a table. dataType can be:

  • dtBox - the dropped object is a box, referenced by ActiveBox property.
  • dtTable - the dropped object is a table, referenced by ActiveTable property.
  • dtSelection - a selection of objects is dropped into the box, the object are contained in the Selected* collections.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.ObjectModified Event

FlowChart.ObjectModified Event
[image]

Occurs when an item is moved or resized.

Syntax

VB6 [image] Copy Code

Public Event ObjectModified

Event Data

Parameter | Type | Description
obj | [input] reference to a diagram item | A reference to the item that is moved or resized.
selHandle | [input] long | The index of the grab handle used to carry out the modification.

Dispatch ID: 76

Remarks

Occurs when an item is moved or resized. The index of the grab handle used to carry out the modification is passed as value of selHandle. Corner handles indices are 0..3 counted clockwise starting from the upper-left; those correspond to resizing a node both horizontally and vertically. Side handle indices are 4..7 counted clockwise starting from the top; those correspond to resizing a node either vertically or horizontally. The center handle index is 8; it is used for moving nodes, without resizing. For arrows, the handle index corresponds to the control point of an arrow, used to modify arrow's segment.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
Box.MnpHandlesMask Property
Table.MnpHandlesMask Property
BoxModified Event
TableModified Event
ArrowModified Event


FlowChartPro.FlowChart.ObjRemoveFromContainer Event

FlowChart.ObjRemoveFromContainer Event
[image]

( [image] a feature of FlowChartX Pro edition)

Occurs if a diagram item is removed from a container box.

Syntax

VB6 [image] Copy Code

Public Event ObjRemoveFromContainer

Event Data

Parameter | Type | Description
nodeType | [input] EDragDataType enumeration | The type of the removed object.
obj | [input] reference to an object | The object that is removed.
ctnr | [input] reference to a Box | The container that held the object.

Dispatch ID: 64

Remarks

Occurs if a diagram item is removed from a container box. nodeType can be:

  • ntBox - the removed object is a box;
  • ntTable - the removed object is a table;

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestAttachArrow Event

FlowChart.RequestAttachArrow Event
[image]

Raised when the user is moving an arrow end point over an object.

Syntax

VB6 [image] Copy Code

Public Event RequestAttachArrow

Event Data

Parameter | Type | Description
arrow | [input] reference to Arrow object | The arrow that the user is trying to modify.
changingOrg | [input] boolean | true if the user is moving the arrow starting point; false if moving the ending point.
obj | [input] reference to object | The object to which the arrow will be attached.
attach | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 58

Remarks

Raised when the user is moving an arrow end point over an object. This event enables you to forbid changing arrows origin or destination objects. Set the attach parameter to false and the operation will be cancelled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestCreateArrow Event

FlowChart.RequestCreateArrow Event
[image]

A validation event that is raised while users draw new arrows.

Syntax

VB6 [image] Copy Code

Public Event RequestCreateArrow

Event Data

Parameter | Type | Description
arrow | [input] reference to Arrow object | The Arrow that the user is trying to create.
create | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 14

Remarks

Raised when the user is creating an arrow, this event gives you the chance to cancel the operation. Set the create parameter to false and the creation shall be cancelled. Note that the DestinationBox / DestinationTable properties cannot be used in RequestCreateArrow event handler because they are still not set. See ExpectedDestination for more information and an example on how this event can be handled.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
EventFlags Property


FlowChartPro.FlowChart.RequestCreateBox Event

FlowChart.RequestCreateBox Event
[image]

A validation event that is raised while users draw new boxes.

Syntax

VB6 [image] Copy Code

Public Event RequestCreateBox

Event Data

Parameter | Type | Description
box | [input] reference to Box object | The box that the user is trying to create.
create | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 13

Remarks

Raised when the user is creating a box, this event gives you the chance to cancel the operation. Set the create parameter to false and the creation shall be cancelled.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
EventFlags Property


FlowChartPro.FlowChart.RequestCreateTable Event

FlowChart.RequestCreateTable Event
[image]

A validation event that is raised while users draw new tables.

Syntax

VB6 [image] Copy Code

Public Event RequestCreateTable

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that the user is trying to create.
create | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 29

Remarks

Raised when the user is creating a table, this event gives you the chance to cancel the operation. Set the create parameter to false and the creation shall be cancelled.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
EventFlags Property


FlowChartPro.FlowChart.RequestDeleteArrow Event

FlowChart.RequestDeleteArrow Event
[image]

Raised before an arrow is deleted by the user, giving you a chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestDeleteArrow

Event Data

Parameter | Type | Description
arrow | [input] reference to Arrow object | The Arrow that the user is trying to delete.
delete | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 10

Remarks

Raised when the user is deleting an arrow, this event gives you the chance to cancel the operation. Set the delete parameter to false and the deletion shall be cancelled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestDeleteBox Event

FlowChart.RequestDeleteBox Event
[image]

Raised before a box is deleted by the user, giving you a chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestDeleteBox

Event Data

Parameter | Type | Description
box | [input] reference to Box object | The box that the user is trying to delete.
delete | [output] boolean | Set it to false to cancel the operation.

Dispatch ID: 9

Remarks

Raised when the user is deleting a box, this event gives you the chance to cancel the operation. Set the delete parameter to false and the deletion shall be cancelled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestDeleteTable Event

FlowChart.RequestDeleteTable Event
[image]

Raised before a table is deleted by the user, giving you a chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestDeleteTable

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that the user is trying to delete.
delete | [output] boolean | Set to false to cancel the operation.

Dispatch ID: 27

Remarks

Raised when the user is deleting a table, this event gives you the chance to cancel the operation. Set the delete parameter to false and the deletion shall be cancelled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestDrop Event

FlowChart.RequestDrop Event
[image]

Raised when an image is dragged over empty document area.

Syntax

VB6 [image] Copy Code

Public Event RequestDrop

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
drop | [input,output] boolean | Set to true to accept the drop operation.

Dispatch ID: 40

Remarks

Raised when an image is dragged over empty document area. The dataType parameter value is dtPicture. This event can be raised when the DragDropMode property is set to drRequestAccept. Setting the drop parameter to false or true respectively rejects or accepts drop operation and the appropriate visual feedback is displayed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestDropInBox Event

FlowChart.RequestDropInBox Event
[image]

Raised when an image or text is dragged over a box.

Syntax

VB6 [image] Copy Code

Public Event RequestDropInBox

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
box | [input] reference to Box object | The object under the mouse cursor.
drop | [input,output] boolean | Set to true to accept the drop operation.

Dispatch ID: 41

Remarks

Raised when an image or text is dragged over a box. The dataType parameter value can be either dtText or dtPicture. This event will be raised if the DragDropMode property is set to drRequestAccept. Setting the drop parameter to false or true respectively rejects or accepts drop operation and the appropriate visual feedback is displayed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestDropInTable Event

FlowChart.RequestDropInTable Event
[image]

Raised when an image or text is dragged over a table.

Syntax

VB6 [image] Copy Code

Public Event RequestDropInTable

Event Data

Parameter | Type | Description
dataType | [input] EDragDataType enumeration | The type of the dropped data.
table | [input] reference to Table object | The table under the mouse cursor.
drop | [input, output] boolean | Set to true to accept the drop operation

Dispatch ID: 42

Remarks

Raised when an image or text is dragged over a table. The dataType parameter value can be either dtText or dtPicture. This event will be raised if the DragDropMode property is set to drRequestAccept. Setting the drop parameter to false or true respectively rejects or accepts drop operation and the appropriate visual feedback is displayed.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestSelectArrow Event

FlowChart.RequestSelectArrow Event
[image]

Occurs when users try to select an arrow, giving you the chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestSelectArrow

Event Data

Parameter | Type | Description
arrow | [input] reference to Arrow object | The arrow that the user is trying to select.
select | [output] boolean | Set to false to cancel the operation.

Dispatch ID: 12

Remarks

Raised when the user is selecting an arrow, this event gives you the chance to cancel the selection. Set the select parameter to false and the selection shall be canceled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestSelectBox Event

FlowChart.RequestSelectBox Event
[image]

Occurs when users try to select a box, giving you the chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestSelectBox

Event Data

Parameter | Type | Description
box | [input] reference to Box object | The box that the user is trying to select.
select | [output] boolean | Set to false to cancel the operation.

Dispatch ID: 11

Remarks

Raised when the user is selecting a box, this event gives you the chance to cancel the selection. Set the select parameter to false and the selection shall be canceled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.RequestSelectTable Event

FlowChart.RequestSelectTable Event
[image]

Occurs when users try to select a table, giving you the chance to cancel the operation.

Syntax

VB6 [image] Copy Code

Public Event RequestSelectTable

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that the user is trying to select.
select | [output] boolean | Set to false to cancel the operation.

Dispatch ID: 28

Remarks

Raised when the user is selecting a table, this event gives you the chance to cancel the selection. Set the select parameter to false and the selection shall be canceled.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.Scroll Event

FlowChart.Scroll Event
[image]

Raised when a user scrolls the document area.

Syntax

VB6 [image] Copy Code

Public Event Scroll

Event Data

Parameter | Type | Description
x | [input] long | The x coordinate of the new scroll position.
y | [input] long | The y coordinate of the new scroll position.

Dispatch ID: 73

Remarks

Raised when a user scrolls the document area. The x and y parameters provide the new values of ScrollX and ScrollY properties.

Scrolling can be performed interactively: through the scrollbars; by panning via ALT + dragging the mouse; via keyboard arrow keys. To enable scrolling through keyboard interface, set the KbdActive property to true and KbdBehavior to kbScrollView.

This event is not raised if the scroll position is changed programmatically.

Example

The sample below keeps a special node always into view by moving it when the diagram is scrolled.

VB6 [image] Copy Code

Private Sub fc_Scroll(ByVal x As Long, ByVal y As Long)

specialBox.MoveTo(x + 20, y + 20)

End Sub

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectionChanged Event

FlowChart.SelectionChanged Event
[image]

Occurs when items are added to or removed from selection.

Syntax

VB6 [image] Copy Code

Public Event SelectionChanged

Event Data

Dispatch ID: 78

Remarks

Occurs when diagram items are selected or deselected. Unlike SelObjAdded and SelObjRemoved, this event is not raised for each item whose selection state changes, but just once for entire multiple-selection operation. Check the SelectedBoxes, SelectedTables and SelectedArrows collections to find out which items are currently selected. This event could be useful for updating user interface elements related to current selection.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelectionMoved Event

FlowChart.SelectionMoved Event
[image]

Occurs when a selection of items is moved by the user.

Syntax

VB6 [image] Copy Code

Public Event SelectionMoved

Event Data

Dispatch ID: 98

Remarks

Occurs when selected diagram items are moved. Access to the items in a multiple-selection is provided through the SelectedArrows, SelectedBoxes and SelectedTables collections.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
ObjectModified Event
SelectionChanged Event


FlowChartPro.FlowChart.SelObjAdded Event

FlowChart.SelObjAdded Event
[image]

Occurs when an object is added to multiple selection.

Syntax

VB6 [image] Copy Code

Public Event SelObjAdded

Event Data

Parameter | Type | Description
obj | [input] reference to object | The object that was added to the multiple selection.

Dispatch ID: 59

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SelObjRemoved Event

FlowChart.SelObjRemoved Event
[image]

Occurs when an object is removed from multiple selection.

Syntax

VB6 [image] Copy Code

Public Event SelObjRemoved

Event Data

Parameter | Type | Description
obj | [input] reference to object | The object that was removed from the multiple selection.

Dispatch ID: 60

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.SerializeTag Event

FlowChart.SerializeTag Event
[image]

Raised during serialization to convert user tags to strings.

Syntax

VB6 [image] Copy Code

Public Event SerializeTag

Event Data

Parameter | Type | Description
item | [input] reference to a diagram element | The item whose VariantTag is being serialized.
representation | [output] string | The string to be saved as XML element for item's VariantTag.

Dispatch ID: 82

Remarks

While serializing a diagram to XML, this event is raised for each item that has an associated VariantTag. The item argument refers to a Box, Table or an Arrow instance whose tag is being serialized. You must assign string representation of the tag value to the representation output parameter.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
DeserializeTag Event
XMLWriter Class


FlowChartPro.FlowChart.SetSelfLoopShape Event

FlowChart.SetSelfLoopShape Event
[image]

Raised when an arrow becomes a self-loop.

Syntax

VB6 [image] Copy Code

Public Event SetSelfLoopShape

Event Data

Parameter | Type | Description
arrow | [input] reference to an Arrow | The arrow that becomes a self-loop.
handled | [byref] boolean | Indicates whether the event handler has set a custom loop shape.

Dispatch ID: 107

Example

The following sample handlers set the link shape to a rectangle at the top-left corner of a box.

VB6 [image] Copy Code

Private Sub fcx_SetSelfLoopShape(ByVal arrow As FLOWCHARTLibCtl.IArrowItem, handled As Boolean)
If arrow.OriginBox Is Nothing Then Exit Sub

arrow.Segments = 4
arrow.Style = asPerpendicular

arrow.CtrlPtX(0) = arrow.OriginBox.left
arrow.CtrlPtY(0) = arrow.OriginBox.top + 15
arrow.CtrlPtX(1) = arrow.OriginBox.left - 15
arrow.CtrlPtY(1) = arrow.OriginBox.top + 15
arrow.CtrlPtX(2) = arrow.OriginBox.left - 15
arrow.CtrlPtY(2) = arrow.OriginBox.top - 15
arrow.CtrlPtX(3) = arrow.OriginBox.left + 15
arrow.CtrlPtY(3) = arrow.OriginBox.top - 15
arrow.CtrlPtX(4) = arrow.OriginBox.left + 15
arrow.CtrlPtY(4) = arrow.OriginBox.top

arrow.Update

handled = True
End Sub

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
AllowRefLinks Property


FlowChartPro.FlowChart.ShapeNotDefined Event

FlowChart.ShapeNotDefined Event
[image]

Raised when the diagram being loaded contains an undefined shape.

Syntax

VB6 [image] Copy Code

Public Event ShapeNotDefined

Event Data

Parameter | Type | Description
ShapeID | [input] string | An identifier of a ShapeTemplate.

Dispatch ID: 77

Remarks

Can occur while loading a diagram if a node in that diagram uses undefined ShapeTemplate. That allows defining ShapeTemplate instances on demand, reducing the loading time and memory footprint of your application. That would be useful if your application uses hundreds or thousands of shapes; if the figure stays at tens, it would be simpler and faster just to define them at application startup.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCaptionEdited Event

FlowChart.TableCaptionEdited Event
[image]

Raised just after in-place editing of the text of table's caption is completed.

Syntax

VB6 [image] Copy Code

Public Event TableCaptionEdited

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table whose caption was edited.
oldText | [input] string | The text of the caption before the modification.
newText | [input] string | The new text of the caption.

Dispatch ID: 70

Remarks

Raised just after in-place editing of the text of table's caption is completed. To enable in-place editing set the InplaceEditAllowed property to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCellClicked Event

FlowChart.TableCellClicked Event
[image]

Raised when the user clicks on a table cell.

Syntax

VB6 [image] Copy Code

Public Event TableCellClicked

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is clicked on.
button | [input] EMouseButton enumeration | The button that is pressed.
row | [input] long | The row where the clicked cell is located.
col | [input] long | The column where the clicked cell is located.

Dispatch ID: 33

Remarks

Raised when the user clicks on a table cell. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The row and col arguments specify which cell is clicked.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCellDblClicked Event

FlowChart.TableCellDblClicked Event
[image]

Occurs when a cell of a table is double-clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event TableCellDblClicked

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is clicked on.
button | [input] EMouseButton enumeration | The button that is pressed.
row | [input] long | The row where the clicked cell is located.
col | [input] long | The column where the clicked cell is located.

Dispatch ID: 34

Remarks

Fired when the user double-clicks on a table cell. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The row and col arguments specify which cell is clicked.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCellStartDrag Event

FlowChart.TableCellStartDrag Event
[image]

Allows starting an OLE drag-and-drop operation form a table cell.

Syntax

VB6 [image] Copy Code

Public Event TableCellStartDrag

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table whose cell is pointed with the mouse.
row | [input] long | The row index of the pointed cell.
col | [input] long | The column index of the pointed cell.
startDrag | [output] boolean | Specifies whether to start drag-and-drop operation.

Dispatch ID: 81

Remarks

Allows starting OLE drag-and-drop operation when users start dragging the mouse over a table's cell. This event is fired only if the fTableCellStartDrag bit of EventFlags is enabled. By default, starting to drag with the mouse over a cell initiates an arrow-creation operation. Set startDrag to true to start OLE drag-and-drop operation instead.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableClicked Event

FlowChart.TableClicked Event
[image]

Occurs when a table is clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event TableClicked

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is clicked on.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the table bounding rectangle.
y | [input] long | The y coordinate of the point inside the table bounding rectangle.

Dispatch ID: 30

Remarks

Fired when the user clicks on a table. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the table bounding rectangle upper left corner and it is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCollapsed Event

FlowChart.TableCollapsed Event
[image]

Raised when a user collapses a tree of items, whose root is the table passed as an argument.

Syntax

VB6 [image] Copy Code
Public Event TableCollapsed

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The root of the collapsed tree.

Dispatch ID: 111

Remarks

Raised when a user collapses a tree of items, whose root is the table passed as an argument. Users are able to expand or collapse a tree of diagram items by clicking the +/- button on the right of nodes. This button is visible if the Expandable property of a table is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableColumnResized Event

FlowChart.TableColumnResized Event
[image]

Raised when the user finishes resizing a column in a table.

Syntax

VB6 [image] Copy Code
Public Event TableColumnResized

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table whose column has been resized.
columnIndex | [input] long | The integer index of the column.

Dispatch ID: 113

Remarks

Users can resize the columns of a table if its AllowResizeColumns property is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableCreated Event

FlowChart.TableCreated Event
[image]

Occurs when the user draws a new table.

Syntax

VB6 [image] Copy Code

Public Event TableCreated

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is created.

Dispatch ID: 26

Remarks

Fired when the user creates a new table.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
InitializeTable Event
RequestCreateTable Event
TableDeleted Event
TableModified Event


FlowChartPro.FlowChart.TableDblClicked Event

FlowChart.TableDblClicked Event
[image]

Occurs when a table is double-clicked with the mouse.

Syntax

VB6 [image] Copy Code

Public Event TableDblClicked

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is clicked on.
button | [input] EMouseButton enumeration | The button that is pressed.
x | [input] long | The x coordinate of the point inside the table bounding rectangle.
y | [input] long | The y coordinate of the point inside the table bounding rectangle.

Dispatch ID: 31

Remarks

Fired when the user double-clicks a table. The button parameter indicates type of mouse button pressed (mbLeft, mbRight, mbMiddle). The (x, y) point is relative to the table bounding rectangle upper left corner and it is measured in document coordinates.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableDeleted Event

FlowChart.TableDeleted Event
[image]

Occurs when a table is deleted, either programmatically or by end-users.

Syntax

VB6 [image] Copy Code

Public Event TableDeleted

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is deleted.

Dispatch ID: 23

Remarks

Fired when table is deleted.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableExpanded Event

FlowChart.TableExpanded Event
[image]

Raised when a user expands a tree of items.

Syntax

VB6 [image] Copy Code
Public Event TableExpanded

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The root of the expanded tree.

Dispatch ID: 110

Remarks

Raised when a user expands a tree of items, whose root is the table passed as an argument. Users are able to expand or collapse a tree of diagram items by clicking on the +/- button on the right of nodes. This button is visible if the Expandable property of a table is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableModified Event

FlowChart.TableModified Event
[image]

Raised when the user moves or resizes a table.

Syntax

VB6 [image] Copy Code

Public Event TableModified

Event Data

Parameter | Type | Description
table | [input] reference to a Table | Reference to the table that has been moved ot resized.
selHandle | [input] long | Index of the adjustment handle used to carry out the modification.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
TableModifying Event


FlowChartPro.FlowChart.TableModifying Event

FlowChart.TableModifying Event
[image]

Occurs while a Table is being moved or resized.

Syntax

VB6 [image] Copy Code

Public Event TableModifying

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table that is being modified.
docX | [input] long | The mouse x position in document coordinates.
docY | [input] long | The mouse y position in document coordinates.
selHandle | [input] long | The index of the selection handle used to modify the table.
Confirm | [output] boolean | Specifies whether the user should be allowed to drop the table at the current mouse position.

Dispatch ID: 97

Remarks

This event is raised after each mouse movement while modifying a table. Setting Confirm to false will change the mouse cursor to a Stop icon, or to your custom icon set via SetMouseCursor. The event is raised once again when the mouse button is released. Setting Confirm to false in that case will cancel the modification and return the table to its original position.

The selection handle index is set to 0, 1, 2, 3 if the table is modified via the corner resize handles; 4, 5, 6, 7 for the side center resize handles or 8 for the move handle.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
TableModified Event


FlowChartPro.FlowChart.TableRowResized Event

FlowChart.TableRowResized Event
[image]

Raised when the user finishes resizing a row in a table.

Syntax

VB6 [image] Copy Code
Public Event TableRowResized

Event Data

Parameter | Type | Description
table | [input] reference to a Table | The table whose row has been resized.
rowIndex | [input] long | The integer index of the row.

Dispatch ID: 112

Remarks

Users can resize the rows of a table if its AllowResizeRows property is set to true.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableSectionCollapsed Event

FlowChart.TableSectionCollapsed Event
[image]

Raised when the "-" button in a header row of a table is clicked to collapse the rows under that header.

Syntax

VB6 [image] Copy Code

Public Event TableSectionCollapsed

Event Data

Property | Type | Description
table | [input] reference to a Table | Refers to the Table whose rows are collapsed.
rowIndex | [input] long | The index of the header row whose "-" button is clicked.

Dispatch ID: 91

Remarks

A header row is a row for which the HeaderRow property is enabled. Such rows display a +/- button which can be used to expand or collapse all rows below a header up to the next header. TableSectionCollapsed is raised when a user clicks the "-" button, but not when RowExpanded is set to false programmatically.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
TableSectionExpanded Event


FlowChartPro.FlowChart.TableSectionExpanded Event

FlowChart.TableSectionExpanded Event
[image]

Raised when the "+" button in a header row of a table is clicked to expand the rows under that header.

Syntax

VB6 [image] Copy Code

Public Event TableSectionExpanded

Event Data

Parameter | Type | Description
table | [input] reference to a Table | Refers to the Table whose rows are expanded.
rowIndex | [input] long | Index of the header row whose "+" button is clicked.

Dispatch ID: 90

Remarks

A header row is a row for which the HeaderRow property is enabled. Such rows display a +/- button which can be used to expand or collapse all rows below a header up to the next header. TableSectionExpanded is raised when a user clicks the "+" button, but not when RowExpanded is set to true programmatically.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
TableSectionCollapsed Event


FlowChartPro.FlowChart.TableSelected Event

FlowChart.TableSelected Event
[image]

Occurs when a table is selected.

Syntax

VB6 [image] Copy Code

Public Event TableSelected

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is selected.

Dispatch ID: 24

Remarks

Fired when table is selected.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.TableSelectionLost Event

FlowChart.TableSelectionLost Event
[image]

Occurs when a table loses selection.

Syntax

VB6 [image] Copy Code

Public Event TableSelectionLost

Event Data

Parameter | Type | Description
table | [input] reference to Table object | The table that is deselected.

Dispatch ID: 25

Remarks

Fired when table loses selection.

See Also

FlowChart Members
FlowChart Class


FlowChartPro.FlowChart.UndoActionRecorded Event

FlowChart.UndoActionRecorded Event
[image]

( [image] a feature of FlowChartX Pro edition)

Occurs when an action is recorded in the undo history.

Syntax

VB6 [image] Copy Code

Public Event UndoActionRecorded

Event Data

Dispatch ID: 35

Remarks

Fired when the user modifies the flowchart data or when some programmatic operations are performed, such as creating and deleting object. These modifications are automatically recorded in a queue for later undo or redo.

See Also

FlowChart Members
FlowChart Class
FlowChartPro Namespace
MergeUndoRecords Method
ActionUndone Event


FlowChartPro.FractalLayout Class

FractalLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

A tree layout algorithm that places child nodes symmetrically around their parent node.

Syntax

VB6 [image] Copy Code

Public Class FractalLayout

C++ [image] Copy Code

class FractalLayout

Remarks

Nodes at the lowest level are arranged directly in a circle around their parent. At the upper level, the already arranged nodes form branches that are arranged in a circle around the new parent node. The algorithm is recursively repeated till the highest level is reached. If nodes in the tree have uniform number of children, the end result has fractal-like appearance (subsets of the graph look like scaled-down copies of the whole graph).

You can choose which node should be displayed at the center of the topmost circle by setting the Root property. If it is not specified, the algorithm automatically selects a root that leads to more balanced distribution of nodes.

See Also

FractalLayout Members
FlowChartPro Namespace
TreeLayout Class
ArrangeDiagram Method


FlowChartPro.FractalLayout Members

FractalLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

A tree layout algorithm that places child nodes symmetrically around their parent node.

The following tables list the members exposed by the FractalLayout type.

Public Constructors

Name | Description
FractalLayout | Initializes a new instance of the FractalLayout class.

Public Properties

Name | Description
Root | Gets or sets the tree root.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

FractalLayout Class


FlowChartPro.FractalLayout Constructor

FractalLayout Constructor
[image]

Initializes a new instance of the FractalLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
FractalLayout ()

See Also

FractalLayout Class


FlowChartPro.FractalLayout Properties

FractalLayout Properties
[image]

Public Properties

Name | Description
Root | Gets or sets the tree root.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

FractalLayout Class


FlowChartPro.FractalLayout.Root Property

FractalLayout.Root Property
[image]

Gets or sets the tree root.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A node that should be placed at the center of the arranged tree. The default value is null (Nothing in Visual Basic).

Remarks

If there is no root specified, the algorithm automatically selects one that will lead to more balanced branch sizes.

See Also

FractalLayout Members
FractalLayout Class


FlowChartPro.FractalLayout.XGap Property

FractalLayout.XGap Property
[image]

Specifies the horizontal margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get XGap() As Long
Public Property Let XGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_XGap ()
void put_XGap (
int value
)

Property Value

The default value is 15.

See Also

FractalLayout Members
FractalLayout Class


FlowChartPro.FractalLayout.YGap Property

FractalLayout.YGap Property
[image]

Specifies the vertical margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get YGap() As Long
Public Property Let YGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_YGap ()
void put_YGap (
int value
)

Property Value

The default value is 15.

See Also

FractalLayout Members
FractalLayout Class


FlowChartPro.Graphics Class

Graphics Class
Remarks See Also
[image]

The Graphics class represents a graphics engine used to render diagram items. Instance of this class is accessible via the FlowChart.Graphics property.

Syntax

VB6 [image] Copy Code

Public Class Graphics

C++ [image] Copy Code

class Graphics

Remarks

Currently FlowChartX supports two engines: the first one is based on the classic Windows GDI API; the second one is based on the GDI+ library. The following table outlines the differences between them:

 | Classic GDI | GDI+
Compatible with Windows 95 | yes | no
Additional dependencies | no | gdiplus.dll
Support for FlowChartX plug-ins | yes | no
Anti-aliasing | no | yes
Semi-transparency | no | yes
Dash styles for pen width > 1 | no | yes
Rotation of arrow's text as set in TextStyle | not supported on Win9X | yes
Uses hardware acceleration | yes | no
Box rotation | not supported on Win9X | yes

The graphics engines are identified via members of the EGraphicsEngine enumeration, geGdiPlus for GDI+ and geClassic for the classic GDI API. Pass those identifiers to the StartUp method to load a graphics engine. The currently used engine is indicated by EngineType. When your application ends, it is necessary to call ShutDown to unload the engine and free resources allocated to it.

Consider the following when deciding which graphics engine to use:

  • GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.
  • CustomDraw event handlers receive either a GDI+ Graphics* pointer or a handle to GDI device context as an argument, respectively when the GDI+ or the classic GDI engine is enabled.
  • FlowChartX plug-ins used with the bsLibShape box Style are designed and implemented around the classic GDI API. Such plug-ins cannot be used with the GDI+ graphics engine.
  • If using GDI+, you must distribute gdiplus.dll with your application.
  • Anti-aliasing and alpha-blending are not supported by the classic graphics engine. It ignores AntiAliasing and the FlowChart's ShadowColorAlpha, BoxFillColorAlpha, TableFillColorAlpha etc. properties.
  • GDI+ extended metafiles cannot be played via classic API functions. See GdiPlusExtensions for more details.

See Also

Graphics Members


FlowChartPro.Graphics Members

Graphics Members
Properties Methods
[image]

The Graphics class represents a graphics engine used to render diagram items. Instance of this class is accessible via the FlowChart.Graphics property.

The following tables list the members exposed by the Graphics type.

Public Properties

Name | Description
AntiAliasing | Gets or sets a value specifying whether to smooth lines and curves via anti-aliasing.
EngineType | Gets a value indicating the currently used graphics engine.

Public Methods

Name | Description
ShutDown | Shuts down the currently used graphics engine, and enables the classic GDI engine.
StartUp | Initializes and starts-up one of the graphics engines supported by FlowChartX.

See Also

Graphics Class


FlowChartPro.Graphics Methods

Graphics Methods
[image]

Public Methods

Name | Description
ShutDown | Shuts down the currently used graphics engine, and enables the classic GDI engine.
StartUp | Initializes and starts-up one of the graphics engines supported by FlowChartX.

See Also

Graphics Class


FlowChartPro.Graphics.ShutDown Method

Graphics.ShutDown Method
[image]

Shuts down the currently used graphics engine, and enables the classic GDI engine.

Syntax

VB6 [image] Copy Code

Public Sub ShutDown ()

C++ [image] Copy Code

public:
void ShutDown ()

Remarks

It is important to call ShutDown when using GDI+, in order to free some resources that FlowChartX allocates and to execute the GdiPlusShutdown API function. A suitable place to shut down the graphics engine is the Unload event handler of the main form of VB application or the OnClose method of the MFC window that contains FlowChartX.

See Also

Graphics Members
Graphics Class


FlowChartPro.Graphics.StartUp Method

Graphics.StartUp Method
[image]

Initializes and starts-up one of the graphics engines supported by FlowChartX.

Syntax

VB6 [image] Copy Code

Public Sub StartUp( _
ByVal GraphicsEngine As EGraphicsEngine _
)

C++ [image] Copy Code

public:
void StartUp (
EGraphicsEngine GraphicsEngine
)

Parameters

GraphicsEngine

Specifies which graphics engine to use when rendering diagrams on screen, or printing or exporting them to image files.

Remarks

Possible values for the GraphicsEngine argument are:

  • geClassic specifies that the classic Window GDI API should be used to render graphics;
  • geGdiPlus specifies that the GDI+ should be used to render graphics;

Starting-up GDI+ fails if the gdiplus.dll is not available on a user's PC. In such situation StartUp falls back to the classic GDI engine and EngineType indicates geClassic as the active engine. If GDI+ starts successfully, it must be shut down upon application exit via ShutDown.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

Example

The following VB6 code demonstrates how to initialize and shut down GDI+.

VB6 [image] Copy Code

Private Sub Form_Load()

' Start GDI+ graphics engine
fcx.Graphics.StartUp geGdiPlus
fcx.Graphics.AntiAliasing = True

fcx.BoxFillColor = vbGreen
fcx.BoxFillColorAlpha = 100

End Sub

Private Sub Form_Unload(ByVal Cancel As Integer)

' It is important to shut down GDI+
fcx.Graphics.ShutDown

End Sub

See Also

Graphics Members
Graphics Class


FlowChartPro.Graphics Properties

Graphics Properties
[image]

Public Properties

Name | Description
AntiAliasing | Gets or sets a value specifying whether to smooth lines and curves via anti-aliasing.
EngineType | Gets a value indicating the currently used graphics engine.

See Also

Graphics Class


FlowChartPro.Graphics.AntiAliasing Property

Graphics.AntiAliasing Property
[image]

Gets or sets a value specifying whether to smooth lines and curves via anti-aliasing.

Syntax

VB6 [image] Copy Code

Public Property Get AntiAliasing() As Boolean
Public Property Let AntiAliasing( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AntiAliasing ()
void put_AntiAliasing (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Anti-aliasing is supported only by the GDI+ graphics engine. Drawing is about four times slower when this property is enabled.

See Also

Graphics Members
Graphics Class


FlowChartPro.Graphics.EngineType Property

Graphics.EngineType Property
[image]

Gets a value indicating the currently used graphics engine.

Syntax

VB6 [image] Copy Code

Public Property Get EngineType() As EGraphicsEngine

C++ [image] Copy Code

public:
EGraphicsEngine get_EngineType ()

Property Value

A member of the EGraphicsEngine enumeration. The default is geClassic.

Remarks

That is the last engine that has been started-up successfully via the StartUp method.

See Also

Graphics Members
Graphics Class


FlowChartPro.GridLayout Class

GridLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a grid graph layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class GridLayout

C++ [image] Copy Code

class GridLayout

Remarks

The GridLayout algorithm arranges diagram nodes in a grid, keeping connected nodes close together. The algorithm strives to achieve a small number of arrow crossings and routes arrows through the grid so they do not cross any node.

To apply the layout to a diagram, create a GridLayout instance, set its members and invoke the ArrangeDiagram method. If there are several unconnected graphs in the diagram, it is possible to specify which of them to arrange by means of the Root property.

The distance between points in the layout grid can be changed via GridSize. Nodes to be placed at the upper-left and lower-right corners of the grid can be assigned to StartNode and EndNode.

The grid layout routine is based on an iterative process whose initial steps shuffle the grid nodes randomly. That can lead to very different results each time the algorithm is run. If that is not desired, assign an explicit value to the RandomSeed property.

ArrowAnchoring specifies whether the layout algorithm must attach arrows to the anchor points of graphs nodes.

See Also

GridLayout Members


FlowChartPro.GridLayout Members

GridLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a grid graph layout algorithm.

The following tables list the members exposed by the GridLayout type.

Public Constructors

Name | Description
GridLayout | Initializes a new instance of the GridLayout class.

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating how arrows should be aligned to the anchor points of nodes.
EndNode | Gets or sets the node that should be placed at the lower-right corner of the grid.
GridSize | Gets or sets the distance between adjacent grid points.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NumIterations | Gets or sets how many iterations the grid layout algorithm should run.
RandomSeed | Gets or sets the seed value to use for generating random node positions.
Root | Gets or sets which sub-graph of the diagram should be laid out.
RouteArrows |
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.
StartNode | Gets or sets which node should be placed at the upper-left corner of the grid.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

GridLayout Class


FlowChartPro.GridLayout Constructor

GridLayout Constructor
[image]

Initializes a new instance of the GridLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
GridLayout ()

See Also

GridLayout Class


FlowChartPro.GridLayout Properties

GridLayout Properties
[image]

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating how arrows should be aligned to the anchor points of nodes.
EndNode | Gets or sets the node that should be placed at the lower-right corner of the grid.
GridSize | Gets or sets the distance between adjacent grid points.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NumIterations | Gets or sets how many iterations the grid layout algorithm should run.
RandomSeed | Gets or sets the seed value to use for generating random node positions.
Root | Gets or sets which sub-graph of the diagram should be laid out.
RouteArrows |
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.
StartNode | Gets or sets which node should be placed at the upper-left corner of the grid.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

GridLayout Class


FlowChartPro.GridLayout.ArrowAnchoring Property

GridLayout.ArrowAnchoring Property
[image]

Gets or sets a value indicating how arrows should be aligned to the anchor points of nodes.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowAnchoring() As EAnchoring
Public Property Let ArrowAnchoring( _
ByVal Value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_ArrowAnchoring ()
void put_ArrowAnchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default is ancIgnore.

Remarks

The grid layout algorithm produces best results if it can place arrow ends at arbitrary positions over nodes' outlines, i.e. when this property is set to ancIgnore. If your application logic requires arrows to be always attached to anchor points, use the other two values. In such cases ancReassign would yield better results.

See Also

GridLayout Members
GridLayout Class
FlowChartPro Namespace
Box.AnchorPattern Property


FlowChartPro.GridLayout.EndNode Property

GridLayout.EndNode Property
[image]

Gets or sets the node that should be placed at the lower-right corner of the grid.

Syntax

VB6 [image] Copy Code

Public Property Get EndNode() As Object
Public Property Let EndNode( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_EndNode ()
void put_EndNode (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If you assign a node to that property, then StartNode cannot be null and must be set too. The grid layout routine usually produces better layouts if both StartNode and EndNode are null references; in such case the algorithm automatically selects suitable nodes.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.GridSize Property

GridLayout.GridSize Property
[image]

Gets or sets the distance between adjacent grid points.

Syntax

VB6 [image] Copy Code

Public Property Get GridSize() As Long
Public Property Let GridSize( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_GridSize ()
void put_GridSize (
int value
)

Property Value

A long value. The default is 100.

Remarks

When placing nodes on the grid, the node central points are aligned to the points of the grid.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.MultipleGraphsPlacement Property

GridLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal Value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

Remarks

If the diagram contains several unconnected subgraphs, each of them is processed by the algorithm independently from the others. This property specifies how such subgraphs should be placed one relatively to another. The possible options are to arrange them in a row, in a column, or in such a way that the diagram covers a minimal area.

See Also

GridLayout Members
GridLayout Class
FlowChartPro Namespace
SplitGraph Property


FlowChartPro.GridLayout.NumIterations Property

GridLayout.NumIterations Property
[image]

Gets or sets how many iterations the grid layout algorithm should run.

Syntax

VB6 [image] Copy Code

Public Property Get NumIterations() As Long
Public Property Let NumIterations( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_NumIterations ()
void put_NumIterations (
int value
)

Property Value

A long value. The default is 3000.

Remarks

The algorithm yields better layouts if it runs more iterations, but its execution time grows proportionally to the number of iterations.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.RandomSeed Property

GridLayout.RandomSeed Property
[image]

Gets or sets the seed value to use for generating random node positions.

Syntax

VB6 [image] Copy Code

Public Property Get RandomSeed() As Long
Public Property Let RandomSeed( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_RandomSeed ()
void put_RandomSeed (
int value
)

Property Value

A long value. The default is 0.

Remarks

In its initial stages, the grid layout routine places nodes at random locations. The default value of 0 makes random numbers generated from a different seed each time the routine runs. However, that could lead to the same graph having a different layout each time the algorithm is executed. If that's not desired, assign a value different than zero to this property.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.Root Property

GridLayout.Root Property
[image]

Gets or sets which sub-graph of the diagram should be laid out.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If a diagram contains several unconnected sub-graphs, it is possible to specify which of them to be laid out by specifying a root node. If the root is specified, all nodes and links that can be reached from it define the sub-graph to be arranged. In such a case, other items in the diagram are not affected by a call to ArrangeDiagram.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.RouteArrows Property

GridLayout.RouteArrows Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get RouteArrows() As Boolean
Public Property Let RouteArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RouteArrows ()
void put_RouteArrows (
bool value
)

Property Value

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.SplitGraph Property

GridLayout.SplitGraph Property
[image]

Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

Syntax

VB6 [image] Copy Code

Public Property Get SplitGraph() As Boolean
Public Property Let SplitGraph( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SplitGraph ()
void put_SplitGraph (
bool value
)

Property Value

A boolean value. The default is false.

See Also

GridLayout Members
GridLayout Class
FlowChartPro Namespace
MultipleGraphsPlacement Property


FlowChartPro.GridLayout.StartNode Property

GridLayout.StartNode Property
[image]

Gets or sets which node should be placed at the upper-left corner of the grid.

Syntax

VB6 [image] Copy Code

Public Property Get StartNode() As Object
Public Property Let StartNode( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_StartNode ()
void put_StartNode (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If you assign a node to that property, then EndNode cannot be null and must be set too. GridLayout usually produces better layouts if both StartNode and EndNode are null references; in such a case the algorithm automatically selects suitable nodes.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.XGap Property

GridLayout.XGap Property
[image]

Specifies the horizontal margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get XGap() As Long
Public Property Let XGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_XGap ()
void put_XGap (
int value
)

Property Value

The default value is 30.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.GridLayout.YGap Property

GridLayout.YGap Property
[image]

Specifies the vertical margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get YGap() As Long
Public Property Let YGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_YGap ()
void put_YGap (
int value
)

Property Value

The default value is 30.

See Also

GridLayout Members
GridLayout Class


FlowChartPro.Group Class

Group Class
Remarks See Also
[image]

This class represents an hierarchical group of items in the flowchart document.

Syntax

VB6 [image] Copy Code

Public Class Group

C++ [image] Copy Code

class Group

Remarks

An hierarchy of objects can be built, so that moving an object that is higher in the hierarchy makes all subordinated objects move too. The immediate subordinates of an object are represented by a Group instance. Every group should have a single master object, to which all group members are attached. The master object can be accessed via the MainObject property. The group of objects attached to another object is accessed via the SubordinateGroup property of the latter. MasterGroup gets the group in which an object is a subordinate.

To create a group, call the CreateGroup method of the FlowChart class. A group is automatically destroyed when its master item is deleted. To destroy a group programmatically, call DestroyGroup. Destroying a group does not delete its subordinated items automatically, they are just detached from their master object and remain intact.

Items can be attached to a group in several ways, depending on the type of the master item. If the master is a node, other nodes can be attached via the AttachProportional or AttachToCorner methods. If the master is an arrow, nodes can be attached to it using the AttachToArrowSegment or AttachToArrowPoint methods. Items can be detached from a group via the Detach method.

FollowMasterRotation can be used when the master node is a box. If it is enabled, the positions of the subordinated nodes are updated to reflect the RotationAngle of the box while it is rotated.

The Tag property allows attaching custom data to any group. The FindGroup methods looks for a groups having a specific tag.

See Also

Group Members


FlowChartPro.Group Members

Group Members
Properties Methods
[image]

This class represents an hierarchical group of items in the flowchart document.

The following tables list the members exposed by the Group type.

Public Properties

Name | Description
AttachedBoxes | Gets the collection of boxes attached to this group.
AttachedTables | Gets the collection of tables attached to this group.
AttachmentCount | Gets the number of nodes attached to the group.
FollowMasterRotation | Gets or sets a value specifying whether attached nodes should follow the rotation of a master Box node.
MainObject | Gets the master item of this group.
Tag | Gets or sets a custom data associated with the group.
Visible | Gets or sets a value indicating whether the group is visible.

Public Methods

Name | Description
AttachProportional | Attaches a new node to the group, in such a way that its area is always taking certain percentage of the main object's area.
AttachToArrowPoint | For groups having an arrow for main object, attaches a node to a specified control point.
AttachToArrowSegment | For groups having an arrow for main object, attaches a node to a specified segment.
AttachToCorner | Attaches a new node to the group at a certain distance from a corner of the main object.
AttachToLongestHSegment | Attaches a node to an arrow so that the node stays attached to the longest horizontal segment of the arrow.
DeleteSubordinates | Deletes all subordinate nodes attached to this group.
Detach | Detaches a node from the group.
GetAttachmentInfo |
GetCGroup |

See Also

Group Class


FlowChartPro.Group Methods

Group Methods
[image]

Public Methods

Name | Description
AttachProportional | Attaches a new node to the group, in such a way that its area is always taking certain percentage of the main object's area.
AttachToArrowPoint | For groups having an arrow for main object, attaches a node to a specified control point.
AttachToArrowSegment | For groups having an arrow for main object, attaches a node to a specified segment.
AttachToCorner | Attaches a new node to the group at a certain distance from a corner of the main object.
AttachToLongestHSegment | Attaches a node to an arrow so that the node stays attached to the longest horizontal segment of the arrow.
DeleteSubordinates | Deletes all subordinate nodes attached to this group.
Detach | Detaches a node from the group.
GetAttachmentInfo |
GetCGroup |

See Also

Group Class


FlowChartPro.Group.AttachProportional Method

Group.AttachProportional Method
[image]

Attaches a new node to the group, in such a way that its area is always taking certain percentage of the main object's area.

Syntax

VB6 [image] Copy Code

Public Sub AttachProportional( _
ByVal obj As Object, _
ByVal left As Byte, _
ByVal top As Byte, _
ByVal right As Byte, _
ByVal bottom As Byte _
)

C++ [image] Copy Code

public:
void AttachProportional (
IDispatch* obj,
unsigned char left,
unsigned char top,
unsigned char right,
unsigned char bottom
)

Parameters

obj
The node that should be attached to the group.
left
The left side of the object's bounding rectangle, expressed as percent of main object's width.
top
The top side of the object's bounding rectangle, expressed as percent of main object's height.
right
The right side of the object's bounding rectangle, expressed as percent of main object's width.
bottom
The bottom side of the object's bounding rectangle, expressed as percent of main object's height.

Remarks

Calling this method makes sense only if the main object of the group is either a box or a table. obj - the object that you attach, can be either a box or a table. The left, top, right and bottom arguments specify the position and size of the attached object relative to that of the main object. Their values must be expressed as percent of the main object's extents.

Example

To create a box that displays an image in the top ¾ part of its area and text in its bottom ¼ part, you could use group of three boxes as show below. Note that in the given example the attached objects are locked. Users cannot select or modify them, and if they click one of them the main object is selected instead.

C# [image] Copy Code

group = fc.CreateGroup(boxMain);
group.AttachProportional(boxPict, 0, 0, 100, 75);
group.AttachProportional(boxText, 0, 75, 100, 100);
boxPict.LoadPicture(pictFile);
boxText.Text = strDescription;
boxPict.Locked = true;
boxText.Locked = true;

See Also

Group Members
Group Class


FlowChartPro.Group.AttachToArrowPoint Method

Group.AttachToArrowPoint Method
[image]

For groups having an arrow for main object, attaches a node to a specified control point.

Syntax

VB6 [image] Copy Code

Public Sub AttachToArrowPoint( _
ByVal obj As Object, _
ByVal point As Long _
)

C++ [image] Copy Code

public:
void AttachToArrowPoint (
IDispatch* obj,
int point
)

Parameters

obj
The node that should be attached to the group.
point
The index of an arrow control point.

Remarks

Calling this method makes sense only if the main object of the group is an arrow. obj - the object that you attach can be either a table or a box. When the user moves the arrow control point, whose index is passed as argument, the attached object is also moved with the same translation vector as that of the control point.

See Also

Group Members
Group Class


FlowChartPro.Group.AttachToArrowSegment Method

Group.AttachToArrowSegment Method
[image]

For groups having an arrow for main object, attaches a node to a specified segment.

Syntax

VB6 [image] Copy Code

Public Sub AttachToArrowSegment( _
ByVal obj As Object, _
ByVal segment As Long _
)

C++ [image] Copy Code

public:
void AttachToArrowSegment (
IDispatch* obj,
int segment
)

Parameters

obj
The node that should be attached to the group.
segment
The index of an arrow segment.

Remarks

Calling this method makes sense only if the main object of the group is an arrow. obj - the object that you attach, can be either a table or a box. When the specified arrow segment changes its position, the position of the attached object is also changed, so their mutual distance and orientation are preserved.

See Also

Group Members
Group Class


FlowChartPro.Group.AttachToCorner Method

Group.AttachToCorner Method
[image]

Attaches a new node to the group at a certain distance from a corner of the main object.

Syntax

VB6 [image] Copy Code

Public Sub AttachToCorner( _
ByVal obj As Object, _
ByVal corner As Long _
)

C++ [image] Copy Code

public:
void AttachToCorner (
IDispatch* obj,
int corner
)

Parameters

obj
The node that should be attached to the group.
corner
The index of a box or table corner.

Remarks

Calling this method makes sense only if the main object of the group is either a box or a table. obj - the object that you attach, can be either a box or a table. If the main object is moved or resized, the position of the attached one is updated to retain its placement relative to the reference corner point. The size of the attached object is not altered, just its position. Corner indices are counted from 0, clockwise starting with top-left corner.

See Also

Group Members
Group Class


FlowChartPro.Group.AttachToLongestHSegment Method

Group.AttachToLongestHSegment Method
[image]

Attaches a node to an arrow so that the node stays attached to the longest horizontal segment of the arrow.

Syntax

VB6 [image] Copy Code

Public Sub AttachToLongestHSegment( _
ByVal obj As Object _
)

C++ [image] Copy Code

public:
void AttachToLongestHSegment (
IDispatch* obj
)

Parameters

obj
The node that should be attached to the group

Remarks

The group will track which horizontal segment is the longest one in the arrow at any given time, and will move the attached node to the center of that segment. E.g., this could be used to ensure that a label box will always stay where there is most space for it along the arrow.

The method is intended to be used with cascading arrows (Style = asPerpendicular). When the main object is an ordinary polyline arrow, the group will choose a non-vertical segment, and not a strictly horizontal one.

See Also

Group Members
Group Class


FlowChartPro.Group.DeleteSubordinates Method

Group.DeleteSubordinates Method
[image]

Deletes all subordinate nodes attached to this group.

Syntax

VB6 [image] Copy Code

Public Sub DeleteSubordinates ()

C++ [image] Copy Code

public:
void DeleteSubordinates ()

See Also

Group Members
Group Class


FlowChartPro.Group.Detach Method

Group.Detach Method
[image]

Detaches a node from the group.

Syntax

VB6 [image] Copy Code

Public Sub Detach( _
ByVal obj As Object _
)

C++ [image] Copy Code

public:
void Detach (
IDispatch* obj
)

Parameters

obj
The node that is to be removed from the group.

Remarks

Removes the object specified as argument from the group. The object is not deleted, it is just ceases to be member of the group.

See Also

Group Members
Group Class


FlowChartPro.Group.GetAttachmentInfo Method

Group.GetAttachmentInfo Method
[image]

Syntax

VB6 [image] Copy Code

Public Sub GetAttachmentInfo( _
ByVal Index As Long, _
ByRef type As EAttachType, _
ByRef data As Long, _
ByRef prcLeft As Long, _
ByRef prcTop As Long, _
ByRef prcRight As Long, _
ByRef prcBottom As Long, _
ByRef obj As Object _
)

C++ [image] Copy Code

public:
void GetAttachmentInfo (
int Index,
EAttachType* type,
int* data,
int* prcLeft,
int* prcTop,
int* prcRight,
int* prcBottom,
IDispatch** obj
)

Parameters

Index

type

data

prcLeft

prcTop

prcRight

prcBottom

obj

See Also

Group Members
Group Class


FlowChartPro.Group.GetCGroup Method

Group.GetCGroup Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetCGroup () As Long

C++ [image] Copy Code

public:
unsigned int GetCGroup ()

Return Value

See Also

Group Members
Group Class


FlowChartPro.Group Properties

Group Properties
[image]

Public Properties

Name | Description
AttachedBoxes | Gets the collection of boxes attached to this group.
AttachedTables | Gets the collection of tables attached to this group.
AttachmentCount | Gets the number of nodes attached to the group.
FollowMasterRotation | Gets or sets a value specifying whether attached nodes should follow the rotation of a master Box node.
MainObject | Gets the master item of this group.
Tag | Gets or sets a custom data associated with the group.
Visible | Gets or sets a value indicating whether the group is visible.

See Also

Group Class


FlowChartPro.Group.AttachedBoxes Property

Group.AttachedBoxes Property
[image]

Gets the collection of boxes attached to this group.

Syntax

VB6 [image] Copy Code

Public Property Get AttachedBoxes() As IBoxes

C++ [image] Copy Code

public:
IBoxes* get_AttachedBoxes ()

Property Value

A collection of Box objects.

Remarks

Returns a collection of the boxes attached to the group. The main object of the group is not included in the collection.

See Also

Group Members
Group Class


FlowChartPro.Group.AttachedTables Property

Group.AttachedTables Property
[image]

Gets the collection of tables attached to this group.

Syntax

VB6 [image] Copy Code

Public Property Get AttachedTables() As ITables

C++ [image] Copy Code

public:
ITables* get_AttachedTables ()

Property Value

A collection of Table objects.

Remarks

Returns a collection of the tables attached to the group. The main object of the group is not included in the collection.

See Also

Group Members
Group Class


FlowChartPro.Group.AttachmentCount Property

Group.AttachmentCount Property
[image]

Gets the number of nodes attached to the group.

Syntax

VB6 [image] Copy Code

Public Property Get AttachmentCount() As Long

C++ [image] Copy Code

public:
int get_AttachmentCount ()

Property Value

An integer value.

See Also

Group Members
Group Class


FlowChartPro.Group.FollowMasterRotation Property

Group.FollowMasterRotation Property
[image]

Gets or sets a value specifying whether attached nodes should follow the rotation of a master Box node.

Syntax

VB6 [image] Copy Code

Public Property Get FollowMasterRotation() As Boolean
Public Property Let FollowMasterRotation( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FollowMasterRotation ()
void put_FollowMasterRotation (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set this property to true to specify that attached nodes should follow the rotation of a master box node. The attached nodes are not rotated, but only their positions change. I.e. their center points are rotated at the master box' RotationAngle relative to the master box center.

See Also

Group Members
Group Class


FlowChartPro.Group.MainObject Property

Group.MainObject Property
[image]

Gets the master item of this group.

Syntax

VB6 [image] Copy Code

Public Property Get MainObject() As Object

C++ [image] Copy Code

public:
IDispatch* get_MainObject ()

Property Value

A reference to object.

Remarks

This is the main object of the group - the one to which all other group objects are aligned. When it is modified all other objects in the group are moved and/or resized, according to the way they are attached to it.

See Also

Group Members
Group Class


FlowChartPro.Group.Tag Property

Group.Tag Property
[image]

Gets or sets a custom data associated with the group.

Syntax

VB6 [image] Copy Code

Public Property Get Tag() As Long
Public Property Let Tag( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Tag ()
void put_Tag (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data that is not used by FlowChartX in any way. Possible usage includes storing some integer identifier or a pointer to a larger structure.

See Also

Group Members
Group Class


FlowChartPro.Group.Visible Property

Group.Visible Property
[image]

Gets or sets a value indicating whether the group is visible.

Syntax

VB6 [image] Copy Code

Public Property Get Visible() As Boolean
Public Property Let Visible( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Visible ()
void put_Visible (
bool value
)

Property Value

A boolean value.

Remarks

Allows making all items in the group visible or invisible.

See Also

Group Members
Group Class


FlowChartPro.HtmlBuilder Class

HtmlBuilder Class
Remarks See Also
[image]

Provides methods and properties for building HTML image maps.

Syntax

VB6 [image] Copy Code

Public Class HtmlBuilder

C++ [image] Copy Code

class HtmlBuilder

Remarks

If an exported diagram image is embedded in an HTML page, it is useful to have an image map whose areas correspond to the nodes visible on the image. The CreateImageMap method generates a full <MAP> tag, including its <AREA> elements.

Each FlowChartX box or table has a corresponding <AREA> created. Boxes outlines that contain curves or arcs are automatically approximated to polygons. Outline coordinates are assigned to the COORDS attribute of an <AREA>. The HREF, TITLE and TARGET attributes are set to the values of respectively HyperLink and ToolTip properties of boxes and LinkTarget property of HtmlBuilder.

To reference an image map from an image tag, assign the map's identifier to the USEMAP attribute of <IMG> like this:

HTML [image] Copy Code

<IMG SRC="..." USEMAP="#mapid">

See Also

HtmlBuilder Members


FlowChartPro.HtmlBuilder Members

HtmlBuilder Members
Constructors Properties Methods
[image]

Provides methods and properties for building HTML image maps.

The following tables list the members exposed by the HtmlBuilder type.

Public Constructors

Name | Description
HtmlBuilder | Initializes a new instance of the HtmlBuilder class.

Public Properties

Name | Description
Document | Gets or sets the FlowChart for which to create a corresponding HTML image map.
LinkTarget | Gets or sets the value of the TARGET attribute of each <AREA> tag included in the image map.

Public Methods

Name | Description
CreateImageMap | Generates an HTML image map code based on the contents of Document.

See Also

HtmlBuilder Class


FlowChartPro.HtmlBuilder Constructor

HtmlBuilder Constructor
[image]

Initializes a new instance of the HtmlBuilder class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
HtmlBuilder ()

See Also

HtmlBuilder Class


FlowChartPro.HtmlBuilder Methods

HtmlBuilder Methods
[image]

Public Methods

Name | Description
CreateImageMap | Generates an HTML image map code based on the contents of Document.

See Also

HtmlBuilder Class


FlowChartPro.HtmlBuilder.CreateImageMap Method

HtmlBuilder.CreateImageMap Method
[image]

Generates an HTML image map code based on the contents of Document.

Syntax

VB6 [image] Copy Code

Public Function CreateImageMap( _
ByVal MapName As String _
) As String

C++ [image] Copy Code

public:
BSTR CreateImageMap (
BSTR MapName
)

Parameters

MapName

The name of the HTML image map generated.

Return Value

Remarks

Document must be assigned to before calling this method. The <AREA> definitions included in the map correspond to the outlines of diagram nodes. Outlines of curved box shapes are approximated to polygons.

The value of the HyperLink property of each node is assigned to the HREF attribute of the node's <AREA>. The ALT attribute is set to the value of node's ToolTip. Each area's TARGET is set to LinkTarget.

See Also

HtmlBuilder Members
HtmlBuilder Class


FlowChartPro.HtmlBuilder Properties

HtmlBuilder Properties
[image]

Public Properties

Name | Description
Document | Gets or sets the FlowChart for which to create a corresponding HTML image map.
LinkTarget | Gets or sets the value of the TARGET attribute of each <AREA> tag included in the image map.

See Also

HtmlBuilder Class


FlowChartPro.HtmlBuilder.Document Property

HtmlBuilder.Document Property
[image]

Gets or sets the FlowChart for which to create a corresponding HTML image map.

Syntax

VB6 [image] Copy Code

Public Property Get Document() As FlowChart
Public Property Let Document( _
ByVal Value As FlowChart _
)

C++ [image] Copy Code

public:
FlowChart* get_Document ()
void put_Document (
FlowChart* value
)

Property Value

A reference to a FlowChart instance. The default is null (Nothing in Visual Basic).

See Also

HtmlBuilder Members
HtmlBuilder Class


FlowChartPro.HtmlBuilder.LinkTarget Property

HtmlBuilder.LinkTarget Property
[image]

Gets or sets the value of the TARGET attribute of each <AREA> tag included in the image map.

Syntax

VB6 [image] Copy Code

Public Property Get LinkTarget() As String
Public Property Let LinkTarget( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_LinkTarget ()
void put_LinkTarget (
BSTR value
)

Property Value

A string value. The default is "_self".

Remarks

This property indicates the target window or frame where image area hyperlinks are opened. The target could be either a named frame or one of the following special values:

_blank | Loads the linked document into a new blank window.
_parent | Loads the linked document into current document's parent.
_self | Loads the linked document into the same window.
_top | Loads the linked document into the topmost window.

See Also

HtmlBuilder Members
HtmlBuilder Class


FlowChartPro.IArrows Interface

IArrows Interface
[image]

Represents a collection of Arrow objects.

Syntax

VB6 [image] Copy Code

Public Interface IArrows

C++ [image] Copy Code

class IArrows

See Also

IArrows Members


FlowChartPro.IArrows Members

IArrows Members
Properties Methods
[image]

Represents a collection of Arrow objects.

The following tables list the members exposed by the IArrows type.

Public Properties

Name | Description
Count | Gets the number of arrows in the collection.
Item | Gets the arrow at the specified index.

Public Methods

Name | Description
ChangeIndex | Changes the index of an arrow in the collection.
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IArrows Interface


FlowChartPro.IArrows Methods

IArrows Methods
[image]

Public Methods

Name | Description
ChangeIndex | Changes the index of an arrow in the collection.
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IArrows Interface


FlowChartPro.IArrows.ChangeIndex Method

IArrows.ChangeIndex Method
[image]

Changes the index of an arrow in the collection.

Syntax

VB6 [image] Copy Code

Public Function ChangeIndex( _
ByVal arrow As Arrow, _
ByVal newIndex As Long _
) As Long

C++ [image] Copy Code

public:
int ChangeIndex (
Arrow* arrow,
int newIndex
) = 0

Parameters

arrow
The arrow whose index to change.
newIndex
The new index of the arrow.

Return Value

An integer value specifying the old index of the arrow in the collection.

Remarks

The order of the arrows in the OutgoingArrows or IncomingArrows collection of a node defines the order of the child nodes arranged below their parent node by the TreeLayout class. If the child nodes must be arranged in a specific order, rearrange the arrows connecting the child nodes to their parent using the ChangeIndex method. It depends on the ReversedArrows of the TreeLayout class which of the arrows collections of a node are used to traverse the tree.

See Also

IArrows Members
IArrows Interface


FlowChartPro.IArrows.GetEnumerator Method

IArrows.GetEnumerator Method
[image]

Returns an IEnumerator object that can be used to traverse the collection.

Syntax

VB6 [image] Copy Code

Public Function GetEnumerator () As IEnumerator

C++ [image] Copy Code

public:
IEnumerator* GetEnumerator () = 0

Return Value

See Also

IArrows Members
IArrows Interface


FlowChartPro.IArrows Properties

IArrows Properties
[image]

Public Properties

Name | Description
Count | Gets the number of arrows in the collection.
Item | Gets the arrow at the specified index.

See Also

IArrows Interface


FlowChartPro.IArrows.Count Property

IArrows.Count Property
[image]

Gets the number of arrows in the collection.

Syntax

VB6 [image] Copy Code

Public Property Get Count() As Long

C++ [image] Copy Code

public:
int get_Count ()

Property Value

A long value.

See Also

IArrows Members
IArrows Interface


FlowChartPro.IArrows.Item Property

IArrows.Item Property
[image]

Gets the arrow at the specified index.

Syntax

VB6 [image] Copy Code

Public Property Get Item( _
ByVal Index As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* get_Item (
int Index
)

Parameters

Index

Property Value

A reference to Arrow object.

Remarks

Retrieves a reference to the arrow object on the index-th place of the collection.

See Also

IArrows Members
IArrows Interface


FlowChartPro.IBoxes Interface

IBoxes Interface
[image]

Represents a collection of Box objects.

Syntax

VB6 [image] Copy Code

Public Interface IBoxes

C++ [image] Copy Code

class IBoxes

See Also

IBoxes Members


FlowChartPro.IBoxes Members

IBoxes Members
Properties Methods
[image]

Represents a collection of Box objects.

The following tables list the members exposed by the IBoxes type.

Public Properties

Name | Description
Count | Gets the number of boxes in the collection.
Item | Gets the box at the specified index.

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IBoxes Interface


FlowChartPro.IBoxes Methods

IBoxes Methods
[image]

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IBoxes Interface


FlowChartPro.IBoxes.GetEnumerator Method

IBoxes.GetEnumerator Method
[image]

Returns an IEnumerator object that can be used to traverse the collection.

Syntax

VB6 [image] Copy Code

Public Function GetEnumerator () As IEnumerator

C++ [image] Copy Code

public:
IEnumerator* GetEnumerator () = 0

Return Value

See Also

IBoxes Members
IBoxes Interface


FlowChartPro.IBoxes Properties

IBoxes Properties
[image]

Public Properties

Name | Description
Count | Gets the number of boxes in the collection.
Item | Gets the box at the specified index.

See Also

IBoxes Interface


FlowChartPro.IBoxes.Count Property

IBoxes.Count Property
[image]

Gets the number of boxes in the collection.

Syntax

VB6 [image] Copy Code

Public Property Get Count() As Long

C++ [image] Copy Code

public:
int get_Count ()

Property Value

A long value.

See Also

IBoxes Members
IBoxes Interface


FlowChartPro.IBoxes.Item Property

IBoxes.Item Property
[image]

Gets the box at the specified index.

Syntax

VB6 [image] Copy Code

Public Property Get Item( _
ByVal Index As Long _
) As Box

C++ [image] Copy Code

public:
Box* get_Item (
int Index
)

Parameters

Index

Property Value

A reference to Box object.

Remarks

Retrieves a reference to the box object on the Index-th place of the collection.

See Also

IBoxes Members
IBoxes Interface


FlowChartPro.IDecorations Interface

IDecorations Interface
[image]

Represents a collection of DecorationLine objects.

Syntax

VB6 [image] Copy Code

Public Interface IDecorations

C++ [image] Copy Code

class IDecorations

See Also

IDecorations Members


FlowChartPro.IDecorations Members

IDecorations Members
Properties Methods
[image]

Represents a collection of DecorationLine objects.

The following tables list the members exposed by the IDecorations type.

Public Properties

Name | Description
Count | Gets the number of items in the collection.
Item | Gets the decoration at the specified index.

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IDecorations Interface


FlowChartPro.IDecorations Methods

IDecorations Methods
[image]

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IDecorations Interface


FlowChartPro.IDecorations.GetEnumerator Method

IDecorations.GetEnumerator Method
[image]

Returns an IEnumerator object that can be used to traverse the collection.

Syntax

VB6 [image] Copy Code

Public Function GetEnumerator () As IEnumerator

C++ [image] Copy Code

public:
IEnumerator* GetEnumerator () = 0

Return Value

See Also

IDecorations Members
IDecorations Interface


FlowChartPro.IDecorations Properties

IDecorations Properties
[image]

Public Properties

Name | Description
Count | Gets the number of items in the collection.
Item | Gets the decoration at the specified index.

See Also

IDecorations Interface


FlowChartPro.IDecorations.Count Property

IDecorations.Count Property
[image]

Gets the number of items in the collection.

Syntax

VB6 [image] Copy Code

Public Property Get Count() As Long

C++ [image] Copy Code

public:
int get_Count ()

Property Value

A long value.

See Also

IDecorations Members
IDecorations Interface


FlowChartPro.IDecorations.Item Property

IDecorations.Item Property
[image]

Gets the decoration at the specified index.

Syntax

VB6 [image] Copy Code

Public Property Get Item( _
ByVal Index As Long _
) As DecorationLine

C++ [image] Copy Code

public:
DecorationLine* get_Item (
int Index
)

Parameters

Index

Property Value

A reference to a DecorationLine object.

Remarks

Retrieves a reference to the decoration object on the Index-th place of the collection.

See Also

IDecorations Members
IDecorations Interface


FlowChartPro.IGroups Interface

IGroups Interface
[image]

Represents a collection of Group objects.

Syntax

VB6 [image] Copy Code

Public Interface IGroups

C++ [image] Copy Code

class IGroups

See Also

IGroups Members


FlowChartPro.IGroups Members

IGroups Members
Properties Methods
[image]

Represents a collection of Group objects.

The following tables list the members exposed by the IGroups type.

Public Properties

Name | Description
Count | Gets the number of groups in the collection.
Item | Gets the group at the specified index.

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IGroups Interface


FlowChartPro.IGroups Methods

IGroups Methods
[image]

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

IGroups Interface


FlowChartPro.IGroups.GetEnumerator Method

IGroups.GetEnumerator Method
[image]

Returns an IEnumerator object that can be used to traverse the collection.

Syntax

VB6 [image] Copy Code

Public Function GetEnumerator () As IEnumerator

C++ [image] Copy Code

public:
IEnumerator* GetEnumerator () = 0

Return Value

See Also

IGroups Members
IGroups Interface


FlowChartPro.IGroups Properties

IGroups Properties
[image]

Public Properties

Name | Description
Count | Gets the number of groups in the collection.
Item | Gets the group at the specified index.

See Also

IGroups Interface


FlowChartPro.IGroups.Count Property

IGroups.Count Property
[image]

Gets the number of groups in the collection.

Syntax

VB6 [image] Copy Code

Public Property Get Count() As Long

C++ [image] Copy Code

public:
int get_Count ()

Property Value

A long value.

See Also

IGroups Members
IGroups Interface


FlowChartPro.IGroups.Item Property

IGroups.Item Property
[image]

Gets the group at the specified index.

Syntax

VB6 [image] Copy Code

Public Property Get Item( _
ByVal Index As Long _
) As Group

C++ [image] Copy Code

public:
Group* get_Item (
int Index
)

Parameters

Index

Property Value

A reference to Group object.

Remarks

Retrieves a reference to the group object on the index-th place of the collection.

See Also

IGroups Members
IGroups Interface


FlowChartPro.ImageExportOptions Class

ImageExportOptions Class
[image]

Provides several customization properties for the CreateBitmap and SaveToBitmap methods.

Syntax

VB6 [image] Copy Code

Public Class ImageExportOptions

C++ [image] Copy Code

class ImageExportOptions

See Also

ImageExportOptions Members


FlowChartPro.ImageExportOptions Members

ImageExportOptions Members
Properties
[image]

Provides several customization properties for the CreateBitmap and SaveToBitmap methods.

The following tables list the members exposed by the ImageExportOptions type.

Public Properties

Name | Description
Bottom |
EnableBkgrColor | Gets or sets a value indicating whether flowchart's BackColor will be used to fill the background of exported image.
EnableBkgrImage | Gets or sets a value indicating whether flowchart's Picture will be rendered in the exported image.
EnableSelHandles | Gets or sets a value indicating whether to render selection handles.
EnableShadows | Gets or sets a value indicating whether to render shadows of flowchart items.
GdiPlusExtensions | Gets or sets a value indicating whether GDI+ metafile extensions are enabled.
Left |
Right |
ScaleFactor | Gets or sets the scaling factor of the exported image.
Top |

See Also

ImageExportOptions Class


FlowChartPro.ImageExportOptions Properties

ImageExportOptions Properties
[image]

Public Properties

Name | Description
Bottom |
EnableBkgrColor | Gets or sets a value indicating whether flowchart's BackColor will be used to fill the background of exported image.
EnableBkgrImage | Gets or sets a value indicating whether flowchart's Picture will be rendered in the exported image.
EnableSelHandles | Gets or sets a value indicating whether to render selection handles.
EnableShadows | Gets or sets a value indicating whether to render shadows of flowchart items.
GdiPlusExtensions | Gets or sets a value indicating whether GDI+ metafile extensions are enabled.
Left |
Right |
ScaleFactor | Gets or sets the scaling factor of the exported image.
Top |

See Also

ImageExportOptions Class


FlowChartPro.ImageExportOptions.Bottom Property

ImageExportOptions.Bottom Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Bottom() As Long
Public Property Let Bottom( _
ByVal Value As Long _
)

C++ [image] Copy Code

public:
int get_Bottom ()
void put_Bottom (
int value
)

Property Value

An integer value.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.EnableBkgrColor Property

ImageExportOptions.EnableBkgrColor Property
[image]

Gets or sets a value indicating whether flowchart's BackColor will be used to fill the background of exported image.

Syntax

VB6 [image] Copy Code

Public Property Get EnableBkgrColor() As Boolean
Public Property Let EnableBkgrColor( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableBkgrColor ()
void put_EnableBkgrColor (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

If set to false, the background will be filled in white.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.EnableBkgrImage Property

ImageExportOptions.EnableBkgrImage Property
[image]

Gets or sets a value indicating whether flowchart's Picture will be rendered in the exported image.

Syntax

VB6 [image] Copy Code

Public Property Get EnableBkgrImage() As Boolean
Public Property Let EnableBkgrImage( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableBkgrImage ()
void put_EnableBkgrImage (
bool value
)

Property Value

A boolean value. The default is false.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.EnableSelHandles Property

ImageExportOptions.EnableSelHandles Property
[image]

Gets or sets a value indicating whether to render selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get EnableSelHandles() As Boolean
Public Property Let EnableSelHandles( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableSelHandles ()
void put_EnableSelHandles (
bool value
)

Property Value

A boolean value. The default is false.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.EnableShadows Property

ImageExportOptions.EnableShadows Property
[image]

Gets or sets a value indicating whether to render shadows of flowchart items.

Syntax

VB6 [image] Copy Code

Public Property Get EnableShadows() As Boolean
Public Property Let EnableShadows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableShadows ()
void put_EnableShadows (
bool value
)

Property Value

A boolean value. The default is true.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.GdiPlusExtensions Property

ImageExportOptions.GdiPlusExtensions Property
[image]

Gets or sets a value indicating whether GDI+ metafile extensions are enabled.

Syntax

VB6 [image] Copy Code

Public Property Get GdiPlusExtensions() As Boolean
Public Property Let GdiPlusExtensions( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_GdiPlusExtensions ()
void put_GdiPlusExtensions (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If the GDI+ Graphics engine is enabled, SaveToMetaFile can export metafiles in two modes.

  • The default mode creates standard EMF files, which can be played via classic GDI API functions, but effects like antialiasing and semi-transparency are not saved in them.
  • If GDI+ metafile extensions are enabled, exported metafiles contain extended GDI+ records for antialiasing and alpha-blending, but such metafiles can be displayed correctly only by GDI+ enabled applications.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.Left Property

ImageExportOptions.Left Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Left() As Long
Public Property Let Left( _
ByVal Value As Long _
)

C++ [image] Copy Code

public:
int get_Left ()
void put_Left (
int value
)

Property Value

An integer value.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.Right Property

ImageExportOptions.Right Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Right() As Long
Public Property Let Right( _
ByVal Value As Long _
)

C++ [image] Copy Code

public:
int get_Right ()
void put_Right (
int value
)

Property Value

An integer value.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.ScaleFactor Property

ImageExportOptions.ScaleFactor Property
[image]

Gets or sets the scaling factor of the exported image.

Syntax

VB6 [image] Copy Code

Public Property Get ScaleFactor() As Long
Public Property Let ScaleFactor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ScaleFactor ()
void put_ScaleFactor (
int value
)

Property Value

A long value. The default is 100.

Remarks

If scaling must be applied to the exported image, set this property to a value different than 100. A ScaleFactor less than 100 produces a smaller image. ScaleFactor greater than 100 produces a bigger image.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ImageExportOptions.Top Property

ImageExportOptions.Top Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get Top() As Long
Public Property Let Top( _
ByVal Value As Long _
)

C++ [image] Copy Code

public:
int get_Top ()
void put_Top (
int value
)

Property Value

An integer value.

See Also

ImageExportOptions Members
ImageExportOptions Class


FlowChartPro.ITables Interface

ITables Interface
[image]

Represents a collection of Table objects.

Syntax

VB6 [image] Copy Code

Public Interface ITables

C++ [image] Copy Code

class ITables

See Also

ITables Members


FlowChartPro.ITables Members

ITables Members
Properties Methods
[image]

Represents a collection of Table objects.

The following tables list the members exposed by the ITables type.

Public Properties

Name | Description
Count | Gets the number of tables in the collection.
Item | Gets the table at the specified index.

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

ITables Interface


FlowChartPro.ITables Methods

ITables Methods
[image]

Public Methods

Name | Description
GetEnumerator | Returns an IEnumerator object that can be used to traverse the collection.

See Also

ITables Interface


FlowChartPro.ITables.GetEnumerator Method

ITables.GetEnumerator Method
[image]

Returns an IEnumerator object that can be used to traverse the collection.

Syntax

VB6 [image] Copy Code

Public Function GetEnumerator () As IEnumerator

C++ [image] Copy Code

public:
IEnumerator* GetEnumerator () = 0

Return Value

See Also

ITables Members
ITables Interface


FlowChartPro.ITables Properties

ITables Properties
[image]

Public Properties

Name | Description
Count | Gets the number of tables in the collection.
Item | Gets the table at the specified index.

See Also

ITables Interface


FlowChartPro.ITables.Count Property

ITables.Count Property
[image]

Gets the number of tables in the collection.

Syntax

VB6 [image] Copy Code

Public Property Get Count() As Long

C++ [image] Copy Code

public:
int get_Count ()

Property Value

A long value.

See Also

ITables Members
ITables Interface


FlowChartPro.ITables.Item Property

ITables.Item Property
[image]

Gets the table at the specified index.

Syntax

VB6 [image] Copy Code

Public Property Get Item( _
ByVal Index As Long _
) As Table

C++ [image] Copy Code

public:
Table* get_Item (
int Index
)

Parameters

Index
The 0-based index of the table to retrieve.

Property Value

A reference to Table object.

Remarks

Retrieves a reference to the table object on the index-th place of the collection.

See Also

ITables Members
ITables Interface


FlowChartPro.LayeredLayout Class

LayeredLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a layered graph layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class LayeredLayout

C++ [image] Copy Code

class LayeredLayout

Remarks

This algorithm assigns diagram nodes to distinct horizontal or vertical layers. While arranging the layers, the layout routine seeks to meet the following criteria:

  • connected nodes must be placed close together;
  • links must flow in one direction if possible;
  • links must cross as few layers as possible;
  • links must not cross other links;

To apply this layout to a diagram, create a LayeredLayout instance, set its members and invoke the ArrangeDiagram method. If there are several unconnected graphs in the diagram, it is possible to specify which of them to arrange by means of the Root property.

By default, layers are generated along the longest path in the graph, where each node from the path is placed on a consecutive layer. Arranging nodes along the longest path guarantees that all links from the path flow in the same direction, but could lead to many other links point backwards in the graph. To ensure that the maximum possible number of links flow in the same direction, set the EnforceLinkFlow property. If you need specific nodes to be used as a start and end node in the layout and the layering of other nodes be determined by their distance from the start, set the StartNode and EndNode properties.

The final appearance of arranged graphs depends mostly on the Orientation property which defines the overall orientation of the layout. The LayerDistance and NodeDistance properties specify how much space to leave between adjacent layers and adjacent nodes in a layer. Note that the size of nodes is ignored by default; to specify that the node size should be considered, set IgnoreNodeSize to false.

The performance of LayeredLayout is dependent on the number of links in the diagram. At its first stage, the algorithm looks for the longest sequence of links in the graph and builds the node layers along it. That stage can be the most time consuming if there are a lot of links in a graph, so there is the TimeLimit property provided to control how much time the layout routine is allowed to spend on path-finding. Next, if there are layers much longer than the other ones and SplitLayers is enabled, nodes from these layers are moved to new ones so the graph width is uniformly distributed.

The layout routine continues by shuffling nodes and link points across their layers, so the criteria mentioned above are approximated. Finally, link ends are aligned to anchor points if ArrowAnchoring is enabled and the distance between outermost links is decreased as set in CompactFactor.

See Also

LayeredLayout Members


FlowChartPro.LayeredLayout Members

LayeredLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a layered graph layout algorithm.

The following tables list the members exposed by the LayeredLayout type.

Public Constructors

Name | Description
LayeredLayout | Initializes a new instance of the LayeredLayout class.

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
CompactFactor | Gets or sets a value indicating the relative distance between adjacent links in the layout.
EndNode | Gets or sets the node that should be placed in the last layer of the arranged graph.
EnforceLinkFlow | Gets or sets a value indicating whether to attempt to force all links to go in the same direction. If the graph being arrange has cycles, some of the links will still go backward.
IgnoreNodeSize | Gets or sets a value indicating whether the distance between adjacent nodes in the final layout should be independent of the nodes' size.
LayerDistance | Gets or sets the desired distance between layers in the resulting layout.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeDistance | Gets or sets the desired distance between adjacent nodes that belong to the same layer.
Orientation | Gets or sets the overall orientation of the arranged diagram.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitLayers | Gets or sets a value indicating whether to split layers that are much wider than the other layers.
StartNode | Gets or sets the node that should be placed in the first layer of the arranged graph.
StraightenLongLinks | Gets or sets whether the layout algorithm should strive to straighten links that cross more than one layer of the graph.
SwapPairsIterations | Gets or sets how many times to perform pair-swapping iterations for each layer.
TimeLimit | Gets or sets the maximum time to spend in the path searching phase, expressed in milliseconds.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

LayeredLayout Class


FlowChartPro.LayeredLayout Constructor

LayeredLayout Constructor
[image]

Initializes a new instance of the LayeredLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
LayeredLayout ()

See Also

LayeredLayout Class


FlowChartPro.LayeredLayout Properties

LayeredLayout Properties
[image]

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
CompactFactor | Gets or sets a value indicating the relative distance between adjacent links in the layout.
EndNode | Gets or sets the node that should be placed in the last layer of the arranged graph.
EnforceLinkFlow | Gets or sets a value indicating whether to attempt to force all links to go in the same direction. If the graph being arrange has cycles, some of the links will still go backward.
IgnoreNodeSize | Gets or sets a value indicating whether the distance between adjacent nodes in the final layout should be independent of the nodes' size.
LayerDistance | Gets or sets the desired distance between layers in the resulting layout.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeDistance | Gets or sets the desired distance between adjacent nodes that belong to the same layer.
Orientation | Gets or sets the overall orientation of the arranged diagram.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitLayers | Gets or sets a value indicating whether to split layers that are much wider than the other layers.
StartNode | Gets or sets the node that should be placed in the first layer of the arranged graph.
StraightenLongLinks | Gets or sets whether the layout algorithm should strive to straighten links that cross more than one layer of the graph.
SwapPairsIterations | Gets or sets how many times to perform pair-swapping iterations for each layer.
TimeLimit | Gets or sets the maximum time to spend in the path searching phase, expressed in milliseconds.
XGap | Specifies the horizontal margin between separate subgraphs arranged by this algorithm.
YGap | Specifies the vertical margin between separate subgraphs arranged by this algorithm.

See Also

LayeredLayout Class


FlowChartPro.LayeredLayout.ArrowAnchoring Property

LayeredLayout.ArrowAnchoring Property
[image]

Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowAnchoring() As EAnchoring
Public Property Let ArrowAnchoring( _
ByVal Value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_ArrowAnchoring ()
void put_ArrowAnchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default value is ancIgnore.

See Also

LayeredLayout Members
LayeredLayout Class
FlowChartPro Namespace
Box.AnchorPattern Property
Table.AnchorPattern Property


FlowChartPro.LayeredLayout.CompactFactor Property

LayeredLayout.CompactFactor Property
[image]

Gets or sets a value indicating the relative distance between adjacent links in the layout.

Syntax

VB6 [image] Copy Code

Public Property Get CompactFactor() As Single
Public Property Let CompactFactor( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_CompactFactor ()
void put_CompactFactor (
float value
)

Property Value

A float value. The default is 1.

Remarks

Links and nodes on the same graph layer are distributed uniformly as specified via the NodeDistance value. However, if there are more than 2-3 outermost arrows on a layer, they usually take up too much space without improving the visual quality of the diagram layout. This property allows decreasing the distance between such arrows in order to save space. The factor specifies roughly what fraction of NodeDistance to leave between outer arrows.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.EndNode Property

LayeredLayout.EndNode Property
[image]

Gets or sets the node that should be placed in the last layer of the arranged graph.

Syntax

VB6 [image] Copy Code

Public Property Get EndNode() As Object
Public Property Let EndNode( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_EndNode ()
void put_EndNode (
IDispatch* value
)

Property Value

A box or table object representing the end node.

Remarks

This value is honored only if StartNode is specified too.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.EnforceLinkFlow Property

LayeredLayout.EnforceLinkFlow Property
[image]

Gets or sets a value indicating whether to attempt to force all links to go in the same direction. If the graph being arrange has cycles, some of the links will still go backward.

Syntax

VB6 [image] Copy Code

Public Property Get EnforceLinkFlow() As Boolean
Public Property Let EnforceLinkFlow( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnforceLinkFlow ()
void put_EnforceLinkFlow (
bool value
)

Property Value

A boolean value.

Remarks

SplitLayers is ignored if this property is set to true.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.IgnoreNodeSize Property

LayeredLayout.IgnoreNodeSize Property
[image]

Gets or sets a value indicating whether the distance between adjacent nodes in the final layout should be independent of the nodes' size.

Syntax

VB6 [image] Copy Code

Public Property Get IgnoreNodeSize() As Boolean
Public Property Let IgnoreNodeSize( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_IgnoreNodeSize ()
void put_IgnoreNodeSize (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

The algorithm runs slower if this property is set to false, but produces better results when nodes in the flowchart vary much in size.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.LayerDistance Property

LayeredLayout.LayerDistance Property
[image]

Gets or sets the desired distance between layers in the resulting layout.

Syntax

VB6 [image] Copy Code

Public Property Get LayerDistance() As Long
Public Property Let LayerDistance( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LayerDistance ()
void put_LayerDistance (
int value
)

Property Value

A long value. The default is 30.

Remarks

This values specifies the distance between layer axis lines, and not that between the edges of nodes in adjacent layers.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.MultipleGraphsPlacement Property

LayeredLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal Value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

Remarks

If the diagram contains several unconnected subgraphs, each of them is processed by the algorithm independently from the others. This property specifies how such subgraphs should be placed one relatively to another. The possible options are to arrange them in a row, in a column, or in such a way that the diagram covers a minimal area.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.NodeDistance Property

LayeredLayout.NodeDistance Property
[image]

Gets or sets the desired distance between adjacent nodes that belong to the same layer.

Syntax

VB6 [image] Copy Code

Public Property Get NodeDistance() As Long
Public Property Let NodeDistance( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_NodeDistance ()
void put_NodeDistance (
int value
)

Property Value

A long value. The default is 45.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.Orientation Property

LayeredLayout.Orientation Property
[image]

Gets or sets the overall orientation of the arranged diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Orientation() As EOrientation
Public Property Let Orientation( _
ByVal Value As EOrientation _
)

C++ [image] Copy Code

public:
EOrientation get_Orientation ()
void put_Orientation (
EOrientation value
)

Property Value

A member of the EOrientation enumeration. The default is orVertical.

Remarks

Use orVertical to have arrows flow in vertical direction or orHorizontal for horizontal direction. The orientation of the resulting layers is opposite to that of the arrows. E.g. if arrows tend to go in vertical direction, the nodes are distributed in horizontal layers.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.Root Property

LayeredLayout.Root Property
[image]

Gets or sets which sub-graph of the diagram should be laid out.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If a diagram contains several unconnected sub-graphs, it is possible to specify which of them to be laid out by specifying a root node. If the root is specified, all nodes and links that can be reached from it define the sub-graph to be arranged. In such a case, other items in the diagram are not affected by a call to ArrangeDiagram.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.SplitLayers Property

LayeredLayout.SplitLayers Property
[image]

Gets or sets a value indicating whether to split layers that are much wider than the other layers.

Syntax

VB6 [image] Copy Code

Public Property Get SplitLayers() As Boolean
Public Property Let SplitLayers( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SplitLayers ()
void put_SplitLayers (
bool value
)

Property Value

A boolean value. The default is false.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.StartNode Property

LayeredLayout.StartNode Property
[image]

Gets or sets the node that should be placed in the first layer of the arranged graph.

Syntax

VB6 [image] Copy Code

Public Property Get StartNode() As Object
Public Property Let StartNode( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_StartNode ()
void put_StartNode (
IDispatch* value
)

Property Value

A box or table object representing the start node.

Remarks

If there is no start node specified, the algorithm automatically selects one based on other LayeredLayout properties, such as EnforceLinkFlow.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.StraightenLongLinks Property

LayeredLayout.StraightenLongLinks Property
[image]

Gets or sets whether the layout algorithm should strive to straighten links that cross more than one layer of the graph.

Syntax

VB6 [image] Copy Code

Public Property Get StraightenLongLinks() As Boolean
Public Property Let StraightenLongLinks( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_StraightenLongLinks ()
void put_StraightenLongLinks (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If this property is enabled, links that cross multiple layers have at most two bends. Because of the additional horizontal alignment constraints, the arranged graph usually occupies a larger area than when not using StraightenLongLinks.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.SwapPairsIterations Property

LayeredLayout.SwapPairsIterations Property
[image]

Gets or sets how many times to perform pair-swapping iterations for each layer.

Syntax

VB6 [image] Copy Code

Public Property Get SwapPairsIterations() As Long
Public Property Let SwapPairsIterations( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_SwapPairsIterations ()
void put_SwapPairsIterations (
int value
)

Property Value

A long value. The default is 5.

Remarks

The algorithm swaps node pairs on each layer aiming to decrease the number of crossing links. Setting a higher value to this property helps to decrease the number of crossings.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.TimeLimit Property

LayeredLayout.TimeLimit Property
[image]

Gets or sets the maximum time to spend in the path searching phase, expressed in milliseconds.

Syntax

VB6 [image] Copy Code

Public Property Get TimeLimit() As Long
Public Property Let TimeLimit( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_TimeLimit ()
void put_TimeLimit (
int value
)

Property Value

A long value. The default is 10000.

Remarks

The layered layout algorithm arranges graph nodes and links along the longest path in the graph. Large graphs with many links could contain hundreds of thousands of possible paths, so finding the longest one would be very time-consuming. When the time-out set with this property occurs, the path-finding routine stops and the layout algorithm uses the longest path known at that moment. Usually, for graphs containing several hundreds of nodes, 1-2 seconds are enough to find a long-enough path to produce nice layered layouts.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.XGap Property

LayeredLayout.XGap Property
[image]

Specifies the horizontal margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get XGap() As Long
Public Property Let XGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_XGap ()
void put_XGap (
int value
)

Property Value

The default value is 15.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.LayeredLayout.YGap Property

LayeredLayout.YGap Property
[image]

Specifies the vertical margin between separate subgraphs arranged by this algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get YGap() As Long
Public Property Let YGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_YGap ()
void put_YGap (
int value
)

Property Value

The default value is 15.

See Also

LayeredLayout Members
LayeredLayout Class


FlowChartPro.Overview Class

Overview Class
Remarks See Also
[image]

The Overview control provides a scaled-down view of a FlowChart contents.

Syntax

VB6 [image] Copy Code

Public Class Overview

C++ [image] Copy Code

class Overview

Remarks

For additional information, refer to Overview Control.

See Also

Overview Members


FlowChartPro.Overview Members

Overview Members
Constructors Properties Methods
[image]

The Overview control provides a scaled-down view of a FlowChart contents.

The following tables list the members exposed by the Overview type.

Public Constructors

Name | Description
Overview | Initializes a new instance of the Overview class.

Public Properties

Name | Description
BackColor | Gets or sets the background color of the overview window.
Document | Gets or sets the FlowChart whose contents to display in the Overview control.
EnableBkgrImage | Gets or sets a value indicating whether the flowchart's Picture is painted in the overview control.
EnableImages | Gets or sets a value indicating whether to paint the Picture of nodes in the overview control.
EnableInterior | Gets or sets a value indicating whether to fill the interior of nodes with their FillColor.
EnableShadows | Gets or sets a value indicating whether the shadows of diagram items are painted in the overview control.
EnableText | Gets or sets a value indicating whether to paint the text of diagram items in the overview control.
FitAll | Gets or sets a value indicating whether to automatically calculate and maintain such a ScaleFactor that the whole diagram is visible in the Overview control.
ScaleFactor | Gets or sets a fixed scale factor to use when FitAll is disabled.
TrackingRectColor |
TrackingRectColorAlpha |

Public Methods

Name | Description
HideScrollers | Hide the scrollbars of the Overview control.
ShowScrollers | Makes the built-in scrollbars of the Overview control visible.

See Also

Overview Class


FlowChartPro.Overview Constructor

Overview Constructor
[image]

Initializes a new instance of the Overview class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
Overview ()

See Also

Overview Class


FlowChartPro.Overview Methods

Overview Methods
[image]

Public Methods

Name | Description
HideScrollers | Hide the scrollbars of the Overview control.
ShowScrollers | Makes the built-in scrollbars of the Overview control visible.

See Also

Overview Class


FlowChartPro.Overview.HideScrollers Method

Overview.HideScrollers Method
[image]

Hide the scrollbars of the Overview control.

Syntax

VB6 [image] Copy Code

Public Sub HideScrollers ()

C++ [image] Copy Code

public:
void HideScrollers ()

See Also

Overview Members
Overview Class


FlowChartPro.Overview.ShowScrollers Method

Overview.ShowScrollers Method
[image]

Makes the built-in scrollbars of the Overview control visible.

Syntax

VB6 [image] Copy Code

Public Sub ShowScrollers ()

C++ [image] Copy Code

public:
void ShowScrollers ()

See Also

Overview Members
Overview Class


FlowChartPro.Overview Properties

Overview Properties
[image]

Public Properties

Name | Description
BackColor | Gets or sets the background color of the overview window.
Document | Gets or sets the FlowChart whose contents to display in the Overview control.
EnableBkgrImage | Gets or sets a value indicating whether the flowchart's Picture is painted in the overview control.
EnableImages | Gets or sets a value indicating whether to paint the Picture of nodes in the overview control.
EnableInterior | Gets or sets a value indicating whether to fill the interior of nodes with their FillColor.
EnableShadows | Gets or sets a value indicating whether the shadows of diagram items are painted in the overview control.
EnableText | Gets or sets a value indicating whether to paint the text of diagram items in the overview control.
FitAll | Gets or sets a value indicating whether to automatically calculate and maintain such a ScaleFactor that the whole diagram is visible in the Overview control.
ScaleFactor | Gets or sets a fixed scale factor to use when FitAll is disabled.
TrackingRectColor |
TrackingRectColorAlpha |

See Also

Overview Class


FlowChartPro.Overview.BackColor Property

Overview.BackColor Property
[image]

Gets or sets the background color of the overview window.

Syntax

VB6 [image] Copy Code

Public Property Get BackColor() As Long
Public Property Let BackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BackColor ()
void put_BackColor (
unsigned int value
)

Property Value

A color value. The default is RGB:120,120,120 (gray).

Remarks

This color fills the region of the overview window lying outside the flowchart boundaries. The rectangle defined by the flowchart's bounds is filled using the BackColor of the FlowChart class.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.Document Property

Overview.Document Property
[image]

Gets or sets the FlowChart whose contents to display in the Overview control.

Syntax

VB6 [image] Copy Code

Public Property Get Document() As FlowChart
Public Property Let Document( _
ByVal Value As FlowChart _
)

C++ [image] Copy Code

public:
FlowChart* get_Document ()
void put_Document (
FlowChart* value
)

Property Value

A reference to a FlowChart instance.

Remarks

Most development environments do not show this property in their property browser and it can be set only via code. A suitable place for that is the Load event handler for the form containing the Overview control.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.EnableBkgrImage Property

Overview.EnableBkgrImage Property
[image]

Gets or sets a value indicating whether the flowchart's Picture is painted in the overview control.

Syntax

VB6 [image] Copy Code

Public Property Get EnableBkgrImage() As Boolean
Public Property Let EnableBkgrImage( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableBkgrImage ()
void put_EnableBkgrImage (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

In order to display the image, currently there is an additional requirement to have the picDocument modifier applied to PicturePos.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.EnableImages Property

Overview.EnableImages Property
[image]

Gets or sets a value indicating whether to paint the Picture of nodes in the overview control.

Syntax

VB6 [image] Copy Code

Public Property Get EnableImages() As Boolean
Public Property Let EnableImages( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableImages ()
void put_EnableImages (
bool value
)

Property Value

A boolean value. The default is true.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.EnableInterior Property

Overview.EnableInterior Property
[image]

Gets or sets a value indicating whether to fill the interior of nodes with their FillColor.

Syntax

VB6 [image] Copy Code

Public Property Get EnableInterior() As Boolean
Public Property Let EnableInterior( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableInterior ()
void put_EnableInterior (
bool value
)

Property Value

A boolean value. The default is true.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.EnableShadows Property

Overview.EnableShadows Property
[image]

Gets or sets a value indicating whether the shadows of diagram items are painted in the overview control.

Syntax

VB6 [image] Copy Code

Public Property Get EnableShadows() As Boolean
Public Property Let EnableShadows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableShadows ()
void put_EnableShadows (
bool value
)

Property Value

A boolean value. The default is true.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.EnableText Property

Overview.EnableText Property
[image]

Gets or sets a value indicating whether to paint the text of diagram items in the overview control.

Syntax

VB6 [image] Copy Code

Public Property Get EnableText() As Boolean
Public Property Let EnableText( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableText ()
void put_EnableText (
bool value
)

Property Value

A boolean value. The default is true.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.FitAll Property

Overview.FitAll Property
[image]

Gets or sets a value indicating whether to automatically calculate and maintain such a ScaleFactor that the whole diagram is visible in the Overview control.

Syntax

VB6 [image] Copy Code

Public Property Get FitAll() As Boolean
Public Property Let FitAll( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_FitAll ()
void put_FitAll (
bool value
)

Property Value

A boolean value. The default is false.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.ScaleFactor Property

Overview.ScaleFactor Property
[image]

Gets or sets a fixed scale factor to use when FitAll is disabled.

Syntax

VB6 [image] Copy Code

Public Property Get ScaleFactor() As Integer
Public Property Let ScaleFactor( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ScaleFactor ()
void put_ScaleFactor (
short value
)

Property Value

A short value. The default is 25.

See Also

Overview Members
Overview Class


FlowChartPro.Overview.TrackingRectColor Property

Overview.TrackingRectColor Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get TrackingRectColor() As Long
Public Property Let TrackingRectColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_TrackingRectColor ()
void put_TrackingRectColor (
unsigned int value
)

Property Value

See Also

Overview Members
Overview Class


FlowChartPro.Overview.TrackingRectColorAlpha Property

Overview.TrackingRectColorAlpha Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get TrackingRectColorAlpha() As Integer
Public Property Let TrackingRectColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_TrackingRectColorAlpha ()
void put_TrackingRectColorAlpha (
short value
)

Property Value

See Also

Overview Members
Overview Class


FlowChartPro.PathFindingOptions Class

PathFindingOptions Class
Remarks See Also
[image]

Allows customization of some aspects of the graph path-finding algorithm.

Syntax

VB6 [image] Copy Code

Public Class PathFindingOptions

C++ [image] Copy Code

class PathFindingOptions

Remarks

Use the PathFindingOptions member of the FlowChart class to access the sole instance of this class. Members of PathFindingOptions are used by the FindShortestPath, FindAllPaths and FindCycle methods.

See Also

PathFindingOptions Members


FlowChartPro.PathFindingOptions Members

PathFindingOptions Members
Properties
[image]

Allows customization of some aspects of the graph path-finding algorithm.

The following tables list the members exposed by the PathFindingOptions type.

Public Properties

Name | Description
AllowRepeatingVertices | Gets or sets a value indicating whether a graph vertex/node can be included more than once in a path.
Directed | Gets or sets a value indicating whether the direction of links should be considered when looking for paths.
IgnoreReflexiveEdges | Gets or sets a value indicating whether reflexive links should be included in paths.

See Also

PathFindingOptions Class


FlowChartPro.PathFindingOptions Properties

PathFindingOptions Properties
[image]

Public Properties

Name | Description
AllowRepeatingVertices | Gets or sets a value indicating whether a graph vertex/node can be included more than once in a path.
Directed | Gets or sets a value indicating whether the direction of links should be considered when looking for paths.
IgnoreReflexiveEdges | Gets or sets a value indicating whether reflexive links should be included in paths.

See Also

PathFindingOptions Class


FlowChartPro.PathFindingOptions.AllowRepeatingVertices Property

PathFindingOptions.AllowRepeatingVertices Property
[image]

Gets or sets a value indicating whether a graph vertex/node can be included more than once in a path.

Syntax

VB6 [image] Copy Code

Public Property Get AllowRepeatingVertices() As Boolean
Public Property Let AllowRepeatingVertices( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowRepeatingVertices ()
void put_AllowRepeatingVertices (
bool value
)

Property Value

true to allow including a node more than once in a path; otherwise, false. The default is true.

Remarks

A node could be included in a path more than once if it can be reached from other nodes via different links.

See Also

PathFindingOptions Members
PathFindingOptions Class


FlowChartPro.PathFindingOptions.Directed Property

PathFindingOptions.Directed Property
[image]

Gets or sets a value indicating whether the direction of links should be considered when looking for paths.

Syntax

VB6 [image] Copy Code

Public Property Get Directed() As Boolean
Public Property Let Directed( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Directed ()
void put_Directed (
bool value
)

Property Value

true to consider arrow direction when looking for paths; otherwise, false. The default is true.

See Also

PathFindingOptions Members
PathFindingOptions Class


FlowChartPro.PathFindingOptions.IgnoreReflexiveEdges Property

PathFindingOptions.IgnoreReflexiveEdges Property
[image]

Gets or sets a value indicating whether reflexive links should be included in paths.

Syntax

VB6 [image] Copy Code

Public Property Get IgnoreReflexiveEdges() As Boolean
Public Property Let IgnoreReflexiveEdges( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_IgnoreReflexiveEdges ()
void put_IgnoreReflexiveEdges (
bool value
)

Property Value

true to ignore reflexive links; otherwise, false. The default is false.

See Also

PathFindingOptions Members
PathFindingOptions Class


FlowChartPro.PrintOptions Class

PrintOptions Class
Remarks See Also
[image]

Provides properties to customize various aspects of printing and print-preview.

Syntax

VB6 [image] Copy Code

Public Class PrintOptions

C++ [image] Copy Code

class PrintOptions

Remarks

Use the PrintOptions member of the FlowChart class to access the sole instance of this structure.

Use the PreferredDevice property to set which printer to use, and the PageOrientation and PaperSize properties to define the page size and orientation. Custom paper size can be defined using the PaperWidth and PaperLength properties.

If the Header property is enabled, there is a header displayed at the top of each page. The header can include custom text and automatically generated page numbers, as set through the HeaderFormat property. The alignment of the header text can be changed using HeaderTextStyle.

The following properties specify whether to print the various elements of a diagram and the diagram items: Background, BkgrImage, Images, Interior, SelHandles and Shadows. They also specify whether the respective elements appear in the print preview window.

The text and images used in the print preview window can be customized via the PreviewStr* properties, PreviewWndTitle and PreviewTbarPicture.

See Also

PrintOptions Members


FlowChartPro.PrintOptions Members

PrintOptions Members
Properties Methods
[image]

Provides properties to customize various aspects of printing and print-preview.

The following tables list the members exposed by the PrintOptions type.

Public Properties

Name | Description
Background | Gets or sets a value indicating whether to fill the page with the color specified via BackColor.
BkgrImage | Gets or sets a value indicating whether to render the flowchart's Picture when printing.
Frame | Gets or sets a value indicating whether to print a frame rectangle around the printed document.
HandleTransparentImages |
Header | Gets or sets a value indicating whether to print a header on the top of each page.
HeaderFont | Gets or sets the page header font.
HeaderFormat | Gets or sets the format of page headers.
HeaderStrPage | Gets or sets the text that appears for denoting the 'page' string in page headers.
HeaderTextStyle | Gets or sets the alignment of the header text within the page header rectangle.
Images | Gets or sets a value indicating whether to print the node images.
Interior | Gets or sets a value indicating whether to fill the interior of diagram nodes.
PageMarkersColor | Gets or sets the color used to draw page marker lines.
PageMarkersFixedHeight | Gets or sets a custom distance between horizontal page markers.
PageMarkersFixedWidth | Gets or sets a custom distance between vertical page markers.
PageMarkersStyle | Gets or sets the style of the pen used to draw page marker lines.
PageMarkersWidth | Gets or sets the width of the pen used to draw page marker lines.
PageOrientation | Gets or sets the orientation of printed pages and that of the print-preview window.
PaperLength | Gets or sets a custom paper length.
PaperSize | Gets or sets the current printer paper size.
PaperWidth | Gets or sets a custom paper width.
PreferredDevice | Gets or sets the name of a printer on which to print the diagram.
PreviewBtnEnabled |
PreviewStrClose | Gets or sets the title of the 'Close' button on the preview window toolbar.
PreviewStrFitPage | Gets or sets the title of the 'FitPage' button on the preview window toolbar.
PreviewStrLandscape | Gets or sets the title of the 'Landscape' button on the preview window toolbar.
PreviewStrNextPage | Gets or sets the title of the 'NextPage' button on the preview window toolbar.
PreviewStrPortrait | Gets or sets the title of the 'Portrait' button on the preview window toolbar.
PreviewStrPrevPage | Gets or sets the title of the 'PrevPage' button on the preview window toolbar.
PreviewStrPrint | Gets or sets the title of the 'Print' button on the preview window toolbar.
PreviewStrZoomIn | Gets or sets the title of the 'ZoomIn' button on the preview window toolbar.
PreviewStrZoomOut | Gets or sets the title of the 'ZoomOut' button on the preview window toolbar.
PreviewTbarPicture | Sets the image associated with a specified button in the print-preview window.
PreviewWndTitle | Gets or sets the caption of the preview window title-bar.
QueryDriverForPaperSize |
ScaleFactor | Gets or sets a scale factor for printing.
SelHandles | Gets or sets a value indicating whether to print the selection handles.
Shadows | Gets or sets a value indicating whether to print the shadows of diagram items.
ShowPageMarkers | Gets or sets a value indicating whether to draw page boundary markers on screen.
Title | Gets or sets the name of the document, as it appears in the header area of each page and on the print job queue.

Public Methods

Name | Description
ScaleTo | Sets the ScaleFactor to a value that makes the whole diagram fit in the rectangle defined by width and height when printed.
ScaleToPage | Queries the default printer about its page size and sets the ScaleFactor to a value that makes the whole diagram fit in a single page.

See Also

PrintOptions Class


FlowChartPro.PrintOptions Methods

PrintOptions Methods
[image]

Public Methods

Name | Description
ScaleTo | Sets the ScaleFactor to a value that makes the whole diagram fit in the rectangle defined by width and height when printed.
ScaleToPage | Queries the default printer about its page size and sets the ScaleFactor to a value that makes the whole diagram fit in a single page.

See Also

PrintOptions Class


FlowChartPro.PrintOptions.ScaleTo Method

PrintOptions.ScaleTo Method
[image]

Sets the ScaleFactor to a value that makes the whole diagram fit in the rectangle defined by width and height when printed.

Syntax

VB6 [image] Copy Code

Public Sub ScaleTo( _
ByVal width As Integer, _
ByVal height As Integer, _
ByVal contentOnly As Boolean _
)

C++ [image] Copy Code

public:
void ScaleTo (
short width,
short height,
bool contentOnly
)

Parameters

width

height

contentOnly

Remarks

If contentOnly is true, just the area that contains diagram items is fitted in the specified rectangle; if false, the whole document area, as defined via SetDocSize, is fitted.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.ScaleToPage Method

PrintOptions.ScaleToPage Method
[image]

Queries the default printer about its page size and sets the ScaleFactor to a value that makes the whole diagram fit in a single page.

Syntax

VB6 [image] Copy Code

Public Sub ScaleToPage ()

C++ [image] Copy Code

public:
void ScaleToPage ()

Remarks

This method is used by the 'Fit page' button on the Print Preview toolbar.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions Properties

PrintOptions Properties
[image]

Public Properties

Name | Description
Background | Gets or sets a value indicating whether to fill the page with the color specified via BackColor.
BkgrImage | Gets or sets a value indicating whether to render the flowchart's Picture when printing.
Frame | Gets or sets a value indicating whether to print a frame rectangle around the printed document.
HandleTransparentImages |
Header | Gets or sets a value indicating whether to print a header on the top of each page.
HeaderFont | Gets or sets the page header font.
HeaderFormat | Gets or sets the format of page headers.
HeaderStrPage | Gets or sets the text that appears for denoting the 'page' string in page headers.
HeaderTextStyle | Gets or sets the alignment of the header text within the page header rectangle.
Images | Gets or sets a value indicating whether to print the node images.
Interior | Gets or sets a value indicating whether to fill the interior of diagram nodes.
PageMarkersColor | Gets or sets the color used to draw page marker lines.
PageMarkersFixedHeight | Gets or sets a custom distance between horizontal page markers.
PageMarkersFixedWidth | Gets or sets a custom distance between vertical page markers.
PageMarkersStyle | Gets or sets the style of the pen used to draw page marker lines.
PageMarkersWidth | Gets or sets the width of the pen used to draw page marker lines.
PageOrientation | Gets or sets the orientation of printed pages and that of the print-preview window.
PaperLength | Gets or sets a custom paper length.
PaperSize | Gets or sets the current printer paper size.
PaperWidth | Gets or sets a custom paper width.
PreferredDevice | Gets or sets the name of a printer on which to print the diagram.
PreviewBtnEnabled |
PreviewStrClose | Gets or sets the title of the 'Close' button on the preview window toolbar.
PreviewStrFitPage | Gets or sets the title of the 'FitPage' button on the preview window toolbar.
PreviewStrLandscape | Gets or sets the title of the 'Landscape' button on the preview window toolbar.
PreviewStrNextPage | Gets or sets the title of the 'NextPage' button on the preview window toolbar.
PreviewStrPortrait | Gets or sets the title of the 'Portrait' button on the preview window toolbar.
PreviewStrPrevPage | Gets or sets the title of the 'PrevPage' button on the preview window toolbar.
PreviewStrPrint | Gets or sets the title of the 'Print' button on the preview window toolbar.
PreviewStrZoomIn | Gets or sets the title of the 'ZoomIn' button on the preview window toolbar.
PreviewStrZoomOut | Gets or sets the title of the 'ZoomOut' button on the preview window toolbar.
PreviewTbarPicture | Sets the image associated with a specified button in the print-preview window.
PreviewWndTitle | Gets or sets the caption of the preview window title-bar.
QueryDriverForPaperSize |
ScaleFactor | Gets or sets a scale factor for printing.
SelHandles | Gets or sets a value indicating whether to print the selection handles.
Shadows | Gets or sets a value indicating whether to print the shadows of diagram items.
ShowPageMarkers | Gets or sets a value indicating whether to draw page boundary markers on screen.
Title | Gets or sets the name of the document, as it appears in the header area of each page and on the print job queue.

See Also

PrintOptions Class


FlowChartPro.PrintOptions.Background Property

PrintOptions.Background Property
[image]

Gets or sets a value indicating whether to fill the page with the color specified via BackColor.

Syntax

VB6 [image] Copy Code

Public Property Get Background() As Boolean
Public Property Let Background( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Background ()
void put_Background (
bool value
)

Property Value

A boolean value. The default is false.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.BkgrImage Property

PrintOptions.BkgrImage Property
[image]

Gets or sets a value indicating whether to render the flowchart's Picture when printing.

Syntax

VB6 [image] Copy Code

Public Property Get BkgrImage() As Boolean
Public Property Let BkgrImage( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_BkgrImage ()
void put_BkgrImage (
bool value
)

Property Value

A boolean value. The default is false.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.Frame Property

PrintOptions.Frame Property
[image]

Gets or sets a value indicating whether to print a frame rectangle around the printed document.

Syntax

VB6 [image] Copy Code

Public Property Get Frame() As Boolean
Public Property Let Frame( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Frame ()
void put_Frame (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.HandleTransparentImages Property

PrintOptions.HandleTransparentImages Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get HandleTransparentImages() As Boolean
Public Property Let HandleTransparentImages( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_HandleTransparentImages ()
void put_HandleTransparentImages (
bool value
)

Property Value

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.Header Property

PrintOptions.Header Property
[image]

Gets or sets a value indicating whether to print a header on the top of each page.

Syntax

VB6 [image] Copy Code

Public Property Get Header() As Boolean
Public Property Let Header( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Header ()
void put_Header (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
HeaderFormat Property
Title Property
HeaderFont Property


FlowChartPro.PrintOptions.HeaderFont Property

PrintOptions.HeaderFont Property
[image]

Gets or sets the page header font.

Syntax

VB6 [image] Copy Code

Public Property Get HeaderFont() As IFontDisp
Public Property Let HeaderFont( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_HeaderFont ()
void put_HeaderFont (
IFontDisp* value
)

Property Value

A font object. The default is null (Nothing in Visual Basic).

Remarks

This font is used to render the page headers' text, whose content is specified via the HeaderFormat property. If HeaderFont has the default null value, headers are rendered using the Font of the FlowChart class.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
Header Property
HeaderFormat Property


FlowChartPro.PrintOptions.HeaderFormat Property

PrintOptions.HeaderFormat Property
[image]

Gets or sets the format of page headers.

Syntax

VB6 [image] Copy Code

Public Property Get HeaderFormat() As String
Public Property Let HeaderFormat( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_HeaderFormat ()
void put_HeaderFormat (
BSTR value
)

Property Value

A string value. The default is "%D %P %C / %N [%X : %Y]".

Remarks

The header format string can contain fixed text and format specifiers. The following specifiers are supported currently:

%D | A placeholder for the document's Title.
%P | A placeholder for the HeaderStrPage string.
%C | The current page number.
%N | The total number of pages.
%X | The column index of a page.
%Y | The row index of a page.

Each format specifier must be used at most once and specifiers should not be used in the document Title and the HeaderStrPage string.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
Header Property
HeaderFont Property


FlowChartPro.PrintOptions.HeaderStrPage Property

PrintOptions.HeaderStrPage Property
[image]

Gets or sets the text that appears for denoting the 'page' string in page headers.

Syntax

VB6 [image] Copy Code

Public Property Get HeaderStrPage() As String
Public Property Let HeaderStrPage( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_HeaderStrPage ()
void put_HeaderStrPage (
BSTR value
)

Property Value

A string value. The default is "Page".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.HeaderTextStyle Property

PrintOptions.HeaderTextStyle Property
[image]

Gets or sets the alignment of the header text within the page header rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get HeaderTextStyle() As ETextStyle
Public Property Let HeaderTextStyle( _
ByVal Value As ETextStyle _
)

C++ [image] Copy Code

public:
ETextStyle get_HeaderTextStyle ()
void put_HeaderTextStyle (
ETextStyle value
)

Property Value

A member of the ETextStyle enumeration. The default is ETextStyle(DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOPREFIX).

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
Header Property
HeaderFormat Property


FlowChartPro.PrintOptions.Images Property

PrintOptions.Images Property
[image]

Gets or sets a value indicating whether to print the node images.

Syntax

VB6 [image] Copy Code

Public Property Get Images() As Boolean
Public Property Let Images( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Images ()
void put_Images (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.Interior Property

PrintOptions.Interior Property
[image]

Gets or sets a value indicating whether to fill the interior of diagram nodes.

Syntax

VB6 [image] Copy Code

Public Property Get Interior() As Boolean
Public Property Let Interior( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Interior ()
void put_Interior (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PageMarkersColor Property

PrintOptions.PageMarkersColor Property
[image]

Gets or sets the color used to draw page marker lines.

Syntax

VB6 [image] Copy Code

Public Property Get PageMarkersColor() As Long
Public Property Let PageMarkersColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_PageMarkersColor ()
void put_PageMarkersColor (
unsigned int value
)

Property Value

A color value. The default is RGB(128, 128, 128).

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property
PageMarkersStyle Property
PageMarkersWidth Property


FlowChartPro.PrintOptions.PageMarkersFixedHeight Property

PrintOptions.PageMarkersFixedHeight Property
[image]

Gets or sets a custom distance between horizontal page markers.

Syntax

VB6 [image] Copy Code

Public Property Get PageMarkersFixedHeight() As Long
Public Property Let PageMarkersFixedHeight( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PageMarkersFixedHeight ()
void put_PageMarkersFixedHeight (
int value
)

Property Value

A long value. The default is -1.

Remarks

Usually page extents are queried from the default printer, but you might specify your own page height by assigning to this property a value greater than zero.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property


FlowChartPro.PrintOptions.PageMarkersFixedWidth Property

PrintOptions.PageMarkersFixedWidth Property
[image]

Gets or sets a custom distance between vertical page markers.

Syntax

VB6 [image] Copy Code

Public Property Get PageMarkersFixedWidth() As Long
Public Property Let PageMarkersFixedWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PageMarkersFixedWidth ()
void put_PageMarkersFixedWidth (
int value
)

Property Value

A long value. The default is -1.

Remarks

Usually page extents are queried from the default printer, but you might specify your own page width by assigning to this property a value greater than zero.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property


FlowChartPro.PrintOptions.PageMarkersStyle Property

PrintOptions.PageMarkersStyle Property
[image]

Gets or sets the style of the pen used to draw page marker lines.

Syntax

VB6 [image] Copy Code

Public Property Get PageMarkersStyle() As EPenStyle
Public Property Let PageMarkersStyle( _
ByVal Value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PageMarkersStyle ()
void put_PageMarkersStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. The default is psSolid.

Remarks

Possible values are psSolid, psDash, psDot, psDashDot, psDashDotDot.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property
PageMarkersColor Property
PageMarkersWidth Property


FlowChartPro.PrintOptions.PageMarkersWidth Property

PrintOptions.PageMarkersWidth Property
[image]

Gets or sets the width of the pen used to draw page marker lines.

Syntax

VB6 [image] Copy Code

Public Property Get PageMarkersWidth() As Long
Public Property Let PageMarkersWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PageMarkersWidth ()
void put_PageMarkersWidth (
int value
)

Property Value

A long value. The default is 1.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property
PageMarkersColor Property
PageMarkersStyle Property


FlowChartPro.PrintOptions.PageOrientation Property

PrintOptions.PageOrientation Property
[image]

Gets or sets the orientation of printed pages and that of the print-preview window.

Syntax

VB6 [image] Copy Code

Public Property Get PageOrientation() As EPageOrientation
Public Property Let PageOrientation( _
ByVal Value As EPageOrientation _
)

C++ [image] Copy Code

public:
EPageOrientation get_PageOrientation ()
void put_PageOrientation (
EPageOrientation value
)

Property Value

A member of the EPageOrientation orientation. The default is poUseDefault.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
PaperSize Property


FlowChartPro.PrintOptions.PaperLength Property

PrintOptions.PaperLength Property
[image]

Gets or sets a custom paper length.

Syntax

VB6 [image] Copy Code

Public Property Get PaperLength() As Long
Public Property Let PaperLength( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PaperLength ()
void put_PaperLength (
int value
)

Property Value

Remarks

This value and PaperWidth are measured in tenths of a millimeter and are used when PaperSize is set to pszCustom.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
PageOrientation Property
PreferredDevice Property


FlowChartPro.PrintOptions.PaperSize Property

PrintOptions.PaperSize Property
[image]

Gets or sets the current printer paper size.

Syntax

VB6 [image] Copy Code

Public Property Get PaperSize() As EPaperSize
Public Property Let PaperSize( _
ByVal Value As EPaperSize _
)

C++ [image] Copy Code

public:
EPaperSize get_PaperSize ()
void put_PaperSize (
EPaperSize value
)

Property Value

A member of the EPaperSize enumeration. The default is pszUseDefault.

Remarks

This property allows overriding the default paper size set for a printer in the Control Panel applet for that printer. The default value pszUseDefault makes FlowChartX use the size selected in the printer settings. The pszCustom value allows setting custom paper size using the PaperWidth and PaperLength properties. Any other value makes FlowChartX print the diagram using the specified predefined paper size.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ShowPageMarkers Property
PageOrientation Property
PreferredDevice Property


FlowChartPro.PrintOptions.PaperWidth Property

PrintOptions.PaperWidth Property
[image]

Gets or sets a custom paper width.

Syntax

VB6 [image] Copy Code

Public Property Get PaperWidth() As Long
Public Property Let PaperWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PaperWidth ()
void put_PaperWidth (
int value
)

Property Value

A long value. The default is 0.

Remarks

This value and PaperLength are measured in tenths of a millimeter and are used when PaperSize is set to pszCustom.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
PageOrientation Property
PreferredDevice Property


FlowChartPro.PrintOptions.PreferredDevice Property

PrintOptions.PreferredDevice Property
[image]

Gets or sets the name of a printer on which to print the diagram.

Syntax

VB6 [image] Copy Code

Public Property Get PreferredDevice() As String
Public Property Let PreferredDevice( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreferredDevice ()
void put_PreferredDevice (
BSTR value
)

Property Value

A string value. The default is "".

Remarks

Specifies the name of the printer to which to send the print job. If the value of this property is the default empty string, the user is presented with printer selection dialog each time the PrintDiagram method is invoked. If a printer name is specified here, the printer selection dialog is not shown. Each time a different printer is set, the page size and orientation are read from that printer settings in order to update the print preview window and the page markers displayed in the FlowChartX drawing canvas.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
PaperSize Property
PageOrientation Property


FlowChartPro.PrintOptions.PreviewBtnEnabled Property

PrintOptions.PreviewBtnEnabled Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get PreviewBtnEnabled( _
ByVal Index As Long _
) As Boolean
Public Property Let PreviewBtnEnabled( _
ByVal Index As Long, _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_PreviewBtnEnabled (
int Index
)
void put_PreviewBtnEnabled (
int Index,
bool value
)

Parameters

Index

Property Value

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrClose Property

PrintOptions.PreviewStrClose Property
[image]

Gets or sets the title of the 'Close' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrClose() As String
Public Property Let PreviewStrClose( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrClose ()
void put_PreviewStrClose (
BSTR value
)

Property Value

A string value. The default is "Close".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrFitPage Property

PrintOptions.PreviewStrFitPage Property
[image]

Gets or sets the title of the 'FitPage' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrFitPage() As String
Public Property Let PreviewStrFitPage( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrFitPage ()
void put_PreviewStrFitPage (
BSTR value
)

Property Value

A string value. The default is "Fit Page".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrLandscape Property

PrintOptions.PreviewStrLandscape Property
[image]

Gets or sets the title of the 'Landscape' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrLandscape() As String
Public Property Let PreviewStrLandscape( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrLandscape ()
void put_PreviewStrLandscape (
BSTR value
)

Property Value

A string value. The default is "Landscape".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrNextPage Property

PrintOptions.PreviewStrNextPage Property
[image]

Gets or sets the title of the 'NextPage' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrNextPage() As String
Public Property Let PreviewStrNextPage( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrNextPage ()
void put_PreviewStrNextPage (
BSTR value
)

Property Value

A string value. The default is "Next Page".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrPortrait Property

PrintOptions.PreviewStrPortrait Property
[image]

Gets or sets the title of the 'Portrait' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrPortrait() As String
Public Property Let PreviewStrPortrait( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrPortrait ()
void put_PreviewStrPortrait (
BSTR value
)

Property Value

A string value. The default is "Portrait".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrPrevPage Property

PrintOptions.PreviewStrPrevPage Property
[image]

Gets or sets the title of the 'PrevPage' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrPrevPage() As String
Public Property Let PreviewStrPrevPage( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrPrevPage ()
void put_PreviewStrPrevPage (
BSTR value
)

Property Value

A string value. The default is "Prev Page".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrPrint Property

PrintOptions.PreviewStrPrint Property
[image]

Gets or sets the title of the 'Print' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrPrint() As String
Public Property Let PreviewStrPrint( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrPrint ()
void put_PreviewStrPrint (
BSTR value
)

Property Value

A string value. The default is "Print".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrZoomIn Property

PrintOptions.PreviewStrZoomIn Property
[image]

Gets or sets the title of the 'ZoomIn' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrZoomIn() As String
Public Property Let PreviewStrZoomIn( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrZoomIn ()
void put_PreviewStrZoomIn (
BSTR value
)

Property Value

A string value. The default is "Zoom In".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewStrZoomOut Property

PrintOptions.PreviewStrZoomOut Property
[image]

Gets or sets the title of the 'ZoomOut' button on the preview window toolbar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewStrZoomOut() As String
Public Property Let PreviewStrZoomOut( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewStrZoomOut ()
void put_PreviewStrZoomOut (
BSTR value
)

Property Value

A string value. The default is "Zoom Out".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewTbarPicture Property

PrintOptions.PreviewTbarPicture Property
[image]

Sets the image associated with a specified button in the print-preview window.

Syntax

VB6 [image] Copy Code

Public Property Let PreviewTbarPicture( _
ByVal Index As Long, _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
void put_PreviewTbarPicture (
int Index,
IPictureDisp* value
)

Parameters

Index

Property Value

A picture object.

Remarks

PreviewTbarPicture is an indexed property. With its help, you can assign new images to be displayed on buttons of the print-preview window. How picture indices correspond to toolbar buttons is shown below:

Button name | Picture index
Print | 0
Zoom In | 1
Zoom Out | 2
Prev Page | 3
Next Page | 4
Landscape | 5
Portrait | 6
Fit Page | 8
Close | 7

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.PreviewWndTitle Property

PrintOptions.PreviewWndTitle Property
[image]

Gets or sets the caption of the preview window title-bar.

Syntax

VB6 [image] Copy Code

Public Property Get PreviewWndTitle() As String
Public Property Let PreviewWndTitle( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_PreviewWndTitle ()
void put_PreviewWndTitle (
BSTR value
)

Property Value

A string value. The default is "Preview".

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.QueryDriverForPaperSize Property

PrintOptions.QueryDriverForPaperSize Property
[image]

Syntax

VB6 [image] Copy Code

Public Property Get QueryDriverForPaperSize() As Boolean
Public Property Let QueryDriverForPaperSize( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_QueryDriverForPaperSize ()
void put_QueryDriverForPaperSize (
bool value
)

Property Value

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.ScaleFactor Property

PrintOptions.ScaleFactor Property
[image]

Gets or sets a scale factor for printing.

Syntax

VB6 [image] Copy Code

Public Property Get ScaleFactor() As Integer
Public Property Let ScaleFactor( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_ScaleFactor ()
void put_ScaleFactor (
short value
)

Property Value

A short value. The default is 100.

Remarks

The scale is measured in percent. Values less than 100 make a diagram appear smaller and farther when printed, which allows larger part of that diagram to be visible on a single page. Values greater than 100 make the diagram appear closer and larger.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
ScaleToPage Method


FlowChartPro.PrintOptions.SelHandles Property

PrintOptions.SelHandles Property
[image]

Gets or sets a value indicating whether to print the selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get SelHandles() As Boolean
Public Property Let SelHandles( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SelHandles ()
void put_SelHandles (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.Shadows Property

PrintOptions.Shadows Property
[image]

Gets or sets a value indicating whether to print the shadows of diagram items.

Syntax

VB6 [image] Copy Code

Public Property Get Shadows() As Boolean
Public Property Let Shadows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Shadows ()
void put_Shadows (
bool value
)

Property Value

A boolean value. The default is true.

See Also

PrintOptions Members
PrintOptions Class


FlowChartPro.PrintOptions.ShowPageMarkers Property

PrintOptions.ShowPageMarkers Property
[image]

Gets or sets a value indicating whether to draw page boundary markers on screen.

Syntax

VB6 [image] Copy Code

Public Property Get ShowPageMarkers() As Boolean
Public Property Let ShowPageMarkers( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowPageMarkers ()
void put_ShowPageMarkers (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Page markers do not affect print output in any way. They indicate on the screen where page boundaries will be if the diagram is printed on the default printer or on the PreferredDevice. The marker lines are drawn using a pen whose properties are set in PageMarkersColor and PageMarkersStyle. Warning: when page markers are enabled, FlowChartX will try to query the default printer for current page extents; a 1-2 second delay might occur if the printer is offline or if it is a network printer.

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
PaperSize Property
PageMarkersFixedWidth Property
PageMarkersFixedHeight Property


FlowChartPro.PrintOptions.Title Property

PrintOptions.Title Property
[image]

Gets or sets the name of the document, as it appears in the header area of each page and on the print job queue.

Syntax

VB6 [image] Copy Code

Public Property Get Title() As String
Public Property Let Title( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Title ()
void put_Title (
BSTR value
)

Property Value

A string value. The default is "- Untitled -".

See Also

PrintOptions Members
PrintOptions Class
FlowChartPro Namespace
HeaderFormat Property
HeaderFont Property


FlowChartPro.PrintPreview Class

PrintPreview Class
Remarks See Also
[image]

This class provides properties for several aspects of the print-preview window.

Syntax

VB6 [image] Copy Code

Public Class PrintPreview

C++ [image] Copy Code

class PrintPreview

Remarks

A PrintPreview instance is returned by the OpenPreviewWindow method.

See Also

PrintPreview Members


FlowChartPro.PrintPreview Members

PrintPreview Members
Properties Methods
[image]

This class provides properties for several aspects of the print-preview window.

The following tables list the members exposed by the PrintPreview type.

Public Properties

Name | Description
CurrentPage | Gets or sets the current page in the preview window.
WindowHandle | Gets the HWND handle of the print preview window.
ZoomFactor | Gets or sets the zoom factor for page area of the preview window.

Public Methods

Name | Description
SetWindowRect | Moves the preview window to the specified location.

See Also

PrintPreview Class


FlowChartPro.PrintPreview Methods

PrintPreview Methods
[image]

Public Methods

Name | Description
SetWindowRect | Moves the preview window to the specified location.

See Also

PrintPreview Class


FlowChartPro.PrintPreview.SetWindowRect Method

PrintPreview.SetWindowRect Method
[image]

Moves the preview window to the specified location.

Syntax

VB6 [image] Copy Code

Public Sub SetWindowRect( _
ByVal left As Long, _
ByVal top As Long, _
ByVal width As Long, _
ByVal height As Long _
)

C++ [image] Copy Code

public:
void SetWindowRect (
int left,
int top,
int width,
int height
)

Parameters

left
The horizontal position of the preview window.
top
The vertical position of the preview window.
width
The width of the preview window.
height
The height of the preview window.

See Also

PrintPreview Members
PrintPreview Class


FlowChartPro.PrintPreview Properties

PrintPreview Properties
[image]

Public Properties

Name | Description
CurrentPage | Gets or sets the current page in the preview window.
WindowHandle | Gets the HWND handle of the print preview window.
ZoomFactor | Gets or sets the zoom factor for page area of the preview window.

See Also

PrintPreview Class


FlowChartPro.PrintPreview.CurrentPage Property

PrintPreview.CurrentPage Property
[image]

Gets or sets the current page in the preview window.

Syntax

VB6 [image] Copy Code

Public Property Get CurrentPage() As Long
Public Property Let CurrentPage( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CurrentPage ()
void put_CurrentPage (
int value
)

Property Value

A long value. The default is 0.

Remarks

The index is zero-based when using the property programmatically, though the page number displayed in the page header is one-based.

See Also

PrintPreview Members
PrintPreview Class


FlowChartPro.PrintPreview.WindowHandle Property

PrintPreview.WindowHandle Property
[image]

Gets the HWND handle of the print preview window.

Syntax

VB6 [image] Copy Code

Public Property Get WindowHandle() As Long

C++ [image] Copy Code

public:
unsigned int get_WindowHandle ()

Property Value

A long value.

Remarks

The Microsoft Windows operating environment identifies each window, form and control in an application by assigning it a window handle (HWND). The handle returned by this property can be used with various Windows API calls to change the attributes of the pint preview window.

See Also

PrintPreview Members
PrintPreview Class


FlowChartPro.PrintPreview.ZoomFactor Property

PrintPreview.ZoomFactor Property
[image]

Gets or sets the zoom factor for page area of the preview window.

Syntax

VB6 [image] Copy Code

Public Property Get ZoomFactor() As Long
Public Property Let ZoomFactor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ZoomFactor ()
void put_ZoomFactor (
int value
)

Property Value

A long value. The default is 0.

Remarks

Supported values are 0, 200, 400 and 800. A zero factor makes the page image fit exactly into the print preview window.

See Also

PrintPreview Members
PrintPreview Class


FlowChartPro.PropPageActiveItem Class

PropPageActiveItem Class
[image]

Syntax

VB6 [image] Copy Code

Public Class PropPageActiveItem

C++ [image] Copy Code

class PropPageActiveItem

See Also

PropPageActiveItem Members


FlowChartPro.PropPageActiveItem Members

PropPageActiveItem Members
Constructors
[image]

The following tables list the members exposed by the PropPageActiveItem type.

Public Constructors

Name | Description
PropPageActiveItem | Initializes a new instance of the PropPageActiveItem class.

See Also

PropPageActiveItem Class


FlowChartPro.PropPageActiveItem Constructor

PropPageActiveItem Constructor
[image]

Initializes a new instance of the PropPageActiveItem class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
PropPageActiveItem ()

See Also

PropPageActiveItem Class


FlowChartPro.PropPageDefaults Class

PropPageDefaults Class
[image]

Syntax

VB6 [image] Copy Code

Public Class PropPageDefaults

C++ [image] Copy Code

class PropPageDefaults

See Also

PropPageDefaults Members


FlowChartPro.PropPageDefaults Members

PropPageDefaults Members
Constructors
[image]

The following tables list the members exposed by the PropPageDefaults type.

Public Constructors

Name | Description
PropPageDefaults | Initializes a new instance of the PropPageDefaults class.

See Also

PropPageDefaults Class


FlowChartPro.PropPageDefaults Constructor

PropPageDefaults Constructor
[image]

Initializes a new instance of the PropPageDefaults class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
PropPageDefaults ()

See Also

PropPageDefaults Class


FlowChartPro.PropPageGeneral Class

PropPageGeneral Class
[image]

Syntax

VB6 [image] Copy Code

Public Class PropPageGeneral

C++ [image] Copy Code

class PropPageGeneral

See Also

PropPageGeneral Members


FlowChartPro.PropPageGeneral Members

PropPageGeneral Members
Constructors
[image]

The following tables list the members exposed by the PropPageGeneral type.

Public Constructors

Name | Description
PropPageGeneral | Initializes a new instance of the PropPageGeneral class.

See Also

PropPageGeneral Class


FlowChartPro.PropPageGeneral Constructor

PropPageGeneral Constructor
[image]

Initializes a new instance of the PropPageGeneral class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
PropPageGeneral ()

See Also

PropPageGeneral Class


FlowChartPro.RoutingOptions Class

RoutingOptions Class
Remarks See Also
[image]

Allows customization of various aspects of the arrow routing algorithm.

Syntax

VB6 [image] Copy Code

Public Class RoutingOptions

C++ [image] Copy Code

class RoutingOptions

Remarks

Use the RoutingOptions member of the FlowChart class to access the sole instance of this class.

FlowChartX uses a cost minimization algorithm to route arrows between nodes. For each link, there is a routing grid built for the area that encloses the link and its origin and destination nodes. The size of the grid pieces is set via GridSize. Each piece of the grid is marked as an obstacle if it intersects an Obstacle node. Some cost values are assigned to the remaining pieces, depending on how distant they are from nodes and other links.

That algorithm evaluates possible paths across the routing grid aiming to find one that has a minimal cost. The values of LengthCost, TurnCost, CrossingCost and NodeVicinityCost are added to the total cost of a route and have a great influence over the shape of the chosen path.

The StartOrientation and EndOrientation properties specify the orientation of the first and last segments of routed arrows, and Anchoring specifies whether arrow ends should be aligned to the anchor points defined for nodes.

See Also

RoutingOptions Members


FlowChartPro.RoutingOptions Members

RoutingOptions Members
Properties Methods
[image]

Allows customization of various aspects of the arrow routing algorithm.

The following tables list the members exposed by the RoutingOptions type.

Public Properties

Name | Description
Anchoring | Gets or sets a value specifying whether the ends of routed arrows should be aligned to the anchor points of nodes.
CrossingCost | Gets or sets a value added to the total cost of a route which causes a link to cross another link.
DontOptimizeLongRoutes | Gets or sets a value indicating whether long routes don't have their number of segments minimized in order to save up processing time.
EndOrientation | Gets or sets the desired orientation of the last segments of routed arrows.
GridSize | Gets or sets the size of the pieces of the routing grid.
LengthCost | Gets or sets a value added to the total cost of a route for each piece of the routing grid occupied by the route.
NodeVicinityCost | Gets or sets a value added to the total cost of a route if the route passes too close to a node.
NodeVicinitySize | Gets or sets the size of a buffer zone around a node for which routes get a penalty cost if they pass through it.
StartOrientation | Gets or sets the desired orientation of the first segments of routed arrows.
TriggerRerouting | Gets or sets a value indicating in what circumstances links are rerouted automatically.
TurnCost | Gets or sets a value added to the total cost of a route if it makes a turn.

Public Methods

Name | Description
SetDefaultMode | Resets all routing properties to their default values.
SetMinSegmentsMode | Assigns to the routing properties a predefined set of values which allow finding paths that have a small number of segments.
SetQuickMode | Assigns to the routing properties a predefined set of values which allow finding paths quickly but the found paths are of low quality.

See Also

RoutingOptions Class


FlowChartPro.RoutingOptions Methods

RoutingOptions Methods
[image]

Public Methods

Name | Description
SetDefaultMode | Resets all routing properties to their default values.
SetMinSegmentsMode | Assigns to the routing properties a predefined set of values which allow finding paths that have a small number of segments.
SetQuickMode | Assigns to the routing properties a predefined set of values which allow finding paths quickly but the found paths are of low quality.

See Also

RoutingOptions Class


FlowChartPro.RoutingOptions.SetDefaultMode Method

RoutingOptions.SetDefaultMode Method
[image]

Resets all routing properties to their default values.

Syntax

VB6 [image] Copy Code

Public Sub SetDefaultMode ()

C++ [image] Copy Code

public:
void SetDefaultMode ()

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
SetMinSegmentsMode Method
SetQuickMode Method


FlowChartPro.RoutingOptions.SetMinSegmentsMode Method

RoutingOptions.SetMinSegmentsMode Method
[image]

Assigns to the routing properties a predefined set of values which allow finding paths that have a small number of segments.

Syntax

VB6 [image] Copy Code

Public Sub SetMinSegmentsMode ()

C++ [image] Copy Code

public:
void SetMinSegmentsMode ()

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
SetDefaultMode Method
SetQuickMode Method


FlowChartPro.RoutingOptions.SetQuickMode Method

RoutingOptions.SetQuickMode Method
[image]

Assigns to the routing properties a predefined set of values which allow finding paths quickly but the found paths are of low quality.

Syntax

VB6 [image] Copy Code

Public Sub SetQuickMode ()

C++ [image] Copy Code

public:
void SetQuickMode ()

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
SetDefaultMode Method
SetMinSegmentsMode Method


FlowChartPro.RoutingOptions Properties

RoutingOptions Properties
[image]

Public Properties

Name | Description
Anchoring | Gets or sets a value specifying whether the ends of routed arrows should be aligned to the anchor points of nodes.
CrossingCost | Gets or sets a value added to the total cost of a route which causes a link to cross another link.
DontOptimizeLongRoutes | Gets or sets a value indicating whether long routes don't have their number of segments minimized in order to save up processing time.
EndOrientation | Gets or sets the desired orientation of the last segments of routed arrows.
GridSize | Gets or sets the size of the pieces of the routing grid.
LengthCost | Gets or sets a value added to the total cost of a route for each piece of the routing grid occupied by the route.
NodeVicinityCost | Gets or sets a value added to the total cost of a route if the route passes too close to a node.
NodeVicinitySize | Gets or sets the size of a buffer zone around a node for which routes get a penalty cost if they pass through it.
StartOrientation | Gets or sets the desired orientation of the first segments of routed arrows.
TriggerRerouting | Gets or sets a value indicating in what circumstances links are rerouted automatically.
TurnCost | Gets or sets a value added to the total cost of a route if it makes a turn.

See Also

RoutingOptions Class


FlowChartPro.RoutingOptions.Anchoring Property

RoutingOptions.Anchoring Property
[image]

Gets or sets a value specifying whether the ends of routed arrows should be aligned to the anchor points of nodes.

Syntax

VB6 [image] Copy Code

Public Property Get Anchoring() As EAnchoring
Public Property Let Anchoring( _
ByVal Value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_Anchoring ()
void put_Anchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default is ancIgnore.

Remarks

By default the routing algorithm ignores anchor points. To make it align arrow ends to the points specified in the AnchorPattern property of nodes, set Anchoring to ancKeep or ancReassign. ancKeep specifies that the routing algorithm should not change the positions of arrow end points. ancReassign lets the routing algorithm choose new end points for an arrow from the ones specified in the AnchorPattern of its origin and destination nodes.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
StartOrientation Property


FlowChartPro.RoutingOptions.CrossingCost Property

RoutingOptions.CrossingCost Property
[image]

Gets or sets a value added to the total cost of a route which causes a link to cross another link.

Syntax

VB6 [image] Copy Code

Public Property Get CrossingCost() As Byte
Public Property Let CrossingCost( _
ByVal value As Byte _
)

C++ [image] Copy Code

public:
unsigned char get_CrossingCost ()
void put_CrossingCost (
unsigned char value
)

Property Value

A byte value. The default is 4.

Remarks

This is a penalty value added to the total cost of an evaluated arrow route if it crosses another arrow. The routing algorithm aims to find paths that have a minimal cost, so assigning a greater value to CrossingCost leads to fewer link intersections. At this time CrossingCost processing is implemented only for links with Style set to asPerpendicular.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
LengthCost Property
NodeVicinityCost Property
TurnCost Property


FlowChartPro.RoutingOptions.DontOptimizeLongRoutes Property

RoutingOptions.DontOptimizeLongRoutes Property
[image]

Gets or sets a value indicating whether long routes don't have their number of segments minimized in order to save up processing time.

Syntax

VB6 [image] Copy Code

Public Property Get DontOptimizeLongRoutes() As Boolean
Public Property Let DontOptimizeLongRoutes( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_DontOptimizeLongRoutes ()
void put_DontOptimizeLongRoutes (
bool value
)

Property Value

true to disable route optimization for long links; otherwise false. The default is false.

Remarks

Segment optimization done on routed arrows might need much processing time. The control allows disabling that optimization for long arrows. That might make the found routes have a "staircase" pattern when they run diagonally.

See Also

RoutingOptions Members
RoutingOptions Class


FlowChartPro.RoutingOptions.EndOrientation Property

RoutingOptions.EndOrientation Property
[image]

Gets or sets the desired orientation of the last segments of routed arrows.

Syntax

VB6 [image] Copy Code

Public Property Get EndOrientation() As EPrpStartOrientation
Public Property Let EndOrientation( _
ByVal Value As EPrpStartOrientation _
)

C++ [image] Copy Code

public:
EPrpStartOrientation get_EndOrientation ()
void put_EndOrientation (
EPrpStartOrientation value
)

Property Value

A member of the EPrpStartOrientation enumeration. The default is soAuto.

Remarks

For some diagrams it might be desirable that first and last segments of arrows always have a specific direction. E.g. in database ER diagrams arrows usually connect to table rows on the left or right-hand sides of tables; in that case their end segments must be horizontal. EndOrientation specifies what orientation of arrows' last segments to be applied by the routing algorithm.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
StartOrientation Property


FlowChartPro.RoutingOptions.GridSize Property

RoutingOptions.GridSize Property
[image]

Gets or sets the size of the pieces of the routing grid.

Syntax

VB6 [image] Copy Code

Public Property Get GridSize() As Integer
Public Property Let GridSize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_GridSize ()
void put_GridSize (
short value
)

Property Value

The size of the pieces of the routing grid. The default is 16 pixels.

Remarks

A smaller size of routing grid pieces helps finding more precise paths, however since the number of pieces increases, there would be more time needed to find a path.

See Also

RoutingOptions Members
RoutingOptions Class


FlowChartPro.RoutingOptions.LengthCost Property

RoutingOptions.LengthCost Property
[image]

Gets or sets a value added to the total cost of a route for each piece of the routing grid occupied by the route.

Syntax

VB6 [image] Copy Code

Public Property Get LengthCost() As Byte
Public Property Let LengthCost( _
ByVal value As Byte _
)

C++ [image] Copy Code

public:
unsigned char get_LengthCost ()
void put_LengthCost (
unsigned char value
)

Property Value

A byte value. The default is 2.

Remarks

This is a penalty value added to the total cost of an evaluated arrow route for each piece of the routing grid it occupies. The routing algorithm aims to find paths that have a minimal cost, so assigning a greater value to LengthCost leads to generating shorter paths.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
CrossingCost Property
NodeVicinityCost Property
TurnCost Property


FlowChartPro.RoutingOptions.NodeVicinityCost Property

RoutingOptions.NodeVicinityCost Property
[image]

Gets or sets a value added to the total cost of a route if the route passes too close to a node.

Syntax

VB6 [image] Copy Code

Public Property Get NodeVicinityCost() As Byte
Public Property Let NodeVicinityCost( _
ByVal value As Byte _
)

C++ [image] Copy Code

public:
unsigned char get_NodeVicinityCost ()
void put_NodeVicinityCost (
unsigned char value
)

Property Value

A byte value. The default is 2.

Remarks

This is a penalty value added to the total cost of an evaluated arrow route if it passes too close to a node. The routing algorithm aims to find paths that have a minimal cost, so assigning a greater value to NodeVicinityCost makes arrows avoid passing close to nodes. The size of the buffer area around nodes in which passing arrows get a penalty cost is set via NodeVicinitySize.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
CrossingCost Property
LengthCost Property
TurnCost Property


FlowChartPro.RoutingOptions.NodeVicinitySize Property

RoutingOptions.NodeVicinitySize Property
[image]

Gets or sets the size of a buffer zone around a node for which routes get a penalty cost if they pass through it.

Syntax

VB6 [image] Copy Code

Public Property Get NodeVicinitySize() As Integer
Public Property Let NodeVicinitySize( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_NodeVicinitySize ()
void put_NodeVicinitySize (
short value
)

Property Value

The size of the buffer area in which passing routes receive a penalty cost. The default is 48 pixels.

Remarks

The pieces of the routing grid that are closest to a node have the value of NodeVicinityCost assigned as their cost. The outer pieces of the buffer zone are assigned a portion of NodeVicinityCost proportional to their distance to the node.

See Also

RoutingOptions Members
RoutingOptions Class


FlowChartPro.RoutingOptions.StartOrientation Property

RoutingOptions.StartOrientation Property
[image]

Gets or sets the desired orientation of the first segments of routed arrows.

Syntax

VB6 [image] Copy Code

Public Property Get StartOrientation() As EPrpStartOrientation
Public Property Let StartOrientation( _
ByVal Value As EPrpStartOrientation _
)

C++ [image] Copy Code

public:
EPrpStartOrientation get_StartOrientation ()
void put_StartOrientation (
EPrpStartOrientation value
)

Property Value

A member of the EPrpStartOrientation enumeration. The default is soAuto.

Remarks

For some diagrams it might be desirable that first and last segments of arrows always have a specific direction. E.g. in database ER diagrams arrows usually connect to table rows on the left or right-hand sides of tables; in that case their end segments must be horizontal. StartOrientation specifies what orientation of arrows' first segments to be applied by the routing algorithm.

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
EndOrientation Property


FlowChartPro.RoutingOptions.TriggerRerouting Property

RoutingOptions.TriggerRerouting Property
[image]

Gets or sets a value indicating in what circumstances links are rerouted automatically.

Syntax

VB6 [image] Copy Code

Public Property Get TriggerRerouting() As ERerouteArrow
Public Property Let TriggerRerouting( _
ByVal Value As ERerouteArrow _
)

C++ [image] Copy Code

public:
ERerouteArrow get_TriggerRerouting ()
void put_TriggerRerouting (
ERerouteArrow value
)

Property Value

A member of the ERerouteArrow enumeration. The default is raWhenModified.

See Also

RoutingOptions Members
RoutingOptions Class


FlowChartPro.RoutingOptions.TurnCost Property

RoutingOptions.TurnCost Property
[image]

Gets or sets a value added to the total cost of a route if it makes a turn.

Syntax

VB6 [image] Copy Code

Public Property Get TurnCost() As Byte
Public Property Let TurnCost( _
ByVal value As Byte _
)

C++ [image] Copy Code

public:
unsigned char get_TurnCost ()
void put_TurnCost (
unsigned char value
)

Property Value

A byte value. The default is 4.

Remarks

This is a penalty value added to the total cost of an evaluated arrow route for each turn it makes. The routing algorithm aims to find paths that have a minimal cost, so assigning a greater value to TurnCost leads paths that make less turns (hence they have less segments).

See Also

RoutingOptions Members
RoutingOptions Class
FlowChartPro Namespace
CrossingCost Property
LengthCost Property
NodeVicinityCost Property


FlowChartPro.Ruler Class

Ruler Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

The Ruler control provides horizontal and vertical scales that help users measure flowchart items.

Syntax

VB6 [image] Copy Code

Public Class Ruler

C++ [image] Copy Code

class Ruler

Remarks

For additional information, refer to Ruler Control.

See Also

Ruler Members


FlowChartPro.Ruler Members

Ruler Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

The Ruler control provides horizontal and vertical scales that help users measure flowchart items.

The following tables list the members exposed by the Ruler type.

Public Constructors

Name | Description
Ruler |

Public Properties

Name | Description
BackColor | Gets or sets the background color of ruler scales.
BaseUnit | The base unit from which the ruler's unit is formed by multiplying it by UnitScale.
Document | Gets or sets the FlowChart document this ruler is associated with.
EnableGuides | Gets or sets a value indicating whether the alignment guides are enabled.
Font | Gets or sets the font used to render labels on ruler's scales.
ForeColor | Gets or sets the foreground color of the ruler.
GuideColor | Gets or sets the color of the alignment guide lines.
NegatedX | Gets or sets whether the horizontal scale should show negated values, simulating that the coordinate system's X axis grows to the left.
NegatedY | Gets or sets whether the vertical scale should show negated values, simulating that the coordinate system's Y axis grows to the top.
PointerColor | Gets or sets the color of the mouse pointer's projections.
ProjectionColor | Gets or sets the color of the projections of the active item on the ruler scales.
UnitDivisions | Gets or sets the number of sub-divisions per unit to display on the scale.
UnitScale | The scale by which BaseUnit is multiplied to form the ruler's unit.

See Also

Ruler Class


FlowChartPro.Ruler Constructor

Ruler Constructor
[image]

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
Ruler ()

See Also

Ruler Class


FlowChartPro.Ruler Properties

Ruler Properties
[image]

Public Properties

Name | Description
BackColor | Gets or sets the background color of ruler scales.
BaseUnit | The base unit from which the ruler's unit is formed by multiplying it by UnitScale.
Document | Gets or sets the FlowChart document this ruler is associated with.
EnableGuides | Gets or sets a value indicating whether the alignment guides are enabled.
Font | Gets or sets the font used to render labels on ruler's scales.
ForeColor | Gets or sets the foreground color of the ruler.
GuideColor | Gets or sets the color of the alignment guide lines.
NegatedX | Gets or sets whether the horizontal scale should show negated values, simulating that the coordinate system's X axis grows to the left.
NegatedY | Gets or sets whether the vertical scale should show negated values, simulating that the coordinate system's Y axis grows to the top.
PointerColor | Gets or sets the color of the mouse pointer's projections.
ProjectionColor | Gets or sets the color of the projections of the active item on the ruler scales.
UnitDivisions | Gets or sets the number of sub-divisions per unit to display on the scale.
UnitScale | The scale by which BaseUnit is multiplied to form the ruler's unit.

See Also

Ruler Class


FlowChartPro.Ruler.BackColor Property

Ruler.BackColor Property
[image]

Gets or sets the background color of ruler scales.

Syntax

VB6 [image] Copy Code

Public Property Get BackColor() As Long
Public Property Let BackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_BackColor ()
void put_BackColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default value is white color.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
ForeColor Property


FlowChartPro.Ruler.BaseUnit Property

Ruler.BaseUnit Property
[image]

The base unit from which the ruler's unit is formed by multiplying it by UnitScale.

Syntax

VB6 [image] Copy Code

Public Property Get BaseUnit() As EUnit
Public Property Let BaseUnit( _
ByVal value As EUnit _
)

C++ [image] Copy Code

public:
EUnit get_BaseUnit ()
void put_BaseUnit (
EUnit value
)

Property Value

A member of the EUnit enumeration. The default value is uPixel.

Remarks

The units displayed in ruler scales are formed by multiplying the length of a single BaseUnit by UnitScale. Depending on how much space there is to render scale labels for current zoom level, major unit ticks are drawn at either 1, 2 or 5 units, or their multiples by 10, 100 or 1000. The number of minor ticks depends on the current zoom level and UnitDivisions.

See Also

Ruler Members
Ruler Class


FlowChartPro.Ruler.Document Property

Ruler.Document Property
[image]

Gets or sets the FlowChart document this ruler is associated with.

Syntax

VB6 [image] Copy Code

Public Property Get Document() As FlowChart
Public Property Let Document( _
ByVal value As FlowChart _
)

C++ [image] Copy Code

public:
FlowChart* get_Document ()
void put_Document (
FlowChart* value
)

Property Value

A FlowChart instance.

Remarks

The Ruler control does not act as an ActiveX control container, but it and the FlowChart are siblings in the form's hierarchy. As such, make sure the ruler is behind the flowchart in the form's Z order, by using form editor's commands such as "bring to back". Once this property is set, the ruler automatically resizes the flowchart to make it fit between the ruler scales.

See Also

Ruler Members
Ruler Class


FlowChartPro.Ruler.EnableGuides Property

Ruler.EnableGuides Property
[image]

Gets or sets a value indicating whether the alignment guides are enabled.

Syntax

VB6 [image] Copy Code

Public Property Get EnableGuides() As Boolean
Public Property Let EnableGuides( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableGuides ()
void put_EnableGuides (
bool value
)

Property Value

true to allow aligning diagram items using ruler guides; otherwise, false. The default is true.

Remarks

If alignment guides are enabled, users can start aligning items by pressing the left mouse button over a scale and dragging. The horizontal scale displays vertical guide lines that allow aligning the left or right sides of items. The vertical scale displays horizontal guide lines that allow aligning the top or bottom sides of items.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
GuideColor Property


FlowChartPro.Ruler.Font Property

Ruler.Font Property
[image]

Gets or sets the font used to render labels on ruler's scales.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A font object. The default font is Microsoft Sans Serif, 6.4pt.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
ForeColor Property


FlowChartPro.Ruler.ForeColor Property

Ruler.ForeColor Property
[image]

Gets or sets the foreground color of the ruler.

Syntax

VB6 [image] Copy Code

Public Property Get ForeColor() As Long
Public Property Let ForeColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ForeColor ()
void put_ForeColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default value is black color.

Remarks

This color is used to draw ticks and labels on the ruler scales.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
Font Property
BackColor Property


FlowChartPro.Ruler.GuideColor Property

Ruler.GuideColor Property
[image]

Gets or sets the color of the alignment guide lines.

Syntax

VB6 [image] Copy Code

Public Property Get GuideColor() As Long
Public Property Let GuideColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_GuideColor ()
void put_GuideColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default value is black color.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
EnableGuides Property


FlowChartPro.Ruler.NegatedX Property

Ruler.NegatedX Property
[image]

Gets or sets whether the horizontal scale should show negated values, simulating that the coordinate system's X axis grows to the left.

Syntax

VB6 [image] Copy Code

Public Property Get NegatedX() As Boolean
Public Property Let NegatedX( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_NegatedX ()
void put_NegatedX (
bool value
)

Property Value

true if the horizontal ruler scale should show negated coordinates, otherwise false. The default value is false.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
NegatedY Property


FlowChartPro.Ruler.NegatedY Property

Ruler.NegatedY Property
[image]

Gets or sets whether the vertical scale should show negated values, simulating that the coordinate system's Y axis grows to the top.

Syntax

VB6 [image] Copy Code

Public Property Get NegatedY() As Boolean
Public Property Let NegatedY( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_NegatedY ()
void put_NegatedY (
bool value
)

Property Value

true if the vertical ruler scale should show negated coordinates, otherwise false. The default value is false.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
NegatedX Property


FlowChartPro.Ruler.PointerColor Property

Ruler.PointerColor Property
[image]

Gets or sets the color of the mouse pointer's projections.

Syntax

VB6 [image] Copy Code

Public Property Get PointerColor() As Long
Public Property Let PointerColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_PointerColor ()
void put_PointerColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default value is red color.

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
ProjectionColor Property


FlowChartPro.Ruler.ProjectionColor Property

Ruler.ProjectionColor Property
[image]

Gets or sets the color of the projections of the active item on the ruler scales.

Syntax

VB6 [image] Copy Code

Public Property Get ProjectionColor() As Long
Public Property Let ProjectionColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_ProjectionColor ()
void put_ProjectionColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default color is LightSteelBlue = RGB(176, 196, 222).

See Also

Ruler Members
Ruler Class
FlowChartPro Namespace
PointerColor Property


FlowChartPro.Ruler.UnitDivisions Property

Ruler.UnitDivisions Property
[image]

Gets or sets the number of sub-divisions per unit to display on the scale.

Syntax

VB6 [image] Copy Code

Public Property Get UnitDivisions() As Long
Public Property Let UnitDivisions( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_UnitDivisions ()
void put_UnitDivisions (
int value
)

Property Value

An integer value specifying the number of minor ticks drawn per unit. The default value is 10.

Remarks

The units displayed in ruler scales are formed by multiplying the length of a single BaseUnit by UnitScale. Depending on how much space there is to render scale labels for current zoom level, major unit ticks are drawn at either 1, 2 or 5 units, or their multiples by 10, 100 or 1000. The number of minor ticks depends on the current zoom level and UnitDivisions.

See Also

Ruler Members
Ruler Class


FlowChartPro.Ruler.UnitScale Property

Ruler.UnitScale Property
[image]

The scale by which BaseUnit is multiplied to form the ruler's unit.

Syntax

VB6 [image] Copy Code

Public Property Get UnitScale() As Single
Public Property Let UnitScale( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_UnitScale ()
void put_UnitScale (
float value
)

Property Value

A float value specifying the ruler's unit scale.

Remarks

The units displayed in ruler scales are formed by multiplying the length of a single BaseUnit by UnitScale. Depending on how much space there is to render scale labels for current zoom level, major unit ticks are drawn at either 1, 2 or 5 units, or their multiples by 10, 100 or 1000. The number of minor ticks depends on the current zoom level and UnitDivisions.

See Also

Ruler Members
Ruler Class


FlowChartPro.ScriptHelper Class

ScriptHelper Class
Remarks See Also
[image]

This class contains utility methods useful when FlowChartX is running in a web page.

Syntax

VB6 [image] Copy Code

Public Class ScriptHelper

C++ [image] Copy Code

class ScriptHelper

Remarks

A ScriptHelper instance can be accessed via the FlowChart.ScriptHelper property.

See Also

ScriptHelper Members


FlowChartPro.ScriptHelper Members

ScriptHelper Members
Methods
[image]

This class contains utility methods useful when FlowChartX is running in a web page.

The following tables list the members exposed by the ScriptHelper type.

Public Methods

Name | Description
ClientToDocX | Transforms a point from device coordinates to the document coordinates.
ClientToDocY | Transforms a point from device coordinates to the document coordinates.
CreateFont | Creates a standard OLE Font object.
DocToClientX | Transforms a point from the document coordinate space to the device coordinate space.
DocToClientY | Transforms a point from the document coordinate space to the device coordinate space.
LoadImageFromUrl | Loads an image from the specified URL.

See Also

ScriptHelper Class


FlowChartPro.ScriptHelper Methods

ScriptHelper Methods
[image]

Public Methods

Name | Description
ClientToDocX | Transforms a point from device coordinates to the document coordinates.
ClientToDocY | Transforms a point from device coordinates to the document coordinates.
CreateFont | Creates a standard OLE Font object.
DocToClientX | Transforms a point from the document coordinate space to the device coordinate space.
DocToClientY | Transforms a point from the document coordinate space to the device coordinate space.
LoadImageFromUrl | Loads an image from the specified URL.

See Also

ScriptHelper Class


FlowChartPro.ScriptHelper.ClientToDocX Method

ScriptHelper.ClientToDocX Method
[image]

Transforms a point from device coordinates to the document coordinates.

Syntax

VB6 [image] Copy Code

Public Function ClientToDocX( _
ByVal clientX As Long, _
ByVal clientY As Long _
) As Long

C++ [image] Copy Code

public:
int ClientToDocX (
int clientX,
int clientY
)

Parameters

clientX
The x coordinate of the point, in device coordinates.
clientY
The y coordinate of the point, in device coordinates.

Return Value

An integer value specifying the point's X position in logical coordinates.

Remarks

Gets the document coordinates of the document point (x, y). The mapping between client (device) and document (logical) coordinates depends on the current scroll position and zoom factor. If you have the device coordinates of the mouse position, you can use this method together with GetBoxAt or GetTableAt to find out which diagram item lies under the mouse cursor.

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.ScriptHelper.ClientToDocY Method

ScriptHelper.ClientToDocY Method
[image]

Transforms a point from device coordinates to the document coordinates.

Syntax

VB6 [image] Copy Code

Public Function ClientToDocY( _
ByVal clientX As Long, _
ByVal clientY As Long _
) As Long

C++ [image] Copy Code

public:
int ClientToDocY (
int clientX,
int clientY
)

Parameters

clientX
The x coordinate of the point, in device coordinates.
clientY
The y coordinate of the point, in device coordinates.

Return Value

An integer value specifying the point's Y position in logical coordinates.

Remarks

Gets the document coordinates of the document point (x, y). The mapping between client (device) and document (logical) coordinates depends on the current scroll position and zoom factor. If you have the device coordinates of the mouse position, you can use this method together with GetBoxAt or GetTableAt to find out which diagram item lies under the mouse cursor.

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.ScriptHelper.CreateFont Method

ScriptHelper.CreateFont Method
[image]

Creates a standard OLE Font object.

Syntax

VB6 [image] Copy Code

Public Function CreateFont( _
ByVal name As String, _
ByVal Size As CY, _
ByVal Bold As Boolean, _
ByVal Italic As Boolean, _
ByVal Underline As Boolean _
) As IFontDisp

C++ [image] Copy Code

public:
IFontDisp* CreateFont (
BSTR name,
CY Size,
bool Bold,
bool Italic,
bool Underline
)

Parameters

name
A string specifying the font name.
Size
The point size of the font.
Bold
The initial bold state of the font.
Italic
The initial italic state of the font.
Underline
The initial underline state of the font.

Return Value

A font object.

Remarks

The standard OLE Font class implementation is not marked as safe for scripting. So, depending on its security settings, Internet Explorer might display a warning message when creating an "stdfont" COM object from script, or it might refuse creating the font and return null/Nothing as the result of the VBScript CreateObject method or the JavaScript "new ActiveXObject". The CreateFont method lets you create an OLE Font object without any security restrictions.

Example

The following code sets the text and font of a box.

VB6 [image] Copy Code

aBox.Text = "Arial, 12, Italic"
aBox.Font = fcx.ScriptHelper.CreateFont("Arial", 12, false, true, false)

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.ScriptHelper.DocToClientX Method

ScriptHelper.DocToClientX Method
[image]

Transforms a point from the document coordinate space to the device coordinate space.

Syntax

VB6 [image] Copy Code

Public Function DocToClientX( _
ByVal docX As Long, _
ByVal docY As Long _
) As Long

C++ [image] Copy Code

public:
int DocToClientX (
int docX,
int docY
)

Parameters

docX
The x coordinate of the point, in document coordinates.
docY
The y coordinate of the point, in document coordinates.

Return Value

An integer value specifying the point's X coordinate in pixels.

Remarks

Gets pixel coordinates in the FlowChartX window, corresponding to the specified document x and y coordinates. This method is useful when the device coordinates of a diagram location are needed. For example, it can be used to get the point where a context menu should be displayed.

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.ScriptHelper.DocToClientY Method

ScriptHelper.DocToClientY Method
[image]

Transforms a point from the document coordinate space to the device coordinate space.

Syntax

VB6 [image] Copy Code

Public Function DocToClientY( _
ByVal docX As Long, _
ByVal docY As Long _
) As Long

C++ [image] Copy Code

public:
int DocToClientY (
int docX,
int docY
)

Parameters

docX
The x coordinate of the point, in document coordinates.
docY

The y coordinate of the point, in document coordinates.

Return Value

An integer value specifying the point's Y coordinate in pixels.

Remarks

Gets pixel coordinates in the FlowChartX window, corresponding to the specified document x and y coordinates. This method is useful when the device coordinates of a diagram location are needed. For example, it can be used to get the point where a context menu should be displayed.

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.ScriptHelper.LoadImageFromUrl Method

ScriptHelper.LoadImageFromUrl Method
[image]

Loads an image from the specified URL.

Syntax

VB6 [image] Copy Code

Public Function LoadImageFromUrl( _
ByVal URL As String _
) As IPictureDisp

C++ [image] Copy Code

public:
IPictureDisp* LoadImageFromUrl (
BSTR URL
)

Parameters

URL
The URL of the image to open.

Return Value

An image object.

Remarks

Images loaded through the HTML <IMG> tag cannot be assigned to the Picture property of FlowChartX boxes or tables. This method lets you load an image from a remote http server and get an OLE Picture object that can be displayed inside FlowChartX nodes.

Example

The following code loads an image from a server.

VB6 [image] Copy Code

box.Picture = fcx.ScriptHelper.LoadImageFromUrl( _
"http://science.nasa.gov/headlines/y2004/images/bluemoon/elkbath.jpg")

See Also

ScriptHelper Members
ScriptHelper Class


FlowChartPro.SelectionOptions Class

SelectionOptions Class
[image]

Settings for multiple selection.

Syntax

VB6 [image] Copy Code

Public Class SelectionOptions

C++ [image] Copy Code

class SelectionOptions

See Also

SelectionOptions Members


FlowChartPro.SelectionOptions Members

SelectionOptions Members
Properties
[image]

Settings for multiple selection.

The following tables list the members exposed by the SelectionOptions type.

Public Properties

Name | Description
FramePadding | Gets or sets the padding distance between selected items and the selection frame.
LassoColor | Gets or sets the color of the selection lasso.
LassoStyle | Gets or sets the dash style of the selection lasso.
LassoWidth | Gets or sets the width of the selection lasso pen.
ShowItemHandles | Specifies whether to show adjustment handles of individual items in multiple selection.

See Also

SelectionOptions Class


FlowChartPro.SelectionOptions Properties

SelectionOptions Properties
[image]

Public Properties

Name | Description
FramePadding | Gets or sets the padding distance between selected items and the selection frame.
LassoColor | Gets or sets the color of the selection lasso.
LassoStyle | Gets or sets the dash style of the selection lasso.
LassoWidth | Gets or sets the width of the selection lasso pen.
ShowItemHandles | Specifies whether to show adjustment handles of individual items in multiple selection.

See Also

SelectionOptions Class


FlowChartPro.SelectionOptions.FramePadding Property

SelectionOptions.FramePadding Property
[image]

Gets or sets the padding distance between selected items and the selection frame.

Syntax

VB6 [image] Copy Code

Public Property Get FramePadding() As Integer
Public Property Let FramePadding( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FramePadding ()
void put_FramePadding (
short value
)

Property Value

A short integer specifying the padding distance. The default value is 0.

See Also

SelectionOptions Members
SelectionOptions Class


FlowChartPro.SelectionOptions.LassoColor Property

SelectionOptions.LassoColor Property
[image]

Gets or sets the color of the selection lasso.

Syntax

VB6 [image] Copy Code

Public Property Get LassoColor() As Long
Public Property Let LassoColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_LassoColor ()
void put_LassoColor (
unsigned int value
)

Property Value

A color value. The default is RGB: 150, 150, 150

See Also

SelectionOptions Members
SelectionOptions Class


FlowChartPro.SelectionOptions.LassoStyle Property

SelectionOptions.LassoStyle Property
[image]

Gets or sets the dash style of the selection lasso.

Syntax

VB6 [image] Copy Code

Public Property Get LassoStyle() As EPenStyle
Public Property Let LassoStyle( _
ByVal value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_LassoStyle ()
void put_LassoStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. The default value is psDash.

See Also

SelectionOptions Members
SelectionOptions Class


FlowChartPro.SelectionOptions.LassoWidth Property

SelectionOptions.LassoWidth Property
[image]

Gets or sets the width of the selection lasso pen.

Syntax

VB6 [image] Copy Code

Public Property Get LassoWidth() As Long
Public Property Let LassoWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LassoWidth ()
void put_LassoWidth (
int value
)

Property Value

An integer value specifying the pen width. The default value is 0.

Remarks

The zero value signifies one-pixel wide pen, regardless of diagram's measure unit.

See Also

SelectionOptions Members
SelectionOptions Class


FlowChartPro.SelectionOptions.ShowItemHandles Property

SelectionOptions.ShowItemHandles Property
[image]

Specifies whether to show adjustment handles of individual items in multiple selection.

Syntax

VB6 [image] Copy Code

Public Property Get ShowItemHandles() As Boolean
Public Property Let ShowItemHandles( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ShowItemHandles ()
void put_ShowItemHandles (
bool value
)

Property Value

true to show items' handles, otherwise false. The default value is true.

See Also

SelectionOptions Members
SelectionOptions Class


FlowChartPro.ShapeTemplate Class

ShapeTemplate Class
Remarks See Also
[image]

ShapeTemplate objects provide the means for defining complex box shapes.

Syntax

VB6 [image] Copy Code

Public Class ShapeTemplate

C++ [image] Copy Code

class ShapeTemplate

Remarks

ShapeTemplate elements

An outline must be defined for each shape template. The outline is used for hit-testing, clipping, filling nodes and finding intersection points with arrows. In addition, shape templates can have optional decorations, text region definitions and anchor point patterns associated with them. The shape elements coordinates passed to the various definition methods must be in the range 0..HorizontalScale for X and 0..VerticalScale for Y. These values specify a scaling transformation from the points of a shape definition to the points of a box' bounding rectangle.

Outline

Outlines consist of straight-line segments, arcs and/or Bezier curves. Call the AddOutlineStraight method to add a straight segment to shape's outline. Call AddOutlineBezier to add a Bezier curve to the outline or AddOutlineArc to add an arc. The last point passed to an AddOutline* method is connected using the specified segment type to the first point passed to the next AddOutline* call.

Decorations

Decorations are visual elements that do not take part in hit-testing and clipping. Straight lines, Bezier curves, arcs and ellipses can be assigned as decorations to a shape template. Call AddDecorationLine, AddDecorationBezier, AddDecorationArc or AddDecorationEllipse to create the respective decoration element.

Text region

The text region is part of a shape in which node's text is laid-out and rendered. If text region definition is not provided for a shape, the shape's outline is used instead for text formatting. Text regions are defined via lines (AddTextStraight) arcs (AddTextArc) and Bezier curves (AddTextBezier). If a box' TextStyle is set to tsFitPolyTop, tsFitPolyCenter, or tsFitPolyBottom, the text is formatted in a polygonal shape (curves are approximated to poly-lines). For other text style values, the text is rendered in the smallest rectangle that bounds a text region.

Anchor patterns

Anchor point patterns define at which points of a node, arrows can start or end. Assign the identifier of an AnchorPattern object to the AnchorPattern property of a shape template. Some of the predefined shape templates have anchor patterns assigned to them, for example the Decision2In2Out anchor pattern is set as default for the Decision shape.

Completing shape definition

To complete shape definition, call the CompleteDefinition method, passing shape identifier as an argument. The shape outline is automatically closed and the text region is converted to polygon if there are Bezier curves or arcs used in its definition. Additionally the shape is added to the Shapes array.

Images

It is possible to associate an image with a shape definition via the Picture property; that image is displayed in all boxes associated with the shape, unless their own Picture is set. You can also specify the area in which the image is displayed via SetPictureRect.

Predefined shapes

There are 87 predefined shapes accessible through the Shapes array. The shapes and their string identifiers are listed in the Table of Predefined Shapes.

Example

Here is an example showing how to define a new shape and assign it to a box object:

VB6 [image] Copy Code

Private Sub Form_Load()

Dim shape As New ShapeTemplate
shape.AddOutlineStraight 0, 0
shape.AddOutlineStraight 50, 0
shape.AddOutlineBezier 50, 10, 90, 0, 100, 20
shape.AddOutlineStraight 100, 100
shape.AddOutlineStraight 0, 100
shape.CompleteDefinition "Shape1"

End Sub

Private Sub Command1_Click()

If fcx.ActiveBox Is Nothing Then

fcx.BoxStyle = bsShape
fcx.DefaultShape = fcx.Shapes("Shape1")
fcx.ShapeOrientation = 0

Else

fcx.ActiveBox.Shape = fcx.Shapes("Shape1")
fcx.ActiveBox.ShapeOrientation = 0

End If

End Sub

See Also

ShapeTemplate Members


FlowChartPro.ShapeTemplate Members

ShapeTemplate Members
Constructors Properties Methods
[image]

ShapeTemplate objects provide the means for defining complex box shapes.

The following tables list the members exposed by the ShapeTemplate type.

Public Constructors

Name | Description
ShapeTemplate | Initializes a new instance of the ShapeTemplate class.

Public Properties

Name | Description
AnchorPattern | Gets or sets a string that identifies an AnchorPattern to be used with shapes of this template.
HorizontalScale | Gets or sets the horizontal scale of the coordinate system in which shape vertex points are defined.
Picture | Gets or sets the image displayed in all instances of this shape.
ShapeId | Gets a string that identifies the shape template, passed as an argument to the CompleteDefinition method.
VerticalScale | Gets or sets the vertical scale of the coordinate system in which shape vertex points are defined.

Public Methods

Name | Description
AddDecorationArc | Adds an arc as decoration of a shape.
AddDecorationBezier | Adds a new Bezier curve as decoration of a shape.
AddDecorationEllipse | Adds a new ellipse as decoration of a shape.
AddDecorationLine | Adds a new straight segment as decoration of a shape.
AddOutlineArc | Adds an arc to the shape's outline.
AddOutlineBezier | Adds a new Bezier curve to shape's outline, starting from the first point specified as argument, and having the next two points as control points.
AddOutlineStraight | Adds a new straight segment to shape's outline, starting from the point specified as argument.
AddTextArc | Adds an arc to shape's text region.
AddTextBezier | Adds a new Bezier curve to shape's text region, starting from the first point specified as argument, and having the next two points as control points.
AddTextStraight | Adds a new straight segment to shape's text region, starting from the point specified as argument.
CompleteDefinition | Completes a shape definition.
EndFilledDecoration | Completes the definition of a filled decoration started by calling StartFilledDecoration.
GetDefinition |
SetPictureRect | Sets the position of the images displayed in instances of this shape.
StartFilledDecoration | Adds a new filled shape as decoration of this shape template.

See Also

ShapeTemplate Class


FlowChartPro.ShapeTemplate Constructor

ShapeTemplate Constructor
[image]

Initializes a new instance of the ShapeTemplate class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
ShapeTemplate ()

See Also

ShapeTemplate Class


FlowChartPro.ShapeTemplate Methods

ShapeTemplate Methods
[image]

Public Methods

Name | Description
AddDecorationArc | Adds an arc as decoration of a shape.
AddDecorationBezier | Adds a new Bezier curve as decoration of a shape.
AddDecorationEllipse | Adds a new ellipse as decoration of a shape.
AddDecorationLine | Adds a new straight segment as decoration of a shape.
AddOutlineArc | Adds an arc to the shape's outline.
AddOutlineBezier | Adds a new Bezier curve to shape's outline, starting from the first point specified as argument, and having the next two points as control points.
AddOutlineStraight | Adds a new straight segment to shape's outline, starting from the point specified as argument.
AddTextArc | Adds an arc to shape's text region.
AddTextBezier | Adds a new Bezier curve to shape's text region, starting from the first point specified as argument, and having the next two points as control points.
AddTextStraight | Adds a new straight segment to shape's text region, starting from the point specified as argument.
CompleteDefinition | Completes a shape definition.
EndFilledDecoration | Completes the definition of a filled decoration started by calling StartFilledDecoration.
GetDefinition |
SetPictureRect | Sets the position of the images displayed in instances of this shape.
StartFilledDecoration | Adds a new filled shape as decoration of this shape template.

See Also

ShapeTemplate Class


FlowChartPro.ShapeTemplate.AddDecorationArc Method

ShapeTemplate.AddDecorationArc Method
[image]

Adds an arc as decoration of a shape.

Syntax

VB6 [image] Copy Code

Public Sub AddDecorationArc( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer, _
ByVal angle As Integer, _
ByVal sweep As Integer _
)

C++ [image] Copy Code

public:
void AddDecorationArc (
short x1,
short y1,
short x2,
short y2,
short angle,
short sweep
)

Parameters

x1

A x-coordinate, defined as percent of shape full width.

y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.
angle
The starting angle of the arc, in degrees.
sweep
The angle between arc end points, in degrees.

Remarks

The arc is a part of the ellipse enclosed in the rectangle defined via (x1,y1)-(x2,y2) coordinates. The arc starts at the angle specified as argument and sweeps in clockwise direction as specified via the sweep argument.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddDecorationBezier Method

ShapeTemplate.AddDecorationBezier Method
[image]

Adds a new Bezier curve as decoration of a shape.

Syntax

VB6 [image] Copy Code

Public Sub AddDecorationBezier( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer, _
ByVal x3 As Integer, _
ByVal y3 As Integer, _
ByVal x4 As Integer, _
ByVal y4 As Integer _
)

C++ [image] Copy Code

public:
void AddDecorationBezier (
short x1,
short y1,
short x2,
short y2,
short x3,
short y3,
short x4,
short y4
)

Parameters

x1

A x-coordinate, defined as percent of shape full width.

y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.
x3
A x-coordinate, defined as percent of shape full width.
y3
A y-coordinate, defined as percent of shape full height.
x4
A x-coordinate, defined as percent of shape full width.
y4
A y-coordinate, defined as percent of shape full height.

Remarks

Decorations are not used for hit-testing, clipping and finding intersection with arrows.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddDecorationEllipse Method

ShapeTemplate.AddDecorationEllipse Method
[image]

Adds a new ellipse as decoration of a shape.

Syntax

VB6 [image] Copy Code

Public Sub AddDecorationEllipse( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer _
)

C++ [image] Copy Code

public:
void AddDecorationEllipse (
short x1,
short y1,
short x2,
short y2
)

Parameters

x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2

A x-coordinate, defined as percent of shape full width.

y2
A y-coordinate, defined as percent of shape full height.

Remarks

The ellipse is defined by top-left and bottom-right points of its bounding rectangle. Decorations are not used for hit-testing, clipping and finding intersection with arrows.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddDecorationLine Method

ShapeTemplate.AddDecorationLine Method
[image]

Adds a new straight segment as decoration of a shape.

Syntax

VB6 [image] Copy Code

Public Sub AddDecorationLine( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer _
)

C++ [image] Copy Code

public:
void AddDecorationLine (
short x1,
short y1,
short x2,
short y2
)

Parameters

x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.

Remarks

Decorations are not used for hit-testing, clipping and finding intersection with arrows.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddOutlineArc Method

ShapeTemplate.AddOutlineArc Method
[image]

Adds an arc to the shape's outline.

Syntax

VB6 [image] Copy Code

Public Sub AddOutlineArc( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer, _
ByVal angle As Integer, _
ByVal sweep As Integer _
)

C++ [image] Copy Code

public:
void AddOutlineArc (
short x1,
short y1,
short x2,
short y2,
short angle,
short sweep
)

Parameters

x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.
angle
The starting angle of the arc, in degrees.
sweep
The angle between arc end points, in degrees.

Remarks

The arc is a part of the ellipse enclosed in the rectangle defined via (x1,y1)-(x2,y2) coordinates. The arc starts at the angle specified as argument and sweeps in clockwise direction as specified via the sweep argument.

Example

Here is how the Actor shape is defined in C++.

C++ [image] Copy Code

// Actor
CComObject<ShapeTemplate>::CreateInstance(&shape);
shape->AddRef();
shape->AddOutlineArc(40, 0, 60, 20, 90, 360);
shape->AddOutlineStraight(50, 20);
shape->AddOutlineArc(65, 20, 75, 30, 270, 90);
shape->AddOutlineStraight(75, 30);
shape->AddOutlineStraight(75, 60);
shape->AddOutlineStraight(68, 60);
shape->AddOutlineStraight(68, 30);
shape->AddOutlineStraight(64, 30);
shape->AddOutlineStraight(64, 100);
shape->AddOutlineStraight(52, 100);
shape->AddOutlineStraight(52, 65);
shape->AddOutlineStraight(48, 65);
shape->AddOutlineStraight(48, 100);
shape->AddOutlineStraight(36, 100);
shape->AddOutlineStraight(36, 30);
shape->AddOutlineStraight(32, 30);
shape->AddOutlineStraight(32, 60);
shape->AddOutlineStraight(25, 60);
shape->AddOutlineArc(25, 20, 35, 30, 180, 90);
shape->CompleteDefinition(_T("Actor"));

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddOutlineBezier Method

ShapeTemplate.AddOutlineBezier Method
[image]

Adds a new Bezier curve to shape's outline, starting from the first point specified as argument, and having the next two points as control points.

Syntax

VB6 [image] Copy Code

Public Sub AddOutlineBezier( _
ByVal x As Integer, _
ByVal y As Integer, _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer _
)

C++ [image] Copy Code

public:
void AddOutlineBezier (
short x,
short y,
short x1,
short y1,
short x2,
short y2
)

Parameters

x
A x-coordinate, defined as percent of shape full width.
y
A y-coordinate, defined as percent of shape full height.
x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.

Remarks

The curve ends at the first point of the next part added to the outline, or at the first point of the outline if CompleteDefinition is called next.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddOutlineStraight Method

ShapeTemplate.AddOutlineStraight Method
[image]

Adds a new straight segment to shape's outline, starting from the point specified as argument.

Syntax

VB6 [image] Copy Code

Public Sub AddOutlineStraight( _
ByVal x As Integer, _
ByVal y As Integer _
)

C++ [image] Copy Code

public:
void AddOutlineStraight (
short x,
short y
)

Parameters

x
A x-coordinate, defined as percent of shape full width.
y
A y-coordinate, defined as percent of shape full height.

Remarks

The segment ends at the first point of the next part added to the outline, or at the first point of the outline if CompleteDefinition is called next.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddTextArc Method

ShapeTemplate.AddTextArc Method
[image]

Adds an arc to shape's text region.

Syntax

VB6 [image] Copy Code

Public Sub AddTextArc( _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer, _
ByVal angle As Integer, _
ByVal sweep As Integer _
)

C++ [image] Copy Code

public:
void AddTextArc (
short x1,
short y1,
short x2,
short y2,
short angle,
short sweep
)

Parameters

x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.
angle

sweep

Remarks

The arc is a part of the ellipse enclosed in the rectangle defined via (x1,y1)-(x2,y2) coordinates. The arc starts at the angle specified as argument and sweeps in clockwise direction as specified via the sweep argument. If text region is not defined for a shape, the shape's outline is used for formatting and rendering the text.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddTextBezier Method

ShapeTemplate.AddTextBezier Method
[image]

Adds a new Bezier curve to shape's text region, starting from the first point specified as argument, and having the next two points as control points.

Syntax

VB6 [image] Copy Code

Public Sub AddTextBezier( _
ByVal x As Integer, _
ByVal y As Integer, _
ByVal x1 As Integer, _
ByVal y1 As Integer, _
ByVal x2 As Integer, _
ByVal y2 As Integer _
)

C++ [image] Copy Code

public:
void AddTextBezier (
short x,
short y,
short x1,
short y1,
short x2,
short y2
)

Parameters

x
A x-coordinate, defined as percent of shape full width.
y
A y-coordinate, defined as percent of shape full height.
x1
A x-coordinate, defined as percent of shape full width.
y1
A y-coordinate, defined as percent of shape full height.
x2
A x-coordinate, defined as percent of shape full width.
y2
A y-coordinate, defined as percent of shape full height.

Remarks

The curve ends at the first point of the next part added to the text region, or at the first point of the region if CompleteDefinition is called next. If text region is not defined for a shape, the shape's outline is used for formatting and rendering the text.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.AddTextStraight Method

ShapeTemplate.AddTextStraight Method
[image]

Adds a new straight segment to shape's text region, starting from the point specified as argument.

Syntax

VB6 [image] Copy Code

Public Sub AddTextStraight( _
ByVal x As Integer, _
ByVal y As Integer _
)

C++ [image] Copy Code

public:
void AddTextStraight (
short x,
short y
)

Parameters

x
A x-coordinate, defined as percent of shape full width.
y
A y-coordinate, defined as percent of shape full height.

Remarks

The segment ends at the first point of the next part added to the text region, or at the first point of the region if CompleteDefinition is called next. If text region is not defined for a shape, the shape's outline is used for formatting and rendering the text.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property
VerticalScale Property


FlowChartPro.ShapeTemplate.CompleteDefinition Method

ShapeTemplate.CompleteDefinition Method
[image]

Completes a shape definition.

Syntax

VB6 [image] Copy Code

Public Sub CompleteDefinition( _
ByVal ShapeId As String _
)

C++ [image] Copy Code

public:
void CompleteDefinition (
BSTR ShapeId
)

Parameters

ShapeId

The identifier of the new shape.

Remarks

The shape outline is automatically closed and the text region is converted to polygon if there are Bezier curves used in its definition. Additionally, the shape template is added to the Shapes collection, which allows the template to be accessed later by its integer index or string identifier.

It is necessary to call this method for each shape template you define.

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.EndFilledDecoration Method

ShapeTemplate.EndFilledDecoration Method
[image]

Completes the definition of a filled decoration started by calling StartFilledDecoration.

Syntax

VB6 [image] Copy Code

Public Sub EndFilledDecoration ()

C++ [image] Copy Code

public:
void EndFilledDecoration ()

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.GetDefinition Method

ShapeTemplate.GetDefinition Method
[image]

Syntax

VB6 [image] Copy Code

Public Sub GetDefinition( _
ByVal defDescr As Integer, _
ByRef definitionPtr As Long _
)

C++ [image] Copy Code

public:
void GetDefinition (
short defDescr,
int* definitionPtr
)

Parameters

defDescr

definitionPtr

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.SetPictureRect Method

ShapeTemplate.SetPictureRect Method
[image]

Sets the position of the images displayed in instances of this shape.

Syntax

VB6 [image] Copy Code

Public Sub SetPictureRect( _
ByVal x As Single, _
ByVal y As Single, _
ByVal width As Single, _
ByVal height As Single _
)

C++ [image] Copy Code

public:
void SetPictureRect (
float x,
float y,
float width,
float height
)

Parameters

x
The relative x position of a box image specified as percent of the box width.
y
The relative y position of a box image specified as percent of the box height.
width
The width of a box image, specified as percent of the box width.
height
The height of a box image, specified as percent of the box height.

Remarks

The coordinates of the image location are specified in percent, relatively to the rectangular bounds of boxes. The default value (0, 0, 100, 100) makes the image displayed in a box cover the whole area of that box.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
Picture Property
Box.Picture Property


FlowChartPro.ShapeTemplate.StartFilledDecoration Method

ShapeTemplate.StartFilledDecoration Method
[image]

Adds a new filled shape as decoration of this shape template.

Syntax

VB6 [image] Copy Code

Public Sub StartFilledDecoration( _
ByVal FillColor As Long _
)

C++ [image] Copy Code

public:
void StartFilledDecoration (
unsigned int FillColor
)

Parameters

FillColor
The decoration's fill color.

Remarks

The geometry of the decoration shape is defined through subsequent calls to the various AddOutline* methods. Once the decoration is defined, call EndFilledDecoration.

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate Properties

ShapeTemplate Properties
[image]

Public Properties

Name | Description
AnchorPattern | Gets or sets a string that identifies an AnchorPattern to be used with shapes of this template.
HorizontalScale | Gets or sets the horizontal scale of the coordinate system in which shape vertex points are defined.
Picture | Gets or sets the image displayed in all instances of this shape.
ShapeId | Gets a string that identifies the shape template, passed as an argument to the CompleteDefinition method.
VerticalScale | Gets or sets the vertical scale of the coordinate system in which shape vertex points are defined.

See Also

ShapeTemplate Class


FlowChartPro.ShapeTemplate.AnchorPattern Property

ShapeTemplate.AnchorPattern Property
[image]

Gets or sets a string that identifies an AnchorPattern to be used with shapes of this template.

Syntax

VB6 [image] Copy Code

Public Property Get AnchorPattern() As String
Public Property Let AnchorPattern( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_AnchorPattern ()
void put_AnchorPattern (
BSTR value
)

Property Value

A string value.

Remarks

The pattern is assigned to the AnchorPattern property of a box when the box Shape is set.

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.HorizontalScale Property

ShapeTemplate.HorizontalScale Property
[image]

Gets or sets the horizontal scale of the coordinate system in which shape vertex points are defined.

Syntax

VB6 [image] Copy Code

Public Property Get HorizontalScale() As Integer
Public Property Let HorizontalScale( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_HorizontalScale ()
void put_HorizontalScale (
short value
)

Property Value

A long value. The default is 100.

Remarks

When applying the shape definition to a box, the definition coordinates are mapped to points of a box' bounding rectangle via a scaling transformation. That mapping makes the ratio between the ShapeTemplate X coordinates to the HorizontalScale the same as the ratio between the resulting box points X coordinates to the box width.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
VerticalScale Property


FlowChartPro.ShapeTemplate.Picture Property

ShapeTemplate.Picture Property
[image]

Gets or sets the image displayed in all instances of this shape.

Syntax

VB6 [image] Copy Code

Public Property Get Picture() As IPictureDisp
Public Property Let Picture( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Picture ()
void put_Picture (
IPictureDisp* value
)

Property Value

A picture object. The default is null (Nothing in Visual Basic).

Remarks

The image is displayed in the rectangle specified via SetPictureRect. If the Picture property of a box is set, it overrides the image specified in the shape definition.

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.ShapeId Property

ShapeTemplate.ShapeId Property
[image]

Gets a string that identifies the shape template, passed as an argument to the CompleteDefinition method.

Syntax

VB6 [image] Copy Code

Public Property Get ShapeId() As String

C++ [image] Copy Code

public:
BSTR get_ShapeId ()

Property Value

A string value.

Remarks

That string can be used as index in the Shapes array of the FlowChart object.

See Also

ShapeTemplate Members
ShapeTemplate Class


FlowChartPro.ShapeTemplate.VerticalScale Property

ShapeTemplate.VerticalScale Property
[image]

Gets or sets the vertical scale of the coordinate system in which shape vertex points are defined.

Syntax

VB6 [image] Copy Code

Public Property Get VerticalScale() As Integer
Public Property Let VerticalScale( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_VerticalScale ()
void put_VerticalScale (
short value
)

Property Value

A long value. The default is 100.

Remarks

When applying the shape definition to a box, the definition coordinates are mapped to points of a box' bounding rectangle via a scaling transformation. That mapping makes the ratio between the ShapeTemplate Y coordinates to the VerticalScale the same as the ratio between the resulting box points Y coordinates to the box height.

See Also

ShapeTemplate Members
ShapeTemplate Class
FlowChartPro Namespace
HorizontalScale Property


FlowChartPro.SpringLayout Class

SpringLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements the Spring-Embedder graph layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class SpringLayout

C++ [image] Copy Code

class SpringLayout

Remarks

Spring-Embedder produces layouts having uniform distribution of nodes by simulating a physical system in which nodes repulse each other and the links between them act as confining springs. Nodes are moved around in an iterative process. The forces that act on a node are calculated, taking in account the positions of surrounding nodes and links from the previous iteration.

To apply this layout to a diagram, create an instance of SpringLayout, set its properties and pass it to ArrangeDiagram. If there are several unconnected graphs in the diagram, it is possible to specify which of them to arrange by means of the Root property.

The final appearance of arranged graphs depends mostly on the values of EnableClusters and NodeDistance properties that specify how nodes are distributed by the layout routine. Enabling the MinimizeCrossings property helps to decrease the number of link crossings, though that makes the algorithm run somewhat slower.

The layout routine runs as much iterations as set in NumIterations, calculating better node positions at each step. When that stage of the algorithm completes, if ArrowAnchoring is enabled arrow ends are aligned to nodes' anchor points.

See Also

SpringLayout Members


FlowChartPro.SpringLayout Members

SpringLayout Members
Constructors Properties
[image]

( [image] a feature of FlowChartX Pro edition)

Implements the Spring-Embedder graph layout algorithm.

The following tables list the members exposed by the SpringLayout type.

Public Constructors

Name | Description
SpringLayout | Initializes a new instance of the SpringLayout class.

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
EnableClusters | Gets or sets a value indicating whether the SpringLayout algorithm should detect node clusters and place them at distinct positions.
MinimizeCrossings | Gets or sets a value indicating whether the layout algorithm should try to decrease the number of edge crossing.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeDistance | Gets or sets the desired distance between adjacent nodes.
NumIterations | Gets or sets how many iterations to run the algorithm, calculating better node positions at each step.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

See Also

SpringLayout Class


FlowChartPro.SpringLayout Constructor

SpringLayout Constructor
[image]

Initializes a new instance of the SpringLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
SpringLayout ()

See Also

SpringLayout Class


FlowChartPro.SpringLayout Properties

SpringLayout Properties
[image]

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
EnableClusters | Gets or sets a value indicating whether the SpringLayout algorithm should detect node clusters and place them at distinct positions.
MinimizeCrossings | Gets or sets a value indicating whether the layout algorithm should try to decrease the number of edge crossing.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeDistance | Gets or sets the desired distance between adjacent nodes.
NumIterations | Gets or sets how many iterations to run the algorithm, calculating better node positions at each step.
Root | Gets or sets which sub-graph of the diagram should be laid out.
SplitGraph | Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

See Also

SpringLayout Class


FlowChartPro.SpringLayout.ArrowAnchoring Property

SpringLayout.ArrowAnchoring Property
[image]

Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowAnchoring() As EAnchoring
Public Property Let ArrowAnchoring( _
ByVal Value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_ArrowAnchoring ()
void put_ArrowAnchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default is ancIgnore.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.EnableClusters Property

SpringLayout.EnableClusters Property
[image]

Gets or sets a value indicating whether the SpringLayout algorithm should detect node clusters and place them at distinct positions.

Syntax

VB6 [image] Copy Code

Public Property Get EnableClusters() As Boolean
Public Property Let EnableClusters( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableClusters ()
void put_EnableClusters (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Each cluster consists of a center node surrounded by several local nodes. Clusters might be linked with other clusters via their center nodes. Best-looking results are achieved when there aren't links between the local nodes in a cluster.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.MinimizeCrossings Property

SpringLayout.MinimizeCrossings Property
[image]

Gets or sets a value indicating whether the layout algorithm should try to decrease the number of edge crossing.

Syntax

VB6 [image] Copy Code

Public Property Get MinimizeCrossings() As Boolean
Public Property Let MinimizeCrossings( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_MinimizeCrossings ()
void put_MinimizeCrossings (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Run more iteration steps to get even better results. However, the algorithm will need more time to complete if you do so.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.MultipleGraphsPlacement Property

SpringLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal Value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default is mgpHorizontal.

Remarks

If the diagram contains several unconnected subgraphs, each of them is processed by the algorithm independently from the others. This property specifies how such subgraphs should be placed one relatively to another. The possible options are to arrange them in a row, in a column, or in such a way that the diagram covers a minimal area.

See Also

SpringLayout Members
SpringLayout Class
FlowChartPro Namespace
SplitGraph Property


FlowChartPro.SpringLayout.NodeDistance Property

SpringLayout.NodeDistance Property
[image]

Gets or sets the desired distance between adjacent nodes.

Syntax

VB6 [image] Copy Code

Public Property Get NodeDistance() As Long
Public Property Let NodeDistance( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_NodeDistance ()
void put_NodeDistance (
int value
)

Property Value

A long value. The default is 50.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.NumIterations Property

SpringLayout.NumIterations Property
[image]

Gets or sets how many iterations to run the algorithm, calculating better node positions at each step.

Syntax

VB6 [image] Copy Code

Public Property Get NumIterations() As Long
Public Property Let NumIterations( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_NumIterations ()
void put_NumIterations (
int value
)

Property Value

A long value. The default is 150.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.Root Property

SpringLayout.Root Property
[image]

Gets or sets which sub-graph of the diagram should be laid out.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If a diagram contains several unconnected sub-graphs, it is possible to specify which of them to be laid out by specifying a root node. If the root is specified, all nodes and links that can be reached from it define the sub-graph to be arranged. In such a case, other items in the diagram are not affected by a call to ArrangeDiagram.

See Also

SpringLayout Members
SpringLayout Class


FlowChartPro.SpringLayout.SplitGraph Property

SpringLayout.SplitGraph Property
[image]

Gets or sets a value indicating whether to split the graph to its interconnected subgraphs and arrange the subgraphs independently or arrange the graph as a whole.

Syntax

VB6 [image] Copy Code

Public Property Get SplitGraph() As Boolean
Public Property Let SplitGraph( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SplitGraph ()
void put_SplitGraph (
bool value
)

Property Value

A boolean value. The default is false.

See Also

SpringLayout Members
SpringLayout Class
FlowChartPro Namespace
MultipleGraphsPlacement Property


FlowChartPro.SvgExporter Class

SvgExporter Class
Remarks See Also
[image]

Creates SVG (Scalable Vector Graphics) files from FlowChartX diagrams.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code
Public Class SvgExporter
C++ [image] Copy Code
class SvgExporter

Remarks

Scalable Vector Graphics is an XML-based graphics language that describes images with vector shapes, text, and embedded raster graphics. SVG files can be displayed in a browser using the Adobe SVG Viewer. The most popular vector graphics editing applications provide support for SVG too.

In order to create an SVG file from a FlowChartX diagram, create an SvgExporter instance and call its Export method, passing a FlowChart object as parameter. You can get the markup code for generated SVG drawing without creating a file by calling ExportString.

See Also

SvgExporter Members


FlowChartPro.SvgExporter Members

SvgExporter Members
Constructors Properties Methods
[image]

Creates SVG (Scalable Vector Graphics) files from FlowChartX diagrams.

( [image] a feature of FlowChartX Pro edition)

The following tables list the members exposed by the SvgExporter type.

Public Constructors

Name | Description
SvgExporter | Initializes a new instance of the SvgExporter class.

Public Properties

Name | Description
ExportInvisibleItems | Gets or sets a value indicating whether invisible items should be exported.

Public Methods

Name | Description
Export | Creates an SVG drawing representing the specified FlowChartX diagram.
ExportString | Returns a string containing the SVG markup corresponding to the specified diagram.

See Also

SvgExporter Class


FlowChartPro.SvgExporter Constructor

SvgExporter Constructor
[image]

Initializes a new instance of the SvgExporter class.

Syntax

VB6 [image] Copy Code
Public Sub New ()
C++ [image] Copy Code
public:
SvgExporter ()

See Also

SvgExporter Class


FlowChartPro.SvgExporter Methods

SvgExporter Methods
[image]

Public Methods

Name | Description
Export | Creates an SVG drawing representing the specified FlowChartX diagram.
ExportString | Returns a string containing the SVG markup corresponding to the specified diagram.

See Also

SvgExporter Class


FlowChartPro.SvgExporter.Export Method

SvgExporter.Export Method
[image]

Creates an SVG drawing representing the specified FlowChartX diagram.

Syntax

VB6 [image] Copy Code
Public Function Export( _
ByVal Diagram As Object, _
ByVal SvgPath As String _
) As Object
C++ [image] Copy Code
public:
IDispatch* Export (
IDispatch* Diagram,
BSTR SvgPath
)

Parameters

Diagram
A reference to the diagram to be exported.
SvgPath
A full path to the .svg file.

Return Value

See Also

SvgExporter Members
SvgExporter Class


FlowChartPro.SvgExporter.ExportString Method

SvgExporter.ExportString Method
[image]

Returns a string containing the SVG markup corresponding to the specified diagram.

Syntax

C# [image] Copy Code

public virtual string ExportString (
Object Diagram
)

Visual Basic [image] Copy Code

Public Overridable Function ExportString( _
Diagram As Object _
) As String

Parameters

Diagram

Reference to a FlowChart instance.

Return Value

A string containing markup code for the SVG drawing.

See Also

SvgExporter Members
SvgExporter Class


FlowChartPro.SvgExporter Properties

SvgExporter Properties
[image]

Public Properties

Name | Description
ExportInvisibleItems | Gets or sets a value indicating whether invisible items should be exported.

See Also

SvgExporter Class


FlowChartPro.SvgExporter.ExportInvisibleItems Property

SvgExporter.ExportInvisibleItems Property
[image]

Gets or sets a value indicating whether invisible items should be exported.

Syntax

VB6 [image] Copy Code
Public Property Get ExportInvisibleItems() As Boolean
Public Property Let ExportInvisibleItems( _
ByVal value As Boolean _
)
C++ [image] Copy Code
public:
bool get_ExportInvisibleItems ()
void put_ExportInvisibleItems (
bool value
)

Property Value

A boolean value. The default is false.

See Also

SvgExporter Members
SvgExporter Class


FlowChartPro.Table Class

Table Class
Remarks See Also
[image]

Tables are diagram nodes that can contain multiple cells and can be related to other nodes through their rows. Tables can represent database tables in ER diagrams or classes in class hierarchy diagrams.

Syntax

VB6 [image] Copy Code

Public Class Table

C++ [image] Copy Code

class Table

Remarks

Probably the most important property of tables is LinkStyle, which specifies whether users are allowed to draw arrows to the rows of a table, to the table as a whole entity, or both.

Tables consist of cells distributed across rows and columns. To get or set the number of rows, columns and cells, use RowsCount and ColumnsCount. The width of the columns can be set using the SetColWidth method and the height of the rows using the SetRowHeight method. The user can resize rows or columns interactively if AllowResizeRows and/or AllowResizeColumns properties are enabled. Cells can be set to span several rows and columns by assigning values larger than 1 to the CellRowSpan and CellColumnSpan properties.

Rows can be assigned to distinct sections of the table. Each section can be collapsed or expanded, hiding or showing all rows in the section except the header one. To define a section, enable the HeaderRow property for a row. A section consists of all rows after a header row and spans to the next header. Each header row displays a +/- button that allows expanding or collapsing the section interactively. The button appears either on the left of the first cell of a header row or in a separate column, as set in OffsetHeaderRows. Clicking that button raises the TableSectionCollapsed and TableSectionExpanded events. Sections can be collapsed or expanded programmatically by setting the RowExpanded property for their header rows.

The IncomingArrows and OutgoingArrows collections expose the arrows that are linked to a table as entity but not to its rows. GetRowIncomingArrows and GetRowOutgoingArrows return collections of arrows linked to a specific row. The points from which arrows are allowed to go out from a table or come into a table can be defined via the AnchorPattern and RowAnchorPattern properties.

In some situations, you might need to find out which cell occupies a specific point. You can do that by means of the RowFromPoint and ColumnFromPoint methods, which return the indices of the row and column containing that cell.

Constraints upon how users are allowed to modify a table are set through the Constraints and MnpHandlesMask properties. The former specifies constraints on move direction and table size. The latter enables or disables specific manipulation handles of the table.

The appearance of a table can be customized via FillColor, Picture and Font properties. The shape of a table is specified via Style, which currently provides support for rectangle and rounded-rectangle shapes. Outline is drawn as set via FrameColor, PenStyle and PenWidth. The CellBorders property defines the appearance of cell frame lines.

User data can be attached to a table via the Tag and VariantTag properties.

A cell can display either text with optional image, or a checkbox. This is specified via the CellType indexed property. If CellType is set to ctCheckBox, the checkbox state can be get or set via the CellValue property.

The text of a table's cell can be accessed or changed via GetText and SetText methods. The EnableStyledText property allows using HTML-like formatting tags to apply various attributes to any part of the text string. The text font and color are set through the CellFont and CellTextColor indexed properties. The ResizeToFitText method resizes the columns and rows of a table to show their text completely.

The CellFillColor, CellPicture and CellPicturePos indexed properties let you customize the table appearance further by setting the fill color and picture of cells. User data can be attached to a cell via the CellVariantTag property.

Apart from cells' text, a table can also display caption and footer. Set the Caption property to display text in the table's caption bar. Set FooterHeight to a value greater than 0 to allocate space for a footer area at the bottom of the node and set the Footer property to display text there. Use CaptionStyle and FooterStyle to specify the alignment of the caption and footer labels.

See Also

Table Members


FlowChartPro.Table Members

Table Members
Properties Methods
[image]

Tables are diagram nodes that can contain multiple cells and can be related to other nodes through their rows. Tables can represent database tables in ER diagrams or classes in class hierarchy diagrams.

The following tables list the members exposed by the Table type.

Public Properties

Name | Description
AllowIncomingArrows | Gets or sets a value specifying whether users are allowed to draw incoming arrows to this table.
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this table.
AllowOutgoingArrows | Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this table.
AllowResizeColumns | Gets or sets a value indicating whether users are allowed to resize table columns.
AllowResizeRows | Gets or sets a value indicating whether users are allowed to resize table rows.
AnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to this table.
Bottom | Gets the Y coordinate of the bottom side of the table bounding rectangle.
Caption | Gets or sets the caption of this table.
CaptionColor | Gets or sets the color used to render the table caption.
CaptionFillColor | Gets or sets the color used to fill the table caption bar.
CaptionFillColor2 | Gets or sets a second color for filling the caption bar with a gradient.
CaptionGradientAngle | Specifies the angle of the linear gradient used to fill the table's caption bar.
CaptionHeight | Gets or sets the height of the table caption bar.
CaptionStyle | Gets or sets the alignment style of the table Caption.
CellBorders | Gets or sets the style of cell frame lines.
CellColumnSpan | Gets or sets how many columns a cell should span.
CellFillColor | Gets or sets the color used to fill the interior of a cell.
CellFont | Gets or sets the font used to render text inside the specified cell.
CellPicture | Gets or sets the image displayed inside the specified cell.
CellPicturePos | Gets or sets the alignment and stretch mode of a cell picture.
CellRowSpan | Gets or sets how many rows a cell should span.
CellTextColor | Gets or sets the color used to paint the text of a cell.
CellToolTip | Gets or sets the tooltip text associated with a cell.
CellType | Gets or sets what kind of UI widget is displayed in the specified cell.
CellValue | Specifies the value of a cell's UI widget.
CellVariantTag | Gets or sets a custom OLE VARIANT value associated with the specified cell.
ColumnsCount | Gets or sets the number of columns in this table.
Constraints | Gets or sets the constraints applied to the location and size of this table.
CurrScrollRow | Gets or sets the topmost visible row of this table.
CustomDraw | Gets or sets what type of custom drawing is performed on this table.
EnableStyledText | Gets or sets a value indicating whether styled text rendering is enabled.
Expandable | Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from this table.
Expanded | Gets or sets a value indicating whether the tree branch under this table is currently expanded.
FeedbackColor | Gets or sets the color of the table feedback frame.
FeedbackPenStyle | Gets or sets the line style of the table feedback frame.
FeedbackPenWidth | Gets or sets the width of the table feedback frame.
FillColor | Gets or sets the color used to fill the table interior.
FillColorAlpha | Gets or sets a value defining the transparency of the table fill color.
Font | Gets or sets the font used to render the text of this table.
Footer | Gets or sets the text displayed as table footer.
FooterColor | Gets or sets the color used to render the table footer.
FooterFillColor | Gets or sets the color used to fill the table footer area.
FooterHeight | Gets or sets the height of the table footer area.
FooterStyle | Get or sets the footer text position and alignment.
FrameColor | Gets or sets the color of the pen used to draw the table border lines.
HeaderRow | Gets or sets a value indicating whether a row is the header of a table section.
HighlightedRow | Gets or sets the index of highlighted row.
HyperLink | Gets or sets the hyperlink associated with this table.
IgnoreLayout | Gets or sets a value indicating whether the position of this table can be changed by automatic layout methods.
IncomingArrows | Gets the collection of arrows that enter into this table.
Left | Gets the X coordinate of the left side of the table's bounding rectangle.
LinkStyle | Gets or sets a value indicating whether other nodes are linked to the table rows or the table as an integral entity.
Locked | Gets or sets a value specifying whether users are allowed to select and modify this table.
MasterGroup | Gets a reference to the group to which the table is attached.
MnpHandlesMask | Gets or sets what modifications can be applied to a table through its selection handles.
Obstacle | Gets or sets a value indicating whether this tale should be considered an obstacle by the arrow-routing algorithm.
OffsetHeaderRows | Gets or sets a value indicating whether the table cells are offset to the right to accommodate for the expand buttons of header rows.
OutgoingArrows | Gets the collection of arrows that go out from this table.
PenStyle | Gets or sets the style of the pen used to draw the table frame lines.
PenWidth | Gets or sets the width of the pen used to draw the table frame lines.
Picture | Gets or sets the image displayed inside the table.
PicturePos | Gets or sets the alignment and stretch mode of the table Picture.
Printable | Gets or sets a value indicating whether this table is drawn on paper when printing.
Right | Gets the X coordinate of the right side of the table's bounding rectangle.
RowAnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to the specified row.
RowExpanded | Gets or sets a value indicating whether the table section starting from a HeaderRow is expanded.
RowsCount | Gets or sets the number of rows in this table.
Scrollable | Gets or sets a value indicating whether users are allowed to scroll the table up / down.
Selected | Gets a value indicating whether the table is selected.
SelStyle | Gets or sets how table selection handles behave and what they look like.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the table that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the table that casts it.
Style | Gets or sets the shape of the table outlines.
SubordinateGroup | Gets a reference to the group of objects that are attached to this table.
Tag | Gets or sets a custom integer value associated with this table.
ToolTip | Gets or sets a short text message displayed when the mouse pointer rests over this table.
Top | Returns the Y coordinate of the top side of the table bounding rectangle.
UserData | Gets or sets a custom integer value associated with this table.
UserString | Gets or sets a custom string value associated with this table.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this table.
Visible | Gets or sets a value indicating whether this table is visible.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
ZIndex | Gets or sets the position of this table in the Z order.

Public Methods

Name | Description
AddAeroEffect | Adds an Aero effect to this table.
AddColumn | Adds a new column to the table.
AddGlassEffect | Adds a Glass effect to this table.
AddRelation | Creates a relation to another table.
AddRow | Adds a new row to the table.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the table caption or the text of a cell.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Starts recording modifications made to this table for later undo.
BoundingRect | Gets the table bounding rectangle coordinates.
BreakRelation | Removes the relation between this table and another one.
ChangeRelation | Changes the origin or destination row of the specified arrow.
ClearEffects | Removes all effects from this table.
Clone | Creates a copy of this table.
Collapse | Collapses the tree branch that starts from this table.
ColumnFromPoint | Gets the column index of the cell that contains the specified point.
DeleteColumn | Deletes the specified column of the table.
DeleteRow | Deletes the specified row of the table.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stops tracking modifications made to the table and adds a modification record to the undo queue.
Expand | Expands the tree branch that starts from this table.
FitSizeToPicture | Makes the table as big as the picture assigned to it.
GetColType | Gets the type of a column.
GetColWidth | Gets the width of a column.
GetCTable |
GetRelatedTables | Gets a list of tables related to this one.
GetRowHeight | Gets the height of a row.
GetRowIncomingArrows | Returns the collection of arrows that enter into a row of the table.
GetRowOutgoingArrows | Returns the collection of arrows that go out from a row of the table.
GetText | Gets the text of the specifies cell.
GetTextStyle | Gets the text alignment style of the specified cell.
InsertColumn | Inserts a new column into the table.
InsertRow | Inserts a new row into the table.
LoadPicFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to the table Picture.
LoadPicInCell | Loads an image from the specified file and assigns it to a cell's picture.
LoadPicInCellFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to a cell's picture.
LoadPicture | Loads an image from the specified file and assigns it to the table Picture.
MoveTo | Moves the table to the specified location.
PutInContainer | ( [image] a feature of FlowChartX Pro edition) Puts this table into a container box.
RemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Removes this table from its container.
ResizeToFitText | Resizes the columns and rows of a table so that the cells fit all their text.
RowFromPoint | Gets the row index of the cell that contains the specified point.
SetColType | Sets the type of the specified column.
SetColWidth | Sets the width of the specified column.
SetRect | Sets the table location and size.
SetRowHeight | Sets the height of the specified row.
SetSize | Sets the size of this table.
SetText | Sets the text of a cell.
SetTextStyle | Sets the text alignment style of the specified cell.
ZBottom | Moves the table to the bottom of the Z order.
ZLevelDown | Moves the table one position down in the Z order.
ZLevelUp | Moves the table one position up in the Z order.
ZTop | Moves the table to the top of the Z order.

See Also

Table Class


FlowChartPro.Table Methods

Table Methods
[image]

Public Methods

Name | Description
AddAeroEffect | Adds an Aero effect to this table.
AddColumn | Adds a new column to the table.
AddGlassEffect | Adds a Glass effect to this table.
AddRelation | Creates a relation to another table.
AddRow | Adds a new row to the table.
BeginInplaceEdit | Enters inplace-edit mode, allowing users to edit the table caption or the text of a cell.
BeginUndoRecord | ( [image] a feature of FlowChartX Pro edition) Starts recording modifications made to this table for later undo.
BoundingRect | Gets the table bounding rectangle coordinates.
BreakRelation | Removes the relation between this table and another one.
ChangeRelation | Changes the origin or destination row of the specified arrow.
ClearEffects | Removes all effects from this table.
Clone | Creates a copy of this table.
Collapse | Collapses the tree branch that starts from this table.
ColumnFromPoint | Gets the column index of the cell that contains the specified point.
DeleteColumn | Deletes the specified column of the table.
DeleteRow | Deletes the specified row of the table.
EndInplaceEdit | Exits inplace-edit mode, and either accepts or rejects any changes made to the text.
EndUndoRecord | ( [image] a feature of FlowChartX Pro edition) Stops tracking modifications made to the table and adds a modification record to the undo queue.
Expand | Expands the tree branch that starts from this table.
FitSizeToPicture | Makes the table as big as the picture assigned to it.
GetColType | Gets the type of a column.
GetColWidth | Gets the width of a column.
GetCTable |
GetRelatedTables | Gets a list of tables related to this one.
GetRowHeight | Gets the height of a row.
GetRowIncomingArrows | Returns the collection of arrows that enter into a row of the table.
GetRowOutgoingArrows | Returns the collection of arrows that go out from a row of the table.
GetText | Gets the text of the specifies cell.
GetTextStyle | Gets the text alignment style of the specified cell.
InsertColumn | Inserts a new column into the table.
InsertRow | Inserts a new row into the table.
LoadPicFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to the table Picture.
LoadPicInCell | Loads an image from the specified file and assigns it to a cell's picture.
LoadPicInCellFromRes | Loads an image from the resources embedded in a .dll or .exe file and assigns it to a cell's picture.
LoadPicture | Loads an image from the specified file and assigns it to the table Picture.
MoveTo | Moves the table to the specified location.
PutInContainer | ( [image] a feature of FlowChartX Pro edition) Puts this table into a container box.
RemoveFromContainer | ( [image] a feature of FlowChartX Pro edition) Removes this table from its container.
ResizeToFitText | Resizes the columns and rows of a table so that the cells fit all their text.
RowFromPoint | Gets the row index of the cell that contains the specified point.
SetColType | Sets the type of the specified column.
SetColWidth | Sets the width of the specified column.
SetRect | Sets the table location and size.
SetRowHeight | Sets the height of the specified row.
SetSize | Sets the size of this table.
SetText | Sets the text of a cell.
SetTextStyle | Sets the text alignment style of the specified cell.
ZBottom | Moves the table to the bottom of the Z order.
ZLevelDown | Moves the table one position down in the Z order.
ZLevelUp | Moves the table one position up in the Z order.
ZTop | Moves the table to the top of the Z order.

See Also

Table Class


FlowChartPro.Table.AddAeroEffect Method

Table.AddAeroEffect Method
[image]

Adds an Aero effect to this table.

Syntax

VB6 [image] Copy Code

Public Sub AddAeroEffect( _
ByVal opacity As Single, _
ByVal shadeColor As Long, _
ByVal innerOutlineColor As Long _
)

C++ [image] Copy Code

public:
void AddAeroEffect (
float opacity,
unsigned int shadeColor,
unsigned int innerOutlineColor
)

Parameters

opacity
A float value between 0 and 1 specifying the opacity to apply to the node's background.
shadeColor

The color of the shade.

innerOutlineColor
The color of the inner outline.

Remarks

The Aero effect adds semi-transparency to the node and emphasizes its outline by adding a shade and an inner stroke.

Example

The following example applies an Aero effect to a table:

VB6 [image] Copy Code
table.AddAeroEffect 0.5, vbBlack, vbWhite

See Also

Table Members
Table Class
FlowChartPro Namespace
AddGlassEffect Method
ClearEffects Method


FlowChartPro.Table.AddColumn Method

Table.AddColumn Method
[image]

Adds a new column to the table.

Syntax

VB6 [image] Copy Code

Public Sub AddColumn ()

C++ [image] Copy Code

public:
void AddColumn ()

Remarks

The new column becomes the right-most in the table. The table width is not changed by this operation; you can use the SetRect method to change it.

See Also

Table Members
Table Class


FlowChartPro.Table.AddGlassEffect Method

Table.AddGlassEffect Method
[image]

Adds a Glass effect to this table.

Syntax

VB6 [image] Copy Code

Public Sub AddGlassEffect( _
ByVal effectType As EGlassEffectType, _
ByVal glowColor As Long, _
ByVal reflectionColor As Long, _
ByVal usePenAsGlow As Boolean _
)

C++ [image] Copy Code

public:
void AddGlassEffect (
EGlassEffectType effectType,
unsigned int glowColor,
unsigned int reflectionColor,
bool usePenAsGlow
)

Parameters

effectType

A member of the EGlassEffectType enumeration.

glowColor

The color of the glow portion of the effect.

reflectionColor

The color of the reflection portion of the effect.

usePenAsGlow

Specifies whether the glow portion of the effect should be painted with the pen color of the respective node.

Remarks

The Glass effect adds glass reflection -like visual effect to nodes.

Example

The following example adds a glass effect to a table.

VB6 [image] Copy Code
table.AddGlassEffect gtType1, vbWhite, vbWhite, False

See Also

Table Members
Table Class
FlowChartPro Namespace
AddAeroEffect Method
ClearEffects Method


FlowChartPro.Table.AddRelation Method

Table.AddRelation Method
[image]

Creates a relation to another table.

Syntax

VB6 [image] Copy Code

Public Function AddRelation( _
ByVal row As Long, _
ByVal rel As ERelationship, _
ByVal pTable As Table, _
ByVal relRow As Long _
) As Arrow

C++ [image] Copy Code

public:
Arrow* AddRelation (
int row,
ERelationship rel,
Table* pTable,
int relRow
)

Parameters

row
The index of the origin row in the current table.
rel

A member of the ERelationship enumeration specifying the type of the relation - either rlOneToMany or rlManyToOne.

pTable

The other table in the relation.

relRow

The index of the destination row in pTable.

Return Value

A reference to an arrow object; this is the arrow representing the relationship between two tables.

Remarks

Creates an arrow, connecting a row of the table-object passed as argument (pTable) to a row of the table-object on which the method is called. These rows could visually represent table fields in entity-relationship diagrams. The direction of the arrow depends on the rel argument, which can be one of these:

  • rlOneToMany - the arrow points to the table-object on which the method is called;
  • rlManyToOne - the arrow points to pTable;

You can create many arrows connected to a single row of table.

See Also

Table Members
Table Class
FlowChartPro Namespace
ChangeRelation Method
BreakRelation Method


FlowChartPro.Table.AddRow Method

Table.AddRow Method
[image]

Adds a new row to the table.

Syntax

VB6 [image] Copy Code

Public Sub AddRow ()

C++ [image] Copy Code

public:
void AddRow ()

Remarks

The new row is added to the bottom of the table. The table height is not changed by this operation; you can use the SetRect method to change it.

See Also

Table Members
Table Class


FlowChartPro.Table.BeginInplaceEdit Method

Table.BeginInplaceEdit Method
[image]

Enters inplace-edit mode, allowing users to edit the table caption or the text of a cell.

Syntax

VB6 [image] Copy Code

Public Sub BeginInplaceEdit( _
ByVal col As Long, _
ByVal row As Long _
)

C++ [image] Copy Code

public:
void BeginInplaceEdit (
int col,
int row
)

Parameters

col
The column index of the cell whose text should be edited.
row
The row index of the cell whose text should be edited.

Remarks

This method displays an edit control over the table caption bar or over a cell, letting users edit the caption or cell text. Set both arguments to -1 in order to start editing the table caption, or specify the column and row indices of a cell to start editing the cell text.

If the AllowInplaceEdit property of a table is set to true, inplace editing can be started interactively by double-clicking the table. The inplace editing operation can be ended programmatically by calling EndInplaceEdit, or interactively by clicking outside the edit control.

See Also

Table Members
Table Class
FlowChartPro Namespace
AllowInplaceEdit Property


FlowChartPro.Table.BeginUndoRecord Method

Table.BeginUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Starts recording modifications made to this table for later undo.

Syntax

VB6 [image] Copy Code

Public Sub BeginUndoRecord ()

C++ [image] Copy Code

public:
void BeginUndoRecord ()

Remarks

FlowChartX automatically records users actions on the flowchart document to enable later undo and redo of any modifications. Some programmatic actions are recorded too - such as creation or deletion of objects. However, programmatic change of most of the object properties will not be recorded automatically in the undo-history. The BeginUndoRecord and EndUndoRecord pair of methods can be used to record a group of modifications to an object, allowing their undo and redo as a single atomic operation. If you change an object position and it has attached arrows, their positions will be changed too. The changes to these arrows will also be recorded in the undo-history.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.BeginUndoRecord Method


FlowChartPro.Table.BoundingRect Method

Table.BoundingRect Method
[image]

Gets the table bounding rectangle coordinates.

Syntax

VB6 [image] Copy Code

Public Sub BoundingRect( _
ByRef left As Long, _
ByRef top As Long, _
ByRef right As Long, _
ByRef bottom As Long _
)

C++ [image] Copy Code

public:
void BoundingRect (
int* left,
int* top,
int* right,
int* bottom
)

Parameters

left
The left side of the bounding rectangle.
top
The top of the bounding rectangle.
right
The right side of the bounding rectangle.
bottom
The bottom of the bounding rectangle.

Remarks

Gets the table-bounding rectangle position, expressed in document coordinates.

See Also

Table Members
Table Class


FlowChartPro.Table.BreakRelation Method

Table.BreakRelation Method
[image]

Removes the relation between this table and another one.

Syntax

VB6 [image] Copy Code

Public Sub BreakRelation( _
ByVal row As Long, _
ByVal rel As ERelationship, _
ByVal pTable As Table _
)

C++ [image] Copy Code

public:
void BreakRelation (
int row,
ERelationship rel,
Table* pTable
)

Parameters

row
The number of row of the source table.
rel

A member of the ERelationship enumeration specifying the type of the relation - either rlOneToMany or rlManyToOne.

pTable

The destination table.

Remarks

Breaks the relation between two tables. The arrow, connecting the table passed as an argument (pTable) to a row of the table on which the method is called, is deleted.

See Also

Table Members
Table Class
FlowChartPro Namespace
ChangeRelation Method
AddRelation Method


FlowChartPro.Table.ChangeRelation Method

Table.ChangeRelation Method
[image]

Changes the origin or destination row of the specified arrow.

Syntax

VB6 [image] Copy Code

Public Sub ChangeRelation( _
ByVal arrow As Arrow, _
ByVal row As Long, _
ByVal rel As ERelationship _
)

C++ [image] Copy Code

public:
void ChangeRelation (
Arrow* arrow,
int row,
ERelationship rel
)

Parameters

arrow
The arrow whose origin or destination row should be changed.
row
The index of the new origin or destination row.
rel

A member of the ERelationship enumeration specifying the type of the relation - either rlOneToMany or rlManyToOne.

Remarks

Specify rlOneToMany to change the destination row of the arrow, or rlManyToOne to change the origin row.

See Also

Table Members
Table Class
FlowChartPro Namespace
AddRelation Method
BreakRelation Method


FlowChartPro.Table.ClearEffects Method

Table.ClearEffects Method
[image]

Removes all effects from this table.

Syntax

VB6 [image] Copy Code

Public Sub ClearEffects ()

C++ [image] Copy Code

public:
void ClearEffects ()

See Also

Table Members
Table Class
FlowChartPro Namespace
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.Table.Clone Method

Table.Clone Method
[image]

Creates a copy of this table.

Syntax

VB6 [image] Copy Code

Public Function Clone () As Table

C++ [image] Copy Code

public:
Table* Clone ()

Return Value

A Table instance representing the newly created table.

Remarks

Creates a new table that has the same attributes as this table. The copy also has the same coordinates as the original table, so it might be useful to call the MoveTo method to move the nodes apart.

See Also

Table Members
Table Class


FlowChartPro.Table.Collapse Method

Table.Collapse Method
[image]

Collapses the tree branch that starts from this table.

Syntax

C# [image] Copy Code

public virtual void Collapse ()

Visual Basic [image] Copy Code

Public Overridable Sub Collapse ()

Remarks

When using FlowChartX to represent hierarchical structure as a tree you might want to hide a branch of the tree. Invoking the Collapse method on a table will make the table children (arrows and other nodes) invisible. It depends on the ExpandOnIncoming property, which objects connected to the table are considered its children. This method is meant for use only with tree-like structures and it is your responsibility to ensure that your diagram is really a tree. A graph is a tree if every node has no more than one parent and there's one root node that can be reached from all nodes going in child-parent direction. The tree can be expanded again using Expand.

See Also

Table Members
Table Class


FlowChartPro.Table.ColumnFromPoint Method

Table.ColumnFromPoint Method
[image]

Gets the column index of the cell that contains the specified point.

Syntax

VB6 [image] Copy Code

Public Function ColumnFromPoint( _
ByVal x As Long, _
ByVal y As Long _
) As Long

C++ [image] Copy Code

public:
int ColumnFromPoint (
int x,
int y
)

Parameters

x
The x coordinate of the point.
y
The y coordinate of the point.

Return Value

The column index of the cell that contains the specified point, or -1 if there is no such cell.

Remarks

If the found cell spans more than one column, this method returns the index of the first column. RowFromPoint and ColumnFromPoint also consider the CurrScrollRow value and whether there are collapsed table sections defined through HeaderRow, so that the returned cell is the one that visually occupies the specified position.

See Also

Table Members
Table Class


FlowChartPro.Table.DeleteColumn Method

Table.DeleteColumn Method
[image]

Deletes the specified column of the table.

Syntax

VB6 [image] Copy Code

Public Sub DeleteColumn( _
ByVal col As Long _
)

C++ [image] Copy Code

public:
void DeleteColumn (
int col
)

Parameters

col
The index of the column to delete.

Remarks

Deletes the column with the index specified as argument. The table's extents are not changed by this operation; you can use the SetRect method to change them.

See Also

Table Members
Table Class


FlowChartPro.Table.DeleteRow Method

Table.DeleteRow Method
[image]

Deletes the specified row of the table.

Syntax

VB6 [image] Copy Code

Public Sub DeleteRow( _
ByVal row As Long _
)

C++ [image] Copy Code

public:
void DeleteRow (
int row
)

Parameters

row
The index of the row to delete.

Remarks

Deletes the row with the index specified as argument. The table extents are not changed by this operation; you can use the SetRect method to change them.

See Also

Table Members
Table Class


FlowChartPro.Table.EndInplaceEdit Method

Table.EndInplaceEdit Method
[image]

Exits inplace-edit mode, and either accepts or rejects any changes made to the text.

Syntax

VB6 [image] Copy Code

Public Sub EndInplaceEdit( _
ByVal Accept As Boolean _
)

C++ [image] Copy Code

public:
void EndInplaceEdit (
bool Accept
)

Parameters

Accept
Specifies whether changes made to the text should be accepted.

Remarks

Hides the edit control shown previously by calling BeginInplaceEdit. That ends the inplace editing operation and validates the changes made to the text, as specified via the Accept argument.

See Also

Table Members
Table Class


FlowChartPro.Table.EndUndoRecord Method

Table.EndUndoRecord Method
[image]

( [image] a feature of FlowChartX Pro edition)

Stops tracking modifications made to the table and adds a modification record to the undo queue.

Syntax

VB6 [image] Copy Code

Public Sub EndUndoRecord ()

C++ [image] Copy Code

public:
void EndUndoRecord ()

Remarks

Records in the undo-history a group of property modifications, enclosed by this method and a previous call to BeginUndoRecord. You should always match EndUndoRecord with exactly one call to BeginUndoRecord, nesting of Begin/End pairs is not supported. You should avoid deleting or adding arrows to the object while recording is active. Adding or deleting arrows is recorded automatically in the undo-history.

See Also

Table Members
Table Class


FlowChartPro.Table.Expand Method

Table.Expand Method
[image]

Expands the tree branch that starts from this table.

Syntax

C# [image] Copy Code

public virtual void Expand ()

Visual Basic [image] Copy Code

Public Overridable Sub Expand ()

Remarks

Displays table's child-objects that were previously hidden using Collapse. If the flowchart RecursiveExpand property is set to false then only the first level of descendants will be redisplayed. Otherwise the whole hierarchy starting from this table will be expanded.

See Also

Table Members
Table Class


FlowChartPro.Table.FitSizeToPicture Method

Table.FitSizeToPicture Method
[image]

Makes the table as big as the picture assigned to it.

Syntax

VB6 [image] Copy Code

Public Sub FitSizeToPicture ()

C++ [image] Copy Code

public:
void FitSizeToPicture ()

Remarks

When a picture is loaded this method resizes the table to fit the picture's size.

See Also

Table Members
Table Class


FlowChartPro.Table.GetColType Method

Table.GetColType Method
[image]

Gets the type of a column.

Syntax

VB6 [image] Copy Code

Public Function GetColType( _
ByVal col As Long _
) As EColumnType

C++ [image] Copy Code

public:
EColumnType GetColType (
int col
)

Parameters

col
The column whose type to return.

Return Value

A member of the EColumnType enumeration.

Remarks

Returns the type of the specified column. Possible values are:

  • ctFixedWidth - the column is not resized if table size changes;
  • ctAutoWidth - the column is resized when table size changes;

See Also

Table Members
Table Class


FlowChartPro.Table.GetColWidth Method

Table.GetColWidth Method
[image]

Gets the width of a column.

Syntax

VB6 [image] Copy Code

Public Function GetColWidth( _
ByVal col As Long _
) As Long

C++ [image] Copy Code

public:
int GetColWidth (
int col
)

Parameters

col
The number of the column whose width to get.

Return Value

A long value specifying the column width.

Remarks

Returns the width of the the column specified as argument.

See Also

Table Members
Table Class


FlowChartPro.Table.GetCTable Method

Table.GetCTable Method
[image]

Syntax

VB6 [image] Copy Code

Public Function GetCTable () As Long

C++ [image] Copy Code

public:
unsigned int GetCTable ()

Return Value

See Also

Table Members
Table Class


FlowChartPro.Table.GetRelatedTables Method

Table.GetRelatedTables Method
[image]

Gets a list of tables related to this one.

Syntax

VB6 [image] Copy Code

Public Function GetRelatedTables( _
ByVal row As Long, _
ByVal rel As ERelationship _
) As ITables

C++ [image] Copy Code

public:
ITables* GetRelatedTables (
int row,
ERelationship rel
)

Parameters

row
The index of the row whose relations to return.
rel
The type of the relation - either rlOneToMany or rlManyToOne.

Return Value

A collection of Table objects, connected to the specified row.

Remarks

Returns a collection of all tables connected to the specified table row. Through this collection you can enumerate them and have access to their properties and methods. If the row has no related tables, the collection Count property is zero.

See Also

Table Members
Table Class


FlowChartPro.Table.GetRowHeight Method

Table.GetRowHeight Method
[image]

Gets the height of a row.

Syntax

VB6 [image] Copy Code

Public Function GetRowHeight( _
ByVal row As Long _
) As Long

C++ [image] Copy Code

public:
int GetRowHeight (
int row
)

Parameters

row
The number of the row whose height to get.

Return Value

A long value specifying the row height.

Remarks

Returns the height of the row specified as argument.

See Also

Table Members
Table Class


FlowChartPro.Table.GetRowIncomingArrows Method

Table.GetRowIncomingArrows Method
[image]

Returns the collection of arrows that enter into a row of the table.

Syntax

VB6 [image] Copy Code

Public Function GetRowIncomingArrows( _
ByVal row As Long _
) As IArrows

C++ [image] Copy Code

public:
IArrows* GetRowIncomingArrows (
int row
)

Parameters

row
The index of the row whose incoming arrows to return.

Return Value

A collection of Arrow objects, pointing to the table row.

Remarks

Returns a collection of all arrows pointing the specified table row. Through this collection you can enumerate them and have access to the properties and methods of each incoming arrow. If the row has no incoming arrows, the collection Count property is zero.

See Also

Table Members
Table Class


FlowChartPro.Table.GetRowOutgoingArrows Method

Table.GetRowOutgoingArrows Method
[image]

Returns the collection of arrows that go out from a row of the table.

Syntax

VB6 [image] Copy Code

Public Function GetRowOutgoingArrows( _
ByVal row As Long _
) As IArrows

C++ [image] Copy Code

public:
IArrows* GetRowOutgoingArrows (
int row
)

Parameters

row

The index of the row whose outgoing arrows to return.

Return Value

A collection of Arrow objects, going out of the table row.

Remarks

Returns a collection of all arrows going out of the specified table row. Through this collection you can enumerate them and have access to the properties and methods of each outgoing arrow. If the row has not outgoing arrows the collection Count property is zero.

See Also

Table Members
Table Class


FlowChartPro.Table.GetText Method

Table.GetText Method
[image]

Gets the text of the specifies cell.

Syntax

VB6 [image] Copy Code

Public Function GetText( _
ByVal col As Long, _
ByVal row As Long _
) As String

C++ [image] Copy Code

public:
BSTR GetText (
int col,
int row
)

Parameters

col
The column of a table cell whose text to return.
row
The row of a table cell whose text to return.

Return Value

The text of the table cell.

Remarks

Returns the text of the cell at the table - position specified by col and row arguments.

See Also

Table Members
Table Class


FlowChartPro.Table.GetTextStyle Method

Table.GetTextStyle Method
[image]

Gets the text alignment style of the specified cell.

Syntax

VB6 [image] Copy Code

Public Function GetTextStyle( _
ByVal col As Long, _
ByVal row As Long _
) As ETextStyle

C++ [image] Copy Code

public:
ETextStyle GetTextStyle (
int col,
int row
)

Parameters

col
The column of the table cell which text style is to be returned.
row
The row of the table cell which text style is to be returned.

Return Value

The text style of a table cell.

Remarks

Returns the text style of the cell at the table - position specified by col and row arguments.

See Also

Table Members
Table Class


FlowChartPro.Table.InsertColumn Method

Table.InsertColumn Method
[image]

Inserts a new column into the table.

Syntax

VB6 [image] Copy Code

Public Sub InsertColumn( _
ByVal col As Long _
)

C++ [image] Copy Code

public:
void InsertColumn (
int col
)

Parameters

col
Specifies at which position the column is to be inserted.

Remarks

Inserts a new column in a table at the specified position. The table's extents are not changed by this operation; you can use the SetRect method to change them.

See Also

Table Members
Table Class


FlowChartPro.Table.InsertRow Method

Table.InsertRow Method
[image]

Inserts a new row into the table.

Syntax

VB6 [image] Copy Code

Public Sub InsertRow( _
ByVal row As Long _
)

C++ [image] Copy Code

public:
void InsertRow (
int row
)

Parameters

row
Specifies at which position the row is to be inserted.

Remarks

Inserts a new row in a table at the specified position. The table's extents are not changed by this operation; you can use the SetRect method to change them.

See Also

Table Members
Table Class


FlowChartPro.Table.LoadPicFromRes Method

Table.LoadPicFromRes Method
[image]

Loads an image from the resources embedded in a .dll or .exe file and assigns it to the table Picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicFromRes( _
ByVal hRsrcInst As Long, _
ByVal RsrcName As String, _
ByVal RsrcType As String _
)

C++ [image] Copy Code

public:
void LoadPicFromRes (
unsigned int hRsrcInst,
BSTR RsrcName,
BSTR RsrcType
)

Parameters

hRsrcInst

A HINSTANCE. This is the handle of the module from which the resource is to be loaded.

RsrcName

The name of the resource. Use MAKEINTRESOURCE macro if you use integer identifiers for your resources (in Visual C++).

RsrcType

The name of the resource type.

Remarks

Loads an image from a resource in the table. Note that standard icon and bitmap resources are not supported. You should insert your pictures as custom resources, either by pasting the binary contents of the image file into the resource binary code or by addressing it through the resource script.

Following syntax in the .RC file makes the latter:

Copy Code

RESNAME TYPENAME "path to file"

The image can be loaded in the table that way:

Copy Code

fc.LoadPicFromRsc((ULONG)AfxGetResourceHandle(), RESNAME, TYPENAME)

Check the PicFromRes sample to see how Windows resources can be accessed from VB.

See Also

Table Members
Table Class


FlowChartPro.Table.LoadPicInCell Method

Table.LoadPicInCell Method
[image]

Loads an image from the specified file and assigns it to a cell's picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicInCell( _
ByVal FileName As String, _
ByVal col As Long, _
ByVal row As Long _
)

C++ [image] Copy Code

public:
void LoadPicInCell (
BSTR FileName,
int col,
int row
)

Parameters

FileName

The name of the image file to load from.

col
The column that contains the cell.
row
The row that contains the cell.

Remarks

Loads an image from a file into a table's cell. The file format can be any of OleLoadPicture supported image formats. You can also use the CellPicture property to set the image of a cell.

See Also

Table Members
Table Class


FlowChartPro.Table.LoadPicInCellFromRes Method

Table.LoadPicInCellFromRes Method
[image]

Loads an image from the resources embedded in a .dll or .exe file and assigns it to a cell's picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicInCellFromRes( _
ByVal hRsrcInst As Long, _
ByVal RsrcName As String, _
ByVal RsrcType As String, _
ByVal col As Long, _
ByVal row As Long _
)

C++ [image] Copy Code

public:
void LoadPicInCellFromRes (
unsigned int hRsrcInst,
BSTR RsrcName,
BSTR RsrcType,
int col,
int row
)

Parameters

hRsrcInst

A HINSTANCE. This is the handle of the module from which the resource is to be loaded.

RsrcName

The name of the resource. Use MAKEINTRESOURCE macro if you use integer identifiers for your resources (in Visual C++).

RsrcType

The name of the resource type.

col
The column that contains the cell.
row
The row that contains the cell.

Remarks

Loads an image from a resource into a cell of the table. Note that standard icon and bitmap resource- formats are not supported. You should insert your pictures as custom resources, either by pasting the binary contents of the image file into the resource binary code or by addressing it through the resource script.

Following syntax in the .RC file makes the latter:

Copy Code

RESNAME TYPENAME "path to file"

The image can be loaded in a cell like this:

Copy Code

fc.LoadPicInCellFromRsc((ULONG)AfxGetResourceHandle(), RESNAME, TYPENAME, c, r)

Check the PicFromRes sample to see how Windows resources can be accessed from VB.

See Also

Table Members
Table Class


FlowChartPro.Table.LoadPicture Method

Table.LoadPicture Method
[image]

Loads an image from the specified file and assigns it to the table Picture.

Syntax

VB6 [image] Copy Code

Public Sub LoadPicture( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void LoadPicture (
BSTR FileName
)

Parameters

FileName

The name of the image file to load from.

Remarks

Loads an image from file and assigns it to table's Picture. The file format can be any of OleLoadPicture supported image formats, such as ico, gif, jpeg, wmf, emf, bmp.

See Also

Table Members
Table Class


FlowChartPro.Table.MoveTo Method

Table.MoveTo Method
[image]

Moves the table to the specified location.

Syntax

VB6 [image] Copy Code

Public Sub MoveTo( _
ByVal x As Long, _
ByVal y As Long _
)

C++ [image] Copy Code

public:
void MoveTo (
int x,
int y
)

Parameters

x
The x coordinate of the new position of the table.
y
The y coordinate of the new position of the table.

Remarks

Moves the table without changing its extents.

See Also

Table Members
Table Class


FlowChartPro.Table.PutInContainer Method

Table.PutInContainer Method
[image]

( [image] a feature of FlowChartX Pro edition)

Puts this table into a container box.

Syntax

VB6 [image] Copy Code

Public Sub PutInContainer( _
ByVal container As Box _
)

C++ [image] Copy Code

public:
void PutInContainer (
Box* container
)

Parameters

container
The container box in which to place this table.

Remarks

Puts this node into a container. If the box passed as argument is not a container, its Style is automatically changed to bsContainer. The node is added to the end of the container, after all other contained items.

See Also

Table Members
Table Class
FlowChartPro Namespace
RemoveFromContainer Method


FlowChartPro.Table.RemoveFromContainer Method

Table.RemoveFromContainer Method
[image]

( [image] a feature of FlowChartX Pro edition)

Removes this table from its container.

Syntax

VB6 [image] Copy Code

Public Sub RemoveFromContainer ()

C++ [image] Copy Code

public:
void RemoveFromContainer ()

Remarks

Removes the table from its container. If the table is not in a container, this method does not have any effect.

See Also

Table Members
Table Class
FlowChartPro Namespace
PutInContainer Method


FlowChartPro.Table.ResizeToFitText Method

Table.ResizeToFitText Method
[image]

Resizes the columns and rows of a table so that the cells fit all their text.

Syntax

VB6 [image] Copy Code

Public Sub ResizeToFitText( _
ByVal IgnoreCaption As Boolean _
)

C++ [image] Copy Code

public:
void ResizeToFitText (
bool IgnoreCaption
)

Parameters

IgnoreCaption
Specifies whether the caption bar should be resized too.

Remarks

This method resizes the cells so they fit their text on a single line, as long as the text does not contain new-line characters. The width of each column is set to the width of its widest cell, and the height of each row is set to the height of its highest cell. In the end, the table size is set to the sum of the extents of all rows and columns.

If IgnoreCaption is false, the caption bar will be resized too, by setting CaptionHeight and the table width, so that it fits the Caption text.

See Also

Table Members
Table Class
FlowChartPro Namespace
SetText Method
CellFont Property


FlowChartPro.Table.RowFromPoint Method

Table.RowFromPoint Method
[image]

Gets the row index of the cell that contains the specified point.

Syntax

VB6 [image] Copy Code

Public Function RowFromPoint( _
ByVal x As Long, _
ByVal y As Long _
) As Long

C++ [image] Copy Code

public:
int RowFromPoint (
int x,
int y
)

Parameters

x
The x coordinate of the point.
y
The y coordinate of the point.

Return Value

The row index of the cell that contains the specified point, or -1 if there is no such cell.

Remarks

If the found cell spans more than one row, this method returns the index of the first row. RowFromPoint and ColumnFromPoint also consider the CurrScrollRow value and whether there are collapsed table sections defined through HeaderRow, so that the returned cell is the one that visually occupies the specified position.

See Also

Table Members
Table Class


FlowChartPro.Table.SetColType Method

Table.SetColType Method
[image]

Sets the type of the specified column.

Syntax

VB6 [image] Copy Code

Public Sub SetColType( _
ByVal col As Long, _
ByVal newVal As EColumnType _
)

C++ [image] Copy Code

public:
void SetColType (
int col,
EColumnType newVal
)

Parameters

col
The column whose type is to change.
newVal

The new column type.

Remarks

Changes the type of the specified column. The possible values are:

  • ctFixedWidth - the column width doesn't change;
  • ctAutoWidth - if the table width is changed the column width is changed too;

See Also

Table Members
Table Class


FlowChartPro.Table.SetColWidth Method

Table.SetColWidth Method
[image]

Sets the width of the specified column.

Syntax

VB6 [image] Copy Code

Public Sub SetColWidth( _
ByVal col As Long, _
ByVal newVal As Long _
)

C++ [image] Copy Code

public:
void SetColWidth (
int col,
int newVal
)

Parameters

col
The index of the column whose width to set.
newVal

The new column width.

Remarks

Changes the width of the column specified as an argument.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellColumnSpan Property
AllowResizeColumns Property


FlowChartPro.Table.SetRect Method

Table.SetRect Method
[image]

Sets the table location and size.

Syntax

VB6 [image] Copy Code

Public Sub SetRect( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetRect (
int left,
int top,
int right,
int bottom
)

Parameters

left
The left side of the new bounding rectangle.
top
The top of the new bounding rectangle.
right
The right side of the new bounding rectangle.
bottom
The bottom of the new bounding rectangle.

Remarks

Sets table placement by moving and/or resizing it.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.MeasureUnit Property


FlowChartPro.Table.SetRowHeight Method

Table.SetRowHeight Method
[image]

Sets the height of the specified row.

Syntax

VB6 [image] Copy Code

Public Sub SetRowHeight( _
ByVal row As Long, _
ByVal newVal As Long _
)

C++ [image] Copy Code

public:
void SetRowHeight (
int row,
int newVal
)

Parameters

row
The index of the row whose width to set.
newVal

The new row height.

Remarks

Changes the height of the row specified as an argument.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellRowSpan Property
AllowResizeRows Property


FlowChartPro.Table.SetSize Method

Table.SetSize Method
[image]

Sets the size of this table.

Syntax

VB6 [image] Copy Code

Public Sub SetSize( _
ByVal width As Long, _
ByVal height As Long _
)

C++ [image] Copy Code

public:
void SetSize (
int width,
int height
)

Parameters

width
The new width of the table.
height
The new height of the table.

Remarks

Resizes the table. The upper-left corner remains on its original position.

See Also

Sets the size of this table. Table Members
Table Class


FlowChartPro.Table.SetText Method

Table.SetText Method
[image]

Sets the text of a cell.

Syntax

VB6 [image] Copy Code

Public Sub SetText( _
ByVal col As Long, _
ByVal row As Long, _
ByVal newVal As String _
)

C++ [image] Copy Code

public:
void SetText (
int col,
int row,
BSTR newVal
)

Parameters

col
The column of a table cell whose text is to change.
row
The row of a table cell whose text is to change.
newVal
The new text of the cell.

Remarks

Changes the text of a cell. The cell position in the table is specified in the col and row arguments.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellTextColor Property
CellFont Property
ResizeToFitText Method
EnableStyledText Property
CellType Property


FlowChartPro.Table.SetTextStyle Method

Table.SetTextStyle Method
[image]

Sets the text alignment style of the specified cell.

Syntax

VB6 [image] Copy Code

Public Sub SetTextStyle( _
ByVal col As Long, _
ByVal row As Long, _
ByVal newVal As ETextStyle _
)

C++ [image] Copy Code

public:
void SetTextStyle (
int col,
int row,
ETextStyle newVal
)

Parameters

col
The column of a table cell whose text style to change.
row
The row of a table cell whose text style to change.
newVal

The new text style of the cell text.

Remarks

This method sets text position and alignment of cell text. The cell position in the table is specified by col and row arguments.

newStyle can have any of these values: tsCenter, tsTop, tsBottom, tsLeft, tsRight, tsLeftML, tsRightML. To display styled text, set one of the following values: tsFitPolyTop, tsFitPolyCenter or tsFitPolyBottom.

See Also

Table Members
Table Class
FlowChartPro Namespace
EnableStyledText Property
SetText Method


FlowChartPro.Table.ZBottom Method

Table.ZBottom Method
[image]

Moves the table to the bottom of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZBottom ()

C++ [image] Copy Code

public:
void ZBottom ()

Remarks

Moves a table to the bottom of the Z order.

See Also

Table Members
Table Class


FlowChartPro.Table.ZLevelDown Method

Table.ZLevelDown Method
[image]

Moves the table one position down in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelDown ()

C++ [image] Copy Code

public:
void ZLevelDown ()

Remarks

Moves a table one level down in the Z order.

See Also

Table Members
Table Class


FlowChartPro.Table.ZLevelUp Method

Table.ZLevelUp Method
[image]

Moves the table one position up in the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZLevelUp ()

C++ [image] Copy Code

public:
void ZLevelUp ()

Remarks

Moves a table one level up in the Z order.

See Also

Table Members
Table Class


FlowChartPro.Table.ZTop Method

Table.ZTop Method
[image]

Moves the table to the top of the Z order.

Syntax

VB6 [image] Copy Code

Public Sub ZTop ()

C++ [image] Copy Code

public:
void ZTop ()

Remarks

Moves a table to the top of the Z order.

See Also

Table Members
Table Class


FlowChartPro.Table Properties

Table Properties
[image]

Public Properties

Name | Description
AllowIncomingArrows | Gets or sets a value specifying whether users are allowed to draw incoming arrows to this table.
AllowInplaceEdit | Gets or sets a value indicating whether users are allowed to edit the text of this table.
AllowOutgoingArrows | Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this table.
AllowResizeColumns | Gets or sets a value indicating whether users are allowed to resize table columns.
AllowResizeRows | Gets or sets a value indicating whether users are allowed to resize table rows.
AnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to this table.
Bottom | Gets the Y coordinate of the bottom side of the table bounding rectangle.
Caption | Gets or sets the caption of this table.
CaptionColor | Gets or sets the color used to render the table caption.
CaptionFillColor | Gets or sets the color used to fill the table caption bar.
CaptionFillColor2 | Gets or sets a second color for filling the caption bar with a gradient.
CaptionGradientAngle | Specifies the angle of the linear gradient used to fill the table's caption bar.
CaptionHeight | Gets or sets the height of the table caption bar.
CaptionStyle | Gets or sets the alignment style of the table Caption.
CellBorders | Gets or sets the style of cell frame lines.
CellColumnSpan | Gets or sets how many columns a cell should span.
CellFillColor | Gets or sets the color used to fill the interior of a cell.
CellFont | Gets or sets the font used to render text inside the specified cell.
CellPicture | Gets or sets the image displayed inside the specified cell.
CellPicturePos | Gets or sets the alignment and stretch mode of a cell picture.
CellRowSpan | Gets or sets how many rows a cell should span.
CellTextColor | Gets or sets the color used to paint the text of a cell.
CellToolTip | Gets or sets the tooltip text associated with a cell.
CellType | Gets or sets what kind of UI widget is displayed in the specified cell.
CellValue | Specifies the value of a cell's UI widget.
CellVariantTag | Gets or sets a custom OLE VARIANT value associated with the specified cell.
ColumnsCount | Gets or sets the number of columns in this table.
Constraints | Gets or sets the constraints applied to the location and size of this table.
CurrScrollRow | Gets or sets the topmost visible row of this table.
CustomDraw | Gets or sets what type of custom drawing is performed on this table.
EnableStyledText | Gets or sets a value indicating whether styled text rendering is enabled.
Expandable | Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from this table.
Expanded | Gets or sets a value indicating whether the tree branch under this table is currently expanded.
FeedbackColor | Gets or sets the color of the table feedback frame.
FeedbackPenStyle | Gets or sets the line style of the table feedback frame.
FeedbackPenWidth | Gets or sets the width of the table feedback frame.
FillColor | Gets or sets the color used to fill the table interior.
FillColorAlpha | Gets or sets a value defining the transparency of the table fill color.
Font | Gets or sets the font used to render the text of this table.
Footer | Gets or sets the text displayed as table footer.
FooterColor | Gets or sets the color used to render the table footer.
FooterFillColor | Gets or sets the color used to fill the table footer area.
FooterHeight | Gets or sets the height of the table footer area.
FooterStyle | Get or sets the footer text position and alignment.
FrameColor | Gets or sets the color of the pen used to draw the table border lines.
HeaderRow | Gets or sets a value indicating whether a row is the header of a table section.
HighlightedRow | Gets or sets the index of highlighted row.
HyperLink | Gets or sets the hyperlink associated with this table.
IgnoreLayout | Gets or sets a value indicating whether the position of this table can be changed by automatic layout methods.
IncomingArrows | Gets the collection of arrows that enter into this table.
Left | Gets the X coordinate of the left side of the table's bounding rectangle.
LinkStyle | Gets or sets a value indicating whether other nodes are linked to the table rows or the table as an integral entity.
Locked | Gets or sets a value specifying whether users are allowed to select and modify this table.
MasterGroup | Gets a reference to the group to which the table is attached.
MnpHandlesMask | Gets or sets what modifications can be applied to a table through its selection handles.
Obstacle | Gets or sets a value indicating whether this tale should be considered an obstacle by the arrow-routing algorithm.
OffsetHeaderRows | Gets or sets a value indicating whether the table cells are offset to the right to accommodate for the expand buttons of header rows.
OutgoingArrows | Gets the collection of arrows that go out from this table.
PenStyle | Gets or sets the style of the pen used to draw the table frame lines.
PenWidth | Gets or sets the width of the pen used to draw the table frame lines.
Picture | Gets or sets the image displayed inside the table.
PicturePos | Gets or sets the alignment and stretch mode of the table Picture.
Printable | Gets or sets a value indicating whether this table is drawn on paper when printing.
Right | Gets the X coordinate of the right side of the table's bounding rectangle.
RowAnchorPattern | Gets or sets the AnchorPattern object defining the points at which arrows can connect to the specified row.
RowExpanded | Gets or sets a value indicating whether the table section starting from a HeaderRow is expanded.
RowsCount | Gets or sets the number of rows in this table.
Scrollable | Gets or sets a value indicating whether users are allowed to scroll the table up / down.
Selected | Gets a value indicating whether the table is selected.
SelStyle | Gets or sets how table selection handles behave and what they look like.
ShadowOffsetX | Gets or sets the horizontal offset of a shadow from the table that casts it.
ShadowOffsetY | Gets or sets the vertical offset of a shadow from the table that casts it.
Style | Gets or sets the shape of the table outlines.
SubordinateGroup | Gets a reference to the group of objects that are attached to this table.
Tag | Gets or sets a custom integer value associated with this table.
ToolTip | Gets or sets a short text message displayed when the mouse pointer rests over this table.
Top | Returns the Y coordinate of the top side of the table bounding rectangle.
UserData | Gets or sets a custom integer value associated with this table.
UserString | Gets or sets a custom string value associated with this table.
VariantTag | Gets or sets a custom OLE VARIANT value associated with this table.
Visible | Gets or sets a value indicating whether this table is visible.
Weight | Gets or sets a weight value used in layout and path-finding algorithms.
ZIndex | Gets or sets the position of this table in the Z order.

See Also

Table Class


FlowChartPro.Table.AllowIncomingArrows Property

Table.AllowIncomingArrows Property
[image]

Gets or sets a value specifying whether users are allowed to draw incoming arrows to this table.

Syntax

VB6 [image] Copy Code

Public Property Get AllowIncomingArrows() As Boolean
Public Property Let AllowIncomingArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowIncomingArrows ()
void put_AllowIncomingArrows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Even if this property is disabled, arrow can still be linked to this table programmatically.

See Also

Table Members
Table Class
FlowChartPro Namespace
IncomingArrows Property
AllowOutgoingArrows Property


FlowChartPro.Table.AllowInplaceEdit Property

Table.AllowInplaceEdit Property
[image]

Gets or sets a value indicating whether users are allowed to edit the text of this table.

Syntax

VB6 [image] Copy Code

Public Property Get AllowInplaceEdit() As Boolean
Public Property Let AllowInplaceEdit( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowInplaceEdit ()
void put_AllowInplaceEdit (
bool value
)

Property Value

A boolean value.

Remarks

Specifies whether the text of table's caption or cells can be edited in-place by user. If enabled, a text-entry field appears over the cell or caption of the table on double-click. In-place editing mode can be exited by clicking anywhere outside the text-field. When this happens, the CellTextEdited or TableCaptionEdited events are raised.

See Also

Table Members
Table Class
FlowChartPro Namespace
BeginInplaceEdit Method


FlowChartPro.Table.AllowOutgoingArrows Property

Table.AllowOutgoingArrows Property
[image]

Gets or sets a value indicating whether users are allowed to draw outgoing arrows from this table.

Syntax

VB6 [image] Copy Code

Public Property Get AllowOutgoingArrows() As Boolean
Public Property Let AllowOutgoingArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_AllowOutgoingArrows ()
void put_AllowOutgoingArrows (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Even if this property is disabled, arrow can still be linked to this table programmatically.

See Also

Table Members
Table Class
FlowChartPro Namespace
OutgoingArrows Property
AllowIncomingArrows Property


FlowChartPro.Table.AllowResizeColumns Property

Table.AllowResizeColumns Property
[image]

Gets or sets a value indicating whether users are allowed to resize table columns.

Syntax

C# [image] Copy Code

public virtual bool AllowResizeColumns { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property AllowResizeColumns As Boolean

Property Value

true to let users resize columns, or false otherwise. The default value is false.

Remarks

A column can be resized by dragging its right border. If the ColType property of a column is set to ctAutoWidth, it is automatically reset to ctFixedWidth when the column is resized. Rightmost columns always fill all remaining space in their tables and cannot be resized.

See Also

Table Members
Table Class


FlowChartPro.Table.AllowResizeRows Property

Table.AllowResizeRows Property
[image]

Gets or sets a value indicating whether users are allowed to resize table rows.

Syntax

C# [image] Copy Code

public virtual bool AllowResizeRows { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property AllowResizeRows As Boolean

Property Value

true to let users resize rows, or false otherwise. The default value is false.

Remarks

A row can be resized by dragging its bottom border.

See Also

Table Members
Table Class


FlowChartPro.Table.AnchorPattern Property

Table.AnchorPattern Property
[image]

Gets or sets the AnchorPattern object defining the points at which arrows can connect to this table.

Syntax

VB6 [image] Copy Code

Public Property Get AnchorPattern() As AnchorPattern
Public Property Let AnchorPattern( _
ByVal Value As AnchorPattern _
)

C++ [image] Copy Code

public:
AnchorPattern* get_AnchorPattern ()
void put_AnchorPattern (
AnchorPattern* value
)

Property Value

A reference to an AnchorPattern object.

Remarks

An anchor pattern defines a set of anchor points at which arrows connect with a node. If a table has not any anchor points defined, arrows can be linked to any point of that table. This property can be used with tables whose LinkStyle is set to tlsTable or tlsBoth. Use the RowAnchorPattern property to assign anchor patterns to distinct rows of the table. The indices of the anchor points to which an arrow is attached can be accessed via the OrgnAnchor and DestAnchor properties of the Arrow class.

See Also

Table Members
Table Class


FlowChartPro.Table.Bottom Property

Table.Bottom Property
[image]

Gets the Y coordinate of the bottom side of the table bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Bottom() As Long

C++ [image] Copy Code

public:
int get_Bottom ()

Property Value

A long value.

Remarks

Gets the bottom side of a table-bounding rectangle, measured in document coordinates.

See Also

Table Members
Table Class


FlowChartPro.Table.Caption Property

Table.Caption Property
[image]

Gets or sets the caption of this table.

Syntax

VB6 [image] Copy Code

Public Property Get Caption() As String
Public Property Let Caption( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Caption ()
void put_Caption (
BSTR value
)

Property Value

A string value. Initialized with FlowChart.TableCaption.

Remarks

Sets the text displayed as caption at the top of the table. This text can be aligned in different ways as pointed by the CaptionStyle property.

See Also

Table Members
Table Class
FlowChartPro Namespace
EnableStyledText Property
Footer Property


FlowChartPro.Table.CaptionColor Property

Table.CaptionColor Property
[image]

Gets or sets the color used to render the table caption.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionColor() As Long
Public Property Let CaptionColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_CaptionColor ()
void put_CaptionColor (
unsigned int value
)

Property Value

An OLE_COLOR value. Initialized with FlowChart.TextColor.

Remarks

The text of a table's caption is painted with this color.

See Also

Table Members
Table Class
FlowChartPro Namespace
Caption Property
CaptionFillColor Property


FlowChartPro.Table.CaptionFillColor Property

Table.CaptionFillColor Property
[image]

Gets or sets the color used to fill the table caption bar.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionFillColor() As Long
Public Property Let CaptionFillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_CaptionFillColor ()
void put_CaptionFillColor (
unsigned int value
)

Property Value

An OLE_COLOR value.

Remarks

The table's caption bar is filled with this color. If CaptionFillColor2 is set as well, the caption bar is filled with a linear gradient.

See Also

Table Members
Table Class
FlowChartPro Namespace
CaptionColor Property
CellFillColor Property
CaptionGradientAngle Property


FlowChartPro.Table.CaptionFillColor2 Property

Table.CaptionFillColor2 Property
[image]

Gets or sets a second color for filling the caption bar with a gradient.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionFillColor2() As Long
Public Property Let CaptionFillColor2( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_CaptionFillColor2 ()
void put_CaptionFillColor2 (
unsigned int value
)

Property Value

An OLE_COLOR value. The default is -1.

Remarks

If this property is set to a value different from -1, the caption bar is filled with a linear gradient. The gradient angle van be set via the CaptionGradientAngle property.

See Also

Table Members
Table Class
FlowChartPro Namespace
CaptionFillColor Property


FlowChartPro.Table.CaptionGradientAngle Property

Table.CaptionGradientAngle Property
[image]

Specifies the angle of the linear gradient used to fill the table's caption bar.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionGradientAngle() As Single
Public Property Let CaptionGradientAngle( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_CaptionGradientAngle ()
void put_CaptionGradientAngle (
float value
)

Property Value

A number specifying the gradient angle. The default value is 0.

Remarks

This value is considered only when CaptionFillColor and CaptionFillColor2 are set. Classic graphics mode supports only 0 and 90 degree angles for respectively horizontal and vertical gradients. GdiPlus mode can draw gradients at any angle.

See Also

Table Members
Table Class


FlowChartPro.Table.CaptionHeight Property

Table.CaptionHeight Property
[image]

Gets or sets the height of the table caption bar.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionHeight() As Integer
Public Property Let CaptionHeight( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_CaptionHeight ()
void put_CaptionHeight (
short value
)

Property Value

A long value. Initialized with FlowChart.TableCaptionHeight.

Remarks

Defines the height of table caption area.

See Also

Table Members
Table Class
FlowChartPro Namespace
Caption Property
FooterHeight Property


FlowChartPro.Table.CaptionStyle Property

Table.CaptionStyle Property
[image]

Gets or sets the alignment style of the table Caption.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionStyle() As ETextStyle
Public Property Let CaptionStyle( _
ByVal Value As ETextStyle _
)

C++ [image] Copy Code

public:
ETextStyle get_CaptionStyle ()
void put_CaptionStyle (
ETextStyle value
)

Property Value

A member of the ETextStyle enumeration.

Remarks

Sets the position and alignment of the table caption text. The supported values are:

tsCenter | Single line of text, centered horizontally and vertically in the caption bar.
tsTop | Horizontally centered line of text at the top of the caption bar.
tsBottom | Horizontally centered line of text at the bottom of the caption bar.
tsLeft | Vertically centered line of text starting at the left side of the caption bar.
tsRight | Vertically centered line of text ending at the right side of the caption bar.
tsLeftML | Multiple left-aligned lines of text.
tsRightML | Multiple right-aligned lines of text.
tsCenterML | Multiple horizontally centered lines of text.
tsBelow | Text is displayed below the table, as for desktop icons. The maximal width of the text can be changed via IconTextWidth.
tsFitPolyTop | Align text to the top of the caption bar; used with EnableStyledText.
tsFitPolyCenter | Center text vertically; used with EnableStyledText.
tsFitPolyBottom | Align text to the bottom of the caption bar; use with EnableStyledText.

See Also

Table Members
Table Class
FlowChartPro Namespace
EnableStyledText Property


FlowChartPro.Table.CellBorders Property

Table.CellBorders Property
[image]

Gets or sets the style of cell frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get CellBorders() As ECellBorders
Public Property Let CellBorders( _
ByVal Value As ECellBorders _
)

C++ [image] Copy Code

public:
ECellBorders get_CellBorders ()
void put_CellBorders (
ECellBorders value
)

Property Value

A member of the ECellBorders enumeration.

Remarks

Defines how cells borders are drawn:

  • cbNone - no borders are rendered around cells;
  • cbSimple - the cells have single-line borders;
  • cbSystem3D - cell borders are rendered as 3D edges using system colors;

See Also

Table Members
Table Class


FlowChartPro.Table.CellColumnSpan Property

Table.CellColumnSpan Property
[image]

Gets or sets how many columns a cell should span.

Syntax

VB6 [image] Copy Code

Public Property Get CellColumnSpan( _
ByVal col As Long, _
ByVal row As Long _
) As Integer
Public Property Let CellColumnSpan( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_CellColumnSpan (
int col,
int row
)
void put_CellColumnSpan (
int col,
int row,
short value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A short value. The default is 1.

Remarks

This is an indexed property having the cell column as the first index and the cell row as the second index. This value specifies how many columns the cell spans to the right. Use this property and CellRowSpan to define a cell that spans several columns and rows of the table's grid. The spanning cell covers any non-spanning cells to the right or below it, as far as the spanned columns and rows go. The image and text displayed in spanning cells are aligned and laid out inside the enlarged bounding rectangles of the cells. That allows composing nodes with a very elaborate structure using spanning cells, as alternative to attaching Box objects to a container/master node.

See Also

Table Members
Table Class


FlowChartPro.Table.CellFillColor Property

Table.CellFillColor Property
[image]

Gets or sets the color used to fill the interior of a cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellFillColor( _
ByVal col As Long, _
ByVal row As Long _
) As Long
Public Property Let CellFillColor( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_CellFillColor (
int col,
int row
)
void put_CellFillColor (
int col,
int row,
unsigned int value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A color value. The default is -1.

Remarks

Gets or sets the color used to fill in a table's cell. This is an indexed property having the cell column as first index and the cell row as second. The default value -1 specifies that the table's FillColor should be used to fill in the cell.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellTextColor Property


FlowChartPro.Table.CellFont Property

Table.CellFont Property
[image]

Gets or sets the font used to render text inside the specified cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellFont( _
ByVal col As Long, _
ByVal row As Long _
) As IFontDisp
Public Property Let CellFont( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_CellFont (
int col,
int row
)
void put_CellFont (
int col,
int row,
IFontDisp* value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A font object. The default is null (Nothing in Visual Basic).

Remarks

This property lets you set the font used to render text inside a cell. The property has the cell column as the first index and the cell row as the second index. If the font of a cell is null, FlowChartX uses the table's Font to render the cell's text.

Example

The following VB code creates a Font object and assigns it to a cell.

VB6 [image] Copy Code

Dim f As New StdFont
f.Bold = True
f.Name = "Times New Roman"
f.Size = 6
table.CellFont(0, 0) = f

See Also

Table Members
Table Class
FlowChartPro Namespace
SetText Method
CellTextColor Property


FlowChartPro.Table.CellPicture Property

Table.CellPicture Property
[image]

Gets or sets the image displayed inside the specified cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellPicture( _
ByVal col As Long, _
ByVal row As Long _
) As IPictureDisp
Public Property Let CellPicture( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_CellPicture (
int col,
int row
)
void put_CellPicture (
int col,
int row,
IPictureDisp* value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A picture object.

Remarks

Sets the image to be displayed inside a cell. This is an indexed property having the cell column as first index and the cell row as second. The image is positioned inside the cell as specified by the CellPicturePos property.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellType Property
SetText Method


FlowChartPro.Table.CellPicturePos Property

Table.CellPicturePos Property
[image]

Gets or sets the alignment and stretch mode of a cell picture.

Syntax

VB6 [image] Copy Code

Public Property Get CellPicturePos( _
ByVal col As Long, _
ByVal row As Long _
) As EPicturePos
Public Property Let CellPicturePos( _
ByVal col As Long, _
ByVal row As Long, _
ByVal Value As EPicturePos _
)

C++ [image] Copy Code

public:
EPicturePos get_CellPicturePos (
int col,
int row
)
void put_CellPicturePos (
int col,
int row,
EPicturePos value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A member of the EPicturePos enumeration.

Remarks

Specifies how a picture is positioned inside a cell. picStretch and picFit make the picture stretched to cover the cell area, respectively non- proportionally / proportionally. picTile tiles the cell with several copies of the picture. The picCenter value centers the picture inside the cell. The other EPicturePos values attach a picture corner to the corresponding cell corner. This is an indexed property having the cell column as first index and the cell row as second.

See Also

Table Members
Table Class


FlowChartPro.Table.CellRowSpan Property

Table.CellRowSpan Property
[image]

Gets or sets how many rows a cell should span.

Syntax

VB6 [image] Copy Code

Public Property Get CellRowSpan( _
ByVal col As Long, _
ByVal row As Long _
) As Integer
Public Property Let CellRowSpan( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_CellRowSpan (
int col,
int row
)
void put_CellRowSpan (
int col,
int row,
short value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A short value. The default is 1.

Remarks

This is an indexed property having the cell column as the first index and the cell row as the second index. This value specifies how many rows the cell spans downwards. Use this property and CellColumnSpan to define a cell that spans several columns and rows of the table's grid. The spanning cell covers any non-spanning cells to the right or below it, as far as the spanned columns and rows go. The image and text displayed in spanning cells are aligned and laid out inside the enlarged bounding rectangles of the cells. That allows composing nodes with a very elaborate structure using spanning cells, as alternative to attaching Box objects to a container/master node.

See Also

Table Members
Table Class


FlowChartPro.Table.CellTextColor Property

Table.CellTextColor Property
[image]

Gets or sets the color used to paint the text of a cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellTextColor( _
ByVal col As Long, _
ByVal row As Long _
) As Long
Public Property Let CellTextColor( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_CellTextColor (
int col,
int row
)
void put_CellTextColor (
int col,
int row,
unsigned int value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A color value. The default is -1.

Remarks

This is an indexed property having a table's column number as the first index and a row number as the second one. Its value specifies the color used to paint the text of a specific table's cell. The default value -1 specifies that the table's CaptionColor should be used to draw the cell's text.

See Also

Table Members
Table Class
FlowChartPro Namespace
SetText Method
CellFillColor Property


FlowChartPro.Table.CellToolTip Property

Table.CellToolTip Property
[image]

Gets or sets the tooltip text associated with a cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellToolTip( _
ByVal col As Long, _
ByVal row As Long _
) As String
Public Property Let CellToolTip( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_CellToolTip (
int col,
int row
)
void put_CellToolTip (
int col,
int row,
BSTR value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A string value. The default is an empty string.

Remarks

This is an indexed property having a table's column number as the first index and a row number as the second one. Its value specifies the tool-tip text that should be displayed when the mouse rests for awhile over a cell.

See Also

Table Members
Table Class
FlowChartPro Namespace
ToolTipDelay Property
ShowToolTips Property


FlowChartPro.Table.CellType Property

Table.CellType Property
[image]

Gets or sets what kind of UI widget is displayed in the specified cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellType( _
ByVal col As Long, _
ByVal row As Long _
) As ECellType
Public Property Let CellType( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As ECellType _
)

C++ [image] Copy Code

public:
ECellType get_CellType (
int col,
int row
)
void put_CellType (
int col,
int row,
ECellType value
)

Parameters

col

The cell's column index.

row

The cell's row index.

Property Value

A member of the ECellType enumeration. The default value is ctContent.

Remarks

At this time, cells can display either content (text and/or image) or checkboxes, respectively when CellType is set to ctContent or ctCheckBox. The state of a cell's checkbox can be get or set via the CellValue indexed property.

See Also

Table Members
Table Class
FlowChartPro Namespace
CellPicture Property
SetText Method


FlowChartPro.Table.CellValue Property

Table.CellValue Property
[image]

Specifies the value of a cell's UI widget.

Syntax

VB6 [image] Copy Code

Public Property Get CellValue( _
ByVal col As Long, _
ByVal row As Long _
) As Long
Public Property Let CellValue( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CellValue (
int col,
int row
)
void put_CellValue (
int col,
int row,
int value
)

Parameters

col

The cell's column index.

row

The cell's row index.

Property Value

An integer specifying the state or value selected by the user.

Remarks

At this time, cells can display either content or checkboxes, as set through the CellType property. For checkboxes, 0 identifies unchecked state, and 1 identifies checked state.

See Also

Table Members
Table Class


FlowChartPro.Table.CellVariantTag Property

Table.CellVariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with the specified cell.

Syntax

VB6 [image] Copy Code

Public Property Get CellVariantTag( _
ByVal col As Long, _
ByVal row As Long _
) As Object
Public Property Let CellVariantTag( _
ByVal col As Long, _
ByVal row As Long, _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_CellVariantTag (
int col,
int row
)
void put_CellVariantTag (
int col,
int row,
IDispatch* value
)

Parameters

col
The 0-based index of the cell's column.
row
The 0-based index of the cell's row.

Property Value

A COM VARIANT structure.

Remarks

Contains user defined data that can be represented with a VARIANT structure. This is an indexed property having the cell column as first index and the cell row as second. A cell's VARIANT is serialized when saving files if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANTs.

See Also

Table Members
Table Class
FlowChartPro Namespace
Tag Property
VariantTag Property


FlowChartPro.Table.ColumnsCount Property

Table.ColumnsCount Property
[image]

Gets or sets the number of columns in this table.

Syntax

VB6 [image] Copy Code

Public Property Get ColumnsCount() As Long
Public Property Let ColumnsCount( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ColumnsCount ()
void put_ColumnsCount (
int value
)

Property Value

A long value. Initialized with FlowChart.TableColumnsCount.

Remarks

The number of columns in the table. If you increase or decrease it, columns are added to / removed from the end of the table.

See Also

Table Members
Table Class


FlowChartPro.Table.Constraints Property

Table.Constraints Property
[image]

Gets or sets the constraints applied to the location and size of this table.

Syntax

VB6 [image] Copy Code

Public Property Get Constraints( _
ByVal constraint As ENodeConstraint _
) As Integer
Public Property Let Constraints( _
ByVal constraint As ENodeConstraint, _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_Constraints (
ENodeConstraint constraint
)
void put_Constraints (
ENodeConstraint constraint,
short value
)

Parameters

constraint
A value from the ENodeConstraint enumeration.

Property Value

A short value.

Remarks

Allows applying constraints to the location and size of a table. These constraints are considered when a user modifies the table interactively. They are ignored if table placement is changed programmatically via methods and properties. Currently, the following constrains can be set:

Constraint index

Value

ncMoveDirection

0 - no movement constraints;
1 - users can move the table only horizontally;
2 - users can move the table only vertically;

ncMinWidth

0 - no constraints;
any other value specifies the minimal table width allowed;

ncMinHeight

0 - no constraints;
any other value specifies the minimal table height allowed;

ncMaxWidth

0 - no constraints;
any other value specifies the maximal table width allowed;

ncMaxHeight

0 - no constraints;
any other value specifies the maximal table height allowed;

ncKeepInsideDiagram

0 - no constraints;
otherwise the user is prevents from dragging nodes outside of the flowchart boundaries

Example

This sample disables moving or resizing a table vertically.

VB6 [image] Copy Code

' allow moving the table only horizontally
fcx.ActiveTable.Constraints(ncMoveDirection) = 1

' disable handles that can be used to resize the table vertically
' binary 110100000: bit 8 = move handle; bits 5 & 7 = left & right resize handles
fcx.ActiveTable.MnpHandlesMask = 416

See Also

Table Members
Table Class
FlowChartPro Namespace
MnpHandlesMask Property


FlowChartPro.Table.CurrScrollRow Property

Table.CurrScrollRow Property
[image]

Gets or sets the topmost visible row of this table.

Syntax

VB6 [image] Copy Code

Public Property Get CurrScrollRow() As Long
Public Property Let CurrScrollRow( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CurrScrollRow ()
void put_CurrScrollRow (
int value
)

Property Value

A long value. The default is 0.

Remarks

Specifies the table's current scroll position - the topmost visible row. It can be changed either programmatically, by means of this property, or by the user using the scroll buttons displayed if Scrollable is set to true.

See Also

Table Members
Table Class


FlowChartPro.Table.CustomDraw Property

Table.CustomDraw Property
[image]

Gets or sets what type of custom drawing is performed on this table.

Syntax

VB6 [image] Copy Code

Public Property Get CustomDraw() As ECustomDraw
Public Property Let CustomDraw( _
ByVal value As ECustomDraw _
)

C++ [image] Copy Code

public:
ECustomDraw get_CustomDraw ()
void put_CustomDraw (
ECustomDraw value
)

Property Value

A member of the ECustomDraw enumeration.

Remarks

Use custom drawing to implement special appearance of a table that cannot be achieved by customizing it through properties. The control raises the DrawTable event to let you execute custom rendering code.

The CustomDraw property can be set to one of the following values:

  • cdNone - no custom drawing for the table.
  • cdAdditional - this mode makes your drawing code execute after the table has been rendered with its standard appearance.
  • cdFull - this mode executes just the custom drawing code and no standard rendering takes place.

See Also

Table Members
Table Class


FlowChartPro.Table.EnableStyledText Property

Table.EnableStyledText Property
[image]

Gets or sets a value indicating whether styled text rendering is enabled.

Syntax

VB6 [image] Copy Code

Public Property Get EnableStyledText() As Boolean
Public Property Let EnableStyledText( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_EnableStyledText ()
void put_EnableStyledText (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.EnableStyledText.

Remarks

Styled text can have various attributes applied to the characters it contains. The attributes are specified using HTML-like tags embedded in the raw text. Attributes can be combined just like in HTML. Styled text formatting is provided by the same renderer that implements "fit polygon" text layout styles. As a consequence, such text is rendered properly only when the CaptionStyle or the cell's text style is set to one of the following values: tsFitPolyTop, tsFitPolyCenter or tsFitPolyBottom.

The following table lists the currently supported style tags:

Tags | Style
<i> text </i> | italic text
<b> text </b> | bold text
<u> text </u> | underlined text
<sub> text </sub> | subscript
<sup> text </sup> | superscript

Example

The following code demonstrates how to use styled text in a table.

VB6 [image] Copy Code

Private Sub Form_Load()

Dim t As Table
Set t = fcx.CreateTable(10, 10, 180, 240)

t.SetColWidth 0, 120
t.SetRowHeight 0, 25
t.EnableStyledText = True
t.Caption = "table: <i>Clients</i>"
t.CaptionStyle = tsFitPolyCenter
t.SetText 0, 0, "<b>id:</b> autoint"
t.SetTextStyle 0, 0, tsFitPolyCenter

End Sub

See Also

Table Members
Table Class


FlowChartPro.Table.Expandable Property

Table.Expandable Property
[image]

Gets or sets a value indicating whether users are allowed to expand or collapse the tree branch that starts from this table.

Syntax

C# [image] Copy Code

public virtual bool Expandable { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property Expandable As Boolean

Property Value

A boolean value.

Remarks

Displays a +/- button beside a table to allow users Expand or Collapse the tree that has this table as a root. Clicking the button when it displays a "-" sign collapses the tree and raises a TableCollapsed event. Clicking the button when it displays a "+" sign expands the tree and raises a TableExpanded event.

This behavior can be overridden by setting the fOverrideTreeExpanding event flag. That makes the respective events still raised when a user clicks on the +/- buttons, without actually hiding or showing child nodes in the tree.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.ExpandOnIncoming Property
FlowChart.ButtonImages Property
FlowChart.EventFlags Property


FlowChartPro.Table.Expanded Property

Table.Expanded Property
[image]

Gets or sets a value indicating whether the tree branch under this table is currently expanded.

Syntax

C# [image] Copy Code

public virtual bool Expanded { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property Expanded As Boolean

Property Value

A boolean value.

Remarks

Returns false if the tree branch starting from this table is collapsed, either by the user or programmatically through the Collapse method; true, if the tree is expanded.

See Also

Table Members
Table Class


FlowChartPro.Table.FeedbackColor Property

Table.FeedbackColor Property
[image]

Gets or sets the color of the table feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackColor() As Long
Public Property Let FeedbackColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FeedbackColor ()
void put_FeedbackColor (
unsigned int value
)

Property Value

A color value.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a table to indicate that the table would accept the dragged data. The frame is painted with the color assigned to this property.

See Also

Table Members
Table Class


FlowChartPro.Table.FeedbackPenStyle Property

Table.FeedbackPenStyle Property
[image]

Gets or sets the line style of the table feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenStyle() As EPenStyle
Public Property Let FeedbackPenStyle( _
ByVal value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_FeedbackPenStyle ()
void put_FeedbackPenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a table to indicate that the table would accept the dragged data. This property specifies the style of the pen with which the frame is painted.

See Also

Table Members
Table Class


FlowChartPro.Table.FeedbackPenWidth Property

Table.FeedbackPenWidth Property
[image]

Gets or sets the width of the table feedback frame.

Syntax

VB6 [image] Copy Code

Public Property Get FeedbackPenWidth() As Long
Public Property Let FeedbackPenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_FeedbackPenWidth ()
void put_FeedbackPenWidth (
int value
)

Property Value

A long value.

Remarks

While a drag-and-drop operation is in progress, a frame is drawn around a table to indicate that the table would accept the dragged data. This property specifies the width of the pen with which the frame is painted.

See Also

Table Members
Table Class


FlowChartPro.Table.FillColor Property

Table.FillColor Property
[image]

Gets or sets the color used to fill the table interior.

Syntax

VB6 [image] Copy Code

Public Property Get FillColor() As Long
Public Property Let FillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FillColor ()
void put_FillColor (
unsigned int value
)

Property Value

An OLE_COLOR value. Initialized with FlowChart.TableFillColor.

See Also

Table Members
Table Class
FlowChartPro Namespace
CaptionFillColor Property
AddAeroEffect Method
AddGlassEffect Method


FlowChartPro.Table.FillColorAlpha Property

Table.FillColorAlpha Property
[image]

Gets or sets a value defining the transparency of the table fill color.

Syntax

VB6 [image] Copy Code

Public Property Get FillColorAlpha() As Integer
Public Property Let FillColorAlpha( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FillColorAlpha ()
void put_FillColorAlpha (
short value
)

Property Value

A byte value. Initialized with FlowChart.TableFillColorAlpha.

Remarks

Specifies the alpha component of FillColor. Alpha values, ranging from 0 to 255, represent transparency to graphics already rendered behind a table. 255 means no transparency at all; 0 means full transparency; all other values specify that alpha-blending should be used to mix FillColor with background pixels colors. Alpha-blending can be used only if the GDI+ graphics engine is enabled.

See Also

Table Members
Table Class
FlowChartPro Namespace
Graphics Class


FlowChartPro.Table.Font Property

Table.Font Property
[image]

Gets or sets the font used to render the text of this table.

Syntax

VB6 [image] Copy Code

Public Property Get Font() As IFontDisp
Public Property Let Font( _
ByVal value As IFontDisp _
)

C++ [image] Copy Code

public:
IFontDisp* get_Font ()
void put_Font (
IFontDisp* value
)

Property Value

A font object. The default is null (Nothing in Visual Basic).

Remarks

The caption and cell text of the table are rendered using this font. If it is not set, the flowchart's Font is used instead.

Note that non-proportional fonts, such as Courier or MS Sans Serif cannot zoom out well. The minimum size that can be assigned to such fonts is the smallest value shown in the 'Size' combo box in the standard font dialog. If your application allows scaling to ZoomFactor less than 100, we recommend using proportional fonts such as Arial, Courier New or Verdana.

GDI+ works correctly only with proportional fonts. If you enable the GDI+ graphics engine, make sure that all fonts used in your application are proportional. Proportional fonts are marked with 'TT' or 'O' symbols in the standard Windows font dialog.

See Also

Table Members
Table Class


FlowChartPro.Table.Footer Property

Table.Footer Property
[image]

Gets or sets the text displayed as table footer.

Syntax

VB6 [image] Copy Code

Public Property Get Footer() As String
Public Property Let Footer( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_Footer ()
void put_Footer (
BSTR value
)

Property Value

A string value. The default value is an empty string.

Remarks

Footer text is rendered only when the value of FooterHeight is greater than 0. This text can be aligned in different ways as set via the FooterStyle property.

See Also

Table Members
Table Class
FlowChartPro Namespace
Caption Property
FooterColor Property


FlowChartPro.Table.FooterColor Property

Table.FooterColor Property
[image]

Gets or sets the color used to render the table footer.

Syntax

VB6 [image] Copy Code

Public Property Get FooterColor() As Long
Public Property Let FooterColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FooterColor ()
void put_FooterColor (
unsigned int value
)

Property Value

An OLE_COLOR value. The default value is black color.

Remarks

Footer text is rendered only when the value of FooterHeight is greater than 0.

See Also

Table Members
Table Class
FlowChartPro Namespace
Footer Property


FlowChartPro.Table.FooterFillColor Property

Table.FooterFillColor Property
[image]

Gets or sets the color used to fill the table footer area.

Syntax

VB6 [image] Copy Code

Public Property Get FooterFillColor() As Long
Public Property Let FooterFillColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FooterFillColor ()
void put_FooterFillColor (
unsigned int value
)

Property Value

An OLE_COLOR value. Initialized with the value of TableFillColor.

See Also

Table Members
Table Class
FlowChartPro Namespace
Footer Property


FlowChartPro.Table.FooterHeight Property

Table.FooterHeight Property
[image]

Gets or sets the height of the table footer area.

Syntax

VB6 [image] Copy Code

Public Property Get FooterHeight() As Integer
Public Property Let FooterHeight( _
ByVal value As Integer _
)

C++ [image] Copy Code

public:
short get_FooterHeight ()
void put_FooterHeight (
short value
)

Property Value

A short integer value specifying the footer height. The default value is 0.

Remarks

Set this property to a value greater than 0 to allocate footer area at the bottom of the table. The Footer text is not rendered if FooterHeight has its default value 0.

See Also

Table Members
Table Class
FlowChartPro Namespace
CaptionHeight Property


FlowChartPro.Table.FooterStyle Property

Table.FooterStyle Property
[image]

Get or sets the footer text position and alignment.

Syntax

VB6 [image] Copy Code

Public Property Get FooterStyle() As ETextStyle
Public Property Let FooterStyle( _
ByVal value As ETextStyle _
)

C++ [image] Copy Code

public:
ETextStyle get_FooterStyle ()
void put_FooterStyle (
ETextStyle value
)

Property Value

A member of the ETextStyle enumeration. The default value is tsCenter.

See Also

Table Members
Table Class
FlowChartPro Namespace
Footer Property
CaptionStyle Property


FlowChartPro.Table.FrameColor Property

Table.FrameColor Property
[image]

Gets or sets the color of the pen used to draw the table border lines.

Syntax

VB6 [image] Copy Code

Public Property Get FrameColor() As Long
Public Property Let FrameColor( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
unsigned int get_FrameColor ()
void put_FrameColor (
unsigned int value
)

Property Value

A color value. Initialized with FlowChart.TableFrameColor.

See Also

Table Members
Table Class


FlowChartPro.Table.HeaderRow Property

Table.HeaderRow Property
[image]

Gets or sets a value indicating whether a row is the header of a table section.

Syntax

VB6 [image] Copy Code

Public Property Get HeaderRow( _
ByVal row As Long _
) As Boolean
Public Property Let HeaderRow( _
ByVal row As Long, _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_HeaderRow (
int row
)
void put_HeaderRow (
int row,
bool value
)

Parameters

row
The 0-based index of the row.

Property Value

A boolean value. The default is false.

Remarks

Each header row defines a section of the table that includes all non-header rows after the header. Such sections can be expanded or collapsed, i.e. the rows included in them can be shown or hidden. This can be done interactively by pressing the +/- button displayed in header rows, or programmatically by setting the RowExpanded property. The TableSectionCollapsed and TableSectionExpanded events are raised when a user clicks the +/- button.

Example

The following code defines two sections of table rows that can be collapsed and expanded back:

VB6 [image] Copy Code

Private Sub fcx_TableCreated(ByVal table As FLOWCHARTLibCtl.ITableItem)

table.caption = "class " + className
table.RowsCount = methods + 1 + properties + 1
table.HeaderRow(0) = True
table.SetText 0, 0, "Methods"
table.HeaderRow(methods + 1) = True
table.SetText 0, methods + 1, "Properties"

End Sub

See Also

Table Members
Table Class
FlowChartPro Namespace
OffsetHeaderRows Property


FlowChartPro.Table.HighlightedRow Property

Table.HighlightedRow Property
[image]

Gets or sets the index of highlighted row.

Syntax

C# [image] Copy Code

public virtual int HighlightedRow { get; set; }

Visual Basic [image] Copy Code

Public Overridable Property HighlightedRow As Integer

Property Value

Integer index of the highlighted row. The default value is -1 (no highlight).

Remarks

The background of highlighted row is painted using RowHighlightColor. If AutoHighlightRows is enabled, a row gets highlighted automatically when clicked by the user.

See Also

Table Members
Table Class


FlowChartPro.Table.HyperLink Property

Table.HyperLink Property
[image]

Gets or sets the hyperlink associated with this table.

Syntax

VB6 [image] Copy Code

Public Property Get HyperLink() As String
Public Property Let HyperLink( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_HyperLink ()
void put_HyperLink (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Sets or gets a hyperlink associated with a table. When creating an image map via HtmlBuilder's CreateImageMap method, the hyperlink is used as HREF value for the <AREA> definition corresponding to this table.

See Also

Table Members
Table Class


FlowChartPro.Table.IgnoreLayout Property

Table.IgnoreLayout Property
[image]

Gets or sets a value indicating whether the position of this table can be changed by automatic layout methods.

Syntax

VB6 [image] Copy Code

Public Property Get IgnoreLayout() As Boolean
Public Property Let IgnoreLayout( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_IgnoreLayout ()
void put_IgnoreLayout (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Specifies whether the position of a diagram item can be changed by automatic layout methods. If enabled, the position of an item won't be changed.

See Also

Table Members
Table Class
FlowChartPro Namespace
Locked Property


FlowChartPro.Table.IncomingArrows Property

Table.IncomingArrows Property
[image]

Gets the collection of arrows that enter into this table.

Syntax

VB6 [image] Copy Code

Public Property Get IncomingArrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_IncomingArrows ()

Property Value

A collection of Arrow objects.

Remarks

Returns a collection of arrows that relate other nodes to this table. Only arrows that connect to the table as a whole entity can be accessed via IncomingArrows. Arrows that connect to a specific row of the table can be accessed via GetRowIncomingArrows. How end-users are allowed to link arrows to a table is specified through LinkStyle.

See Also

Table Members
Table Class
FlowChartPro Namespace
AllowIncomingArrows Property
OutgoingArrows Property
CreateRelation Method


FlowChartPro.Table.Left Property

Table.Left Property
[image]

Gets the X coordinate of the left side of the table's bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Left() As Long

C++ [image] Copy Code

public:
int get_Left ()

Property Value

A long value.

Remarks

Gets left side of the bounding rectangle of a table measured in document coordinates.

See Also

Table Members
Table Class


FlowChartPro.Table.LinkStyle Property

Table.LinkStyle Property
[image]

Gets or sets a value indicating whether other nodes are linked to the table rows or the table as an integral entity.

Syntax

VB6 [image] Copy Code

Public Property Get LinkStyle() As ETableLinkStyle
Public Property Let LinkStyle( _
ByVal value As ETableLinkStyle _
)

C++ [image] Copy Code

public:
ETableLinkStyle get_LinkStyle ()
void put_LinkStyle (
ETableLinkStyle value
)

Property Value

A member of the ETableLinkStyle enumeration. Initialized with FlowChart.TableLinkStyle.

Remarks

There are three possible ways to relate tables to other nodes. This property specifies how users are allowed to create such relations:

  • tlsRows - relation ends are the rows of a table. An arrow connected to the table is linked to a particular row. This mode is convenient for database diagrams;
  • tlsTable - relations target the table as a whole entity, and not any particular row. This mode is convenient for class diagrams;
  • tlsBoth - a mixed mode where arrows can target either a row of the table or the table itself;

Programmatically, arrows can be linked to a table in any way, regardless of the LinkStyle. LinkStyle value is considered only when end-users draw arrows to or from a table. To link to a table as an entity and not to a specific row, pass -1 as row argument of the CreateLink or CreateRelation methods.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.TableLinkStyle Property


FlowChartPro.Table.Locked Property

Table.Locked Property
[image]

Gets or sets a value specifying whether users are allowed to select and modify this table.

Syntax

VB6 [image] Copy Code

Public Property Get Locked() As Boolean
Public Property Let Locked( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Locked ()
void put_Locked (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Set to true prevents the user from modifying or moving the table.

See Also

Table Members
Table Class


FlowChartPro.Table.MasterGroup Property

Table.MasterGroup Property
[image]

Gets a reference to the group to which the table is attached.

Syntax

VB6 [image] Copy Code

Public Property Get MasterGroup() As Group

C++ [image] Copy Code

public:
Group* get_MasterGroup ()

Property Value

A reference to a Group object.

Remarks

Holds a reference to the group in which this table is a subordinate object, e.g. it has been added to this group using one of the Attach* methods. The property equals to null (Nothing in Visual Basic) if the table is not attached to any group.

See Also

Table Members
Table Class


FlowChartPro.Table.MnpHandlesMask Property

Table.MnpHandlesMask Property
[image]

Gets or sets what modifications can be applied to a table through its selection handles.

Syntax

VB6 [image] Copy Code

Public Property Get MnpHandlesMask() As Long
Public Property Let MnpHandlesMask( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_MnpHandlesMask ()
void put_MnpHandlesMask (
int value
)

Property Value

A long value. The default is 0xFFFFFFFF.

Remarks

A bit-mask allowing the possible users' modifications to a table to be restricted. Each manipulation handle can be enabled or disabled by setting or clearing the bits in the mask. The correspondence of bits to manipulation handles is shown below, the zero bit being the right most in the binary form of a number.

Bit | Handle location | Function
0 | upper-left corner manipulation handle | resizes the table
1 | upper-right corner manipulation handle | resizes the table
2 | bottom-right corner manipulation handle | resizes the table
3 | bottom-left corner manipulation handle | resizes the table
4 | upper-center manipulation handle | resizes the table vertically
5 | right-center manipulation handle | resizes the table horizontally
6 | bottom-center corner manipulation handle | resizes the table vertically
7 | left-center corner manipulation handle | resizes the table horizontally
8 | caption area or table center | moves the table

Example

To make a table resizable only horizontally, use binary 110100000 (hex. 1A0). That disables all manipulation handles, except the left and right-center, which allow horizontal resizing, and the central one allowing movement of the table.

See Also

Table Members
Table Class
FlowChartPro Namespace
Constraints Property


FlowChartPro.Table.Obstacle Property

Table.Obstacle Property
[image]

Gets or sets a value indicating whether this tale should be considered an obstacle by the arrow-routing algorithm.

Syntax

VB6 [image] Copy Code

Public Property Get Obstacle() As Boolean
Public Property Let Obstacle( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Obstacle ()
void put_Obstacle (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether a table is treated as an obstacle by the arrow-routing algorithm. If enabled, routed arrows try to find a path around this table; otherwise arrows ignore the table and go straight through it. It is useful to set the property to false for nodes used as decorative containers or labels.

See Also

Table Members
Table Class
FlowChartPro Namespace
IgnoreLayout Property
Arrow.AutoRoute Property


FlowChartPro.Table.OffsetHeaderRows Property

Table.OffsetHeaderRows Property
[image]

Gets or sets a value indicating whether the table cells are offset to the right to accommodate for the expand buttons of header rows.

Syntax

VB6 [image] Copy Code

Public Property Get OffsetHeaderRows() As Boolean
Public Property Let OffsetHeaderRows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_OffsetHeaderRows ()
void put_OffsetHeaderRows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If this property is set to false, the +/- buttons used to expand or collapse table sections are drawn inside the first cell of each header row. Otherwise, the buttons are drawn in their own column in front of the table's first column of cells.

See Also

Table Members
Table Class


FlowChartPro.Table.OutgoingArrows Property

Table.OutgoingArrows Property
[image]

Gets the collection of arrows that go out from this table.

Syntax

VB6 [image] Copy Code

Public Property Get OutgoingArrows() As IArrows

C++ [image] Copy Code

public:
IArrows* get_OutgoingArrows ()

Property Value

A collection of Arrow objects.

Remarks

Returns a collection of arrows that relate this table to other nodes. Only arrows that connect to the table as a whole entity can be accessed via OutgoingArrows. Arrows that start from a specific row of the table can be accessed via GetRowOutgoingArrows. How end-users are allowed to link arrows to a table is specified through LinkStyle.

See Also

Table Members
Table Class
FlowChartPro Namespace
AllowOutgoingArrows Property
IncomingArrows Property
CreateRelation Method


FlowChartPro.Table.PenStyle Property

Table.PenStyle Property
[image]

Gets or sets the style of the pen used to draw the table frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenStyle() As EPenStyle
Public Property Let PenStyle( _
ByVal value As EPenStyle _
)

C++ [image] Copy Code

public:
EPenStyle get_PenStyle ()
void put_PenStyle (
EPenStyle value
)

Property Value

A member of the EPenStyle enumeration. Initialized with FlowChart.PenStyle.

Remarks

Specifies dash style for the pen used to paint table's frame lines. The following values are currently supported: psSolid, psDash, psDot, psDashDot, psDashDotDot. Non-solid dash styles are ignored by the classic Graphics engine if PenWidth is greater than 1.

See Also

Table Members
Table Class


FlowChartPro.Table.PenWidth Property

Table.PenWidth Property
[image]

Gets or sets the width of the pen used to draw the table frame lines.

Syntax

VB6 [image] Copy Code

Public Property Get PenWidth() As Long
Public Property Let PenWidth( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PenWidth ()
void put_PenWidth (
int value
)

Property Value

A long value. Initialized with FlowChart.PenWidth.

See Also

Table Members
Table Class


FlowChartPro.Table.Picture Property

Table.Picture Property
[image]

Gets or sets the image displayed inside the table.

Syntax

VB6 [image] Copy Code

Public Property Get Picture() As IPictureDisp
Public Property Let Picture( _
ByVal value As IPictureDisp _
)

C++ [image] Copy Code

public:
IPictureDisp* get_Picture ()
void put_Picture (
IPictureDisp* value
)

Property Value

A picture object.

Remarks

Gets or sets the picture painted inside a table. PicturePos specifies how exactly the picture is displayed, e.g. aligned, stretched or tiled.

Nodes can display transparent icons or gif images too. If you are a Visual Basic developer, please note that the VB picture box control and LoadPicture method can load transparent gif images successfully, but in a format that doesn't allow saving their transparency information later. If you need to save diagrams that contain transparent images, use the FlowChartX LoadPicture methods to load these images initially.

See Also

Table Members
Table Class


FlowChartPro.Table.PicturePos Property

Table.PicturePos Property
[image]

Gets or sets the alignment and stretch mode of the table Picture.

Syntax

VB6 [image] Copy Code

Public Property Get PicturePos() As EPicturePos
Public Property Let PicturePos( _
ByVal value As EPicturePos _
)

C++ [image] Copy Code

public:
EPicturePos get_PicturePos ()
void put_PicturePos (
EPicturePos value
)

Property Value

A member of the EPicturePos enumeration. The default is picStretch.

Remarks

Specifies how the table Picture is positioned inside the table. picStretch and picFit make the picture stretched to cover the table area, respectively non-proportionally or proportionally. picTile tiles several copies of the picture over the table. The picCenter value centers the picture inside the table. Other EPicturePos values align the picture to the corresponding table corner or side.

See Also

Table Members
Table Class


FlowChartPro.Table.Printable Property

Table.Printable Property
[image]

Gets or sets a value indicating whether this table is drawn on paper when printing.

Syntax

VB6 [image] Copy Code

Public Property Get Printable() As Boolean
Public Property Let Printable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Printable ()
void put_Printable (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

Specifies whether a table is to be rendered during print or print-preview operations.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.PrintDiagram Method
FlowChart.PreviewDiagram Method


FlowChartPro.Table.Right Property

Table.Right Property
[image]

Gets the X coordinate of the right side of the table's bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Right() As Long

C++ [image] Copy Code

public:
int get_Right ()

Property Value

A long value.

Remarks

Gets the right side of the bounding rectangle of a table measured in document coordinates.

See Also

Table Members
Table Class


FlowChartPro.Table.RowAnchorPattern Property

Table.RowAnchorPattern Property
[image]

Gets or sets the AnchorPattern object defining the points at which arrows can connect to the specified row.

Syntax

VB6 [image] Copy Code

Public Property Get RowAnchorPattern( _
ByVal row As Long _
) As AnchorPattern
Public Property Let RowAnchorPattern( _
ByVal row As Long, _
ByVal value As AnchorPattern _
)

C++ [image] Copy Code

public:
AnchorPattern* get_RowAnchorPattern (
int row
)
void put_RowAnchorPattern (
int row,
AnchorPattern* value
)

Parameters

row
The 0-based index of the row.

Property Value

A reference to an AnchorPattern object.

Remarks

An anchor pattern defines a set of anchor points at which arrows connect with a node. This is an indexed property whose index specified a table's row. If -1 is specified as row's index, the anchor pattern will be assigned to all rows of the table. This property can be used with tables whose LinkStyle is set to tlsRows or tlsBoth. Use the AnchorPattern property to assign an anchor pattern that affects the table as an integral node.

See Also

Table Members
Table Class


FlowChartPro.Table.RowExpanded Property

Table.RowExpanded Property
[image]

Gets or sets a value indicating whether the table section starting from a HeaderRow is expanded.

Syntax

VB6 [image] Copy Code

Public Property Get RowExpanded( _
ByVal row As Long _
) As Boolean
Public Property Let RowExpanded( _
ByVal row As Long, _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_RowExpanded (
int row
)
void put_RowExpanded (
int row,
bool value
)

Parameters

row
The 0-based index of the row.

Property Value

A boolean value. The default is true.

Remarks

This property can be set only if the row is a HeaderRow. Arrows connected to the rows of a collapsed table section appear to be connected to the section header row.

See Also

Table Members
Table Class


FlowChartPro.Table.RowsCount Property

Table.RowsCount Property
[image]

Gets or sets the number of rows in this table.

Syntax

VB6 [image] Copy Code

Public Property Get RowsCount() As Long
Public Property Let RowsCount( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_RowsCount ()
void put_RowsCount (
int value
)

Property Value

A long value. Initialized with FlowChart.TableRowsCount.

Remarks

The number of rows in the table. If you increase or decrease it, rows are added to / removed from the end of the table.

See Also

Table Members
Table Class


FlowChartPro.Table.Scrollable Property

Table.Scrollable Property
[image]

Gets or sets a value indicating whether users are allowed to scroll the table up / down.

Syntax

VB6 [image] Copy Code

Public Property Get Scrollable() As Boolean
Public Property Let Scrollable( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Scrollable ()
void put_Scrollable (
bool value
)

Property Value

A boolean value. Initialized with FlowChart.TablesScrollable.

Remarks

Displays arrow buttons in the table caption area, which can be used to scroll the table rows. The current scroll position can be get or set by the CurrScrollRow property.

See Also

Table Members
Table Class


FlowChartPro.Table.Selected Property

Table.Selected Property
[image]

Gets a value indicating whether the table is selected.

Syntax

VB6 [image] Copy Code

Public Property Get Selected() As Boolean

C++ [image] Copy Code

public:
bool get_Selected ()

Property Value

A boolean value.

Remarks

true if the table is selected, no matter alone or in multiple-selection.

See Also

Table Members
Table Class


FlowChartPro.Table.SelStyle Property

Table.SelStyle Property
[image]

Gets or sets how table selection handles behave and what they look like.

Syntax

VB6 [image] Copy Code

Public Property Get SelStyle() As ESelStyle
Public Property Let SelStyle( _
ByVal value As ESelStyle _
)

C++ [image] Copy Code

public:
ESelStyle get_SelStyle ()
void put_SelStyle (
ESelStyle value
)

Property Value

A member of the ESelStyle enumeration. Initialized with FlowChart.TableSelStyle.

Remarks

Specifies how a selected table is indicated visually. In addition the property defines how manipulation of the table can be done, i.e. how to move it, resize it or link it to other objects. You can choose between the following styles:

  • sstInvisible - the selection is not indicated visually. The table can be resized by dragging its borders and corners. Clicking inside the table's caption area and dragging starts moving the table. Clicking in its interior and dragging starts arrow creation.
  • sstSquareHandles - the selection is indicated by drawing square handles around the table and at its center. The table can be moved or resized by dragging those handles. Clicking inside the table interior and dragging starts arrow creation.
  • sstDashFrame - the selection is indicated by drawing dashed frame around the table. The table can be resized by dragging its borders and corners. Clicking inside the table's caption area and dragging starts moving the table. Clicking in its interior and dragging starts arrow creation.
  • sstHatchFrame - the selection is indicated by drawing hatched frame around the table. The table can be resized by dragging its borders and corners. Clicking inside the table's caption area and dragging starts moving the table. Clicking in its interior and dragging starts arrow creation.
  • sstHatchHandles - the selection is indicated by drawing square handles and hatched frame around the table. The table can be resized by dragging those handles, and moved by dragging the frame. Clicking inside the table interior starts arrow creation.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.TableSelStyle Property


FlowChartPro.Table.ShadowOffsetX Property

Table.ShadowOffsetX Property
[image]

Gets or sets the horizontal offset of a shadow from the table that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetX() As Long
Public Property Let ShadowOffsetX( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetX ()
void put_ShadowOffsetX (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetX.

Remarks

Sets horizontal offset of the table shadow in relation to the table.

See Also

Table Members
Table Class


FlowChartPro.Table.ShadowOffsetY Property

Table.ShadowOffsetY Property
[image]

Gets or sets the vertical offset of a shadow from the table that casts it.

Syntax

VB6 [image] Copy Code

Public Property Get ShadowOffsetY() As Long
Public Property Let ShadowOffsetY( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ShadowOffsetY ()
void put_ShadowOffsetY (
int value
)

Property Value

A long value. Initialized with FlowChart.ShadowOffsetY.

Remarks

Sets vertical offset of the table shadow in relation to the table.

See Also

Table Members
Table Class


FlowChartPro.Table.Style Property

Table.Style Property
[image]

Gets or sets the shape of the table outlines.

Syntax

VB6 [image] Copy Code

Public Property Get Style() As ETableStyle
Public Property Let Style( _
ByVal value As ETableStyle _
)

C++ [image] Copy Code

public:
ETableStyle get_Style ()
void put_Style (
ETableStyle value
)

Property Value

A member of the ETableStyle enumeration. Initialized with FlowChart.TableStyle.

Remarks

Specifies the shape of the table's outline. The available styles are listed below:

tsRect | The table has a rectangular shape.
tsRoundRect | The table's shape is a rounded-rectangle.

See Also

Table Members
Table Class


FlowChartPro.Table.SubordinateGroup Property

Table.SubordinateGroup Property
[image]

Gets a reference to the group of objects that are attached to this table.

Syntax

VB6 [image] Copy Code

Public Property Get SubordinateGroup() As Group

C++ [image] Copy Code

public:
Group* get_SubordinateGroup ()

Property Value

A reference to a Group object.

Remarks

Holds a reference to the group of which this table is the main object. The property equals to null (Nothing in Visual Basic) if there is no group attached to the table.

See Also

Table Members
Table Class


FlowChartPro.Table.Tag Property

Table.Tag Property
[image]

Gets or sets a custom integer value associated with this table.

Syntax

VB6 [image] Copy Code

Public Property Get Tag() As Long
Public Property Let Tag( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Tag ()
void put_Tag (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data and is not used by FlowChartX in any way. Possible usage includes storing some integer identifier or a pointer to a larger structure.

See Also

Table Members
Table Class


FlowChartPro.Table.ToolTip Property

Table.ToolTip Property
[image]

Gets or sets a short text message displayed when the mouse pointer rests over this table.

Syntax

VB6 [image] Copy Code

Public Property Get ToolTip() As String
Public Property Let ToolTip( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_ToolTip ()
void put_ToolTip (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

Defines the text displayed as a tool-tip when the mouse pointer stays for a while over a table. To get multi-lined tool-tips, specify a string containing standard EOL line dividers.

See Also

Table Members
Table Class
FlowChartPro Namespace
FlowChart.ToolTipDelay Property
FlowChart.ShowToolTips Property


FlowChartPro.Table.Top Property

Table.Top Property
[image]

Returns the Y coordinate of the top side of the table bounding rectangle.

Syntax

VB6 [image] Copy Code

Public Property Get Top() As Long

C++ [image] Copy Code

public:
int get_Top ()

Property Value

A long value.

Remarks

Gets the top side of the bounding rectangle of a table measured in document coordinates.

See Also

Table Members
Table Class


FlowChartPro.Table.UserData Property

Table.UserData Property
[image]

Gets or sets a custom integer value associated with this table.

Syntax

VB6 [image] Copy Code

Public Property Get UserData() As Long
Public Property Let UserData( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_UserData ()
void put_UserData (
int value
)

Property Value

A long value. The default is 0.

Remarks

Holds user-defined data that is not used by FlowChartX in any way. Possible usage includes storing some integer identifier or a pointer to a larger structure.

See Also

Table Members
Table Class


FlowChartPro.Table.UserString Property

Table.UserString Property
[image]

Gets or sets a custom string value associated with this table.

Syntax

VB6 [image] Copy Code

Public Property Get UserString() As String
Public Property Let UserString( _
ByVal value As String _
)

C++ [image] Copy Code

public:
BSTR get_UserString ()
void put_UserString (
BSTR value
)

Property Value

A string value. The default is an empty string.

Remarks

User-defined string that is not used by FlowChartX in any way. Possible usage includes storing a string identifier or a hidden text associated with the table.

See Also

Table Members
Table Class


FlowChartPro.Table.VariantTag Property

Table.VariantTag Property
[image]

Gets or sets a custom OLE VARIANT value associated with this table.

Syntax

VB6 [image] Copy Code

Public Property Get VariantTag() As Object
Public Property Let VariantTag( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_VariantTag ()
void put_VariantTag (
IDispatch* value
)

Property Value

A COM VARIANT structure.

Remarks

Contains user defined data that can be represented with a VARIANT structure. The property is serialized when saving files if its value is of a simple or string type, if it refers to a COM object that implements the IPersistStreamInit interface, or if it refers to a safe-array of VARIANTs.

See Also

Table Members
Table Class
FlowChartPro Namespace
Tag Property
CellVariantTag Property


FlowChartPro.Table.Visible Property

Table.Visible Property
[image]

Gets or sets a value indicating whether this table is visible.

Syntax

VB6 [image] Copy Code

Public Property Get Visible() As Boolean
Public Property Let Visible( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Visible ()
void put_Visible (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

A table can be made completely invisible by assigning false to this property. The ToolTip of an invisible table is not displayed.

See Also

Table Members
Table Class


FlowChartPro.Table.Weight Property

Table.Weight Property
[image]

Gets or sets a weight value used in layout and path-finding algorithms.

Syntax

VB6 [image] Copy Code

Public Property Get Weight() As Single
Public Property Let Weight( _
ByVal value As Single _
)

C++ [image] Copy Code

public:
float get_Weight ()
void put_Weight (
float value
)

Property Value

A float value specifying the weight of this item. The default value is 1.

Remarks

Currently node weights are used in the implementation of TreeMapLayout, where the ratio of node areas corresponds to the ratio of their weights.

See Also

Table Members
Table Class


FlowChartPro.Table.ZIndex Property

Table.ZIndex Property
[image]

Gets or sets the position of this table in the Z order.

Syntax

VB6 [image] Copy Code

Public Property Get ZIndex() As Long
Public Property Let ZIndex( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ZIndex ()
void put_ZIndex (
int value
)

Property Value

A long value.

Remarks

Holds the index of an item in the Z order. Its value can vary from 0 to 'number of objects in the document – 1'.

See Also

Table Members
Table Class


FlowChartPro.TreeLayout Class

TreeLayout Class
Remarks See Also
[image]

Implements algorithms for arranging tree structures.

Syntax

C# [image] Copy Code

public class TreeLayout : __ComObject, ITreeLayout, TreeLayout

Visual Basic [image] Copy Code

Public Class TreeLayout
Inherits __ComObject
Implements ITreeLayout, TreeLayout

VB6 [image] Copy Code

Public Class TreeLayout

C++ [image] Copy Code

class TreeLayout

Remarks

To apply a tree layout to the flowchart, create a TreeLayout instance, set its members and pass it to the ArrangeDiagram method. Set the Type property of a TreeLayout instance to select which tree layout algorithm to run.

As long as the underlying graph is a tree, the algorithm can find the root node automatically. You can override it by setting the Root property, e.g. in order to arrange only a selected branch of the tree. The distance between the root and the second level and between all subsequent levels can be set through the LevelSpacing property. The distance between adjacent nodes in the same level is set through NodeSpacing.

In addition to arranging the tree nodes, TreeLayout also sets the shape of links as set through its ArrowStyle property. Anchoring specifies whether the links should be attached to the anchor points of tree nodes. Note that links that are not part of the tree are ignored, e.g. graph links that go in opposite direction of the general parent-to-child flow or cross-links that connect different tree branches. The tree layout algorithm produces best results if it can place link ends at arbitrary positions over nodes' outlines, that is, when using the ancIgnore value. If your application logic requires links to be always attached to anchor points, use the other two values. In such cases ancReassign would yield better results. You can post-process such links after calling ArrangeDiagram, for example by setting their ControlPoints coordinates or by calling their Route method.

By default, the order of child nodes arranged under a parent corresponds to the order of links in the parent's OutgoingArrows collection. Set the PreserveOrder property to keep the original geometric order of child nodes when arranging them under their parent. This can be used to arrange tree branches in a specific order by first placing them in increasing horizontal or vertical positions. Another possibility is to apply TreeLayout from ObjectModified handler to let users rearrange the tree branches by dragging and dropping a node.

See Also

TreeLayout Members
FlowChartPro Namespace
FractalLayout Class


FlowChartPro.TreeLayout Members

TreeLayout Members
Constructors Properties
[image]

Implements algorithms for arranging tree structures.

The following tables list the members exposed by the TreeLayout type.

Public Constructors

Name | Description
TreeLayout | Initializes a new instance of the TreeLayout class.

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
ArrowStyle | Gets or sets the style to apply to the arrows in the tree.
BorderGap | Gets or sets how much space to leave between outmost nodes and the document bounds as set via SetDocSize.
Direction | Gets or sets the tree layout direction.
KeepGroupLayout | Gets or sets a value indicating whether groups in the diagram should be treated as single nodes when arranging the tree.
KeepRootPos | Gets or sets a value indicating whether the layout algorithm should keep the root node at its original position.
LevelSpacing | Gets or sets how much space to leave between adjacent levels of the tree.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeSpacing | Specifies how much space to leave between adjacent nodes on the same level of the tree.
PreserveOrder | Gets or sets a value indicating whether to keep the original geometric order of child nodes when arranging them under their parent.
ReversedArrows | Gets or sets a value indicating whether to use the direction in which arrows flow as the one relating parents to children.
Root | Gets or sets which sub-graph of the diagram should be laid out.
Symmetric | Gets or sets a value indicating whether tree nodes should be distributed along the two sides of the root.
Type | Gets or sets the type of the tree layout.

See Also

TreeLayout Class


FlowChartPro.TreeLayout Constructor

TreeLayout Constructor
[image]

Initializes a new instance of the TreeLayout class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
TreeLayout ()

See Also

TreeLayout Class


FlowChartPro.TreeLayout Properties

TreeLayout Properties
[image]

Public Properties

Name | Description
ArrowAnchoring | Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.
ArrowStyle | Gets or sets the style to apply to the arrows in the tree.
BorderGap | Gets or sets how much space to leave between outmost nodes and the document bounds as set via SetDocSize.
Direction | Gets or sets the tree layout direction.
KeepGroupLayout | Gets or sets a value indicating whether groups in the diagram should be treated as single nodes when arranging the tree.
KeepRootPos | Gets or sets a value indicating whether the layout algorithm should keep the root node at its original position.
LevelSpacing | Gets or sets how much space to leave between adjacent levels of the tree.
MultipleGraphsPlacement | Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.
NodeSpacing | Specifies how much space to leave between adjacent nodes on the same level of the tree.
PreserveOrder | Gets or sets a value indicating whether to keep the original geometric order of child nodes when arranging them under their parent.
ReversedArrows | Gets or sets a value indicating whether to use the direction in which arrows flow as the one relating parents to children.
Root | Gets or sets which sub-graph of the diagram should be laid out.
Symmetric | Gets or sets a value indicating whether tree nodes should be distributed along the two sides of the root.
Type | Gets or sets the type of the tree layout.

See Also

TreeLayout Class


FlowChartPro.TreeLayout.ArrowAnchoring Property

TreeLayout.ArrowAnchoring Property
[image]

Gets or sets a value indicating whether and how arrows should be aligned to nodes' anchor points.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowAnchoring() As EAnchoring
Public Property Let ArrowAnchoring( _
ByVal value As EAnchoring _
)

C++ [image] Copy Code

public:
EAnchoring get_ArrowAnchoring ()
void put_ArrowAnchoring (
EAnchoring value
)

Property Value

A member of the EAnchoring enumeration. The default is ancIgnore.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.ArrowStyle Property

TreeLayout.ArrowStyle Property
[image]

Gets or sets the style to apply to the arrows in the tree.

Syntax

VB6 [image] Copy Code

Public Property Get ArrowStyle() As ETreeLayoutArrows
Public Property Let ArrowStyle( _
ByVal value As ETreeLayoutArrows _
)

C++ [image] Copy Code

public:
ETreeLayoutArrows get_ArrowStyle ()
void put_ArrowStyle (
ETreeLayoutArrows value
)

Property Value

A member of the ETreeLayoutArrows enumeration. The default is tlaStraight.

Remarks

Possible values are tlaStraight / tlaPerpendicular2 / tlaPerpendicular3 / tlaRounded. tlaPerpendicular2 cannot be used with tree layout Type set to tltCentralized.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.BorderGap Property

TreeLayout.BorderGap Property
[image]

Gets or sets how much space to leave between outmost nodes and the document bounds as set via SetDocSize.

Syntax

VB6 [image] Copy Code

Public Property Get BorderGap() As Long
Public Property Let BorderGap( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_BorderGap ()
void put_BorderGap (
int value
)

Property Value

A long value. The default is 15.

Remarks

The value of this property is ignored if KeepRootPos is enabled.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.Direction Property

TreeLayout.Direction Property
[image]

Gets or sets the tree layout direction.

Syntax

VB6 [image] Copy Code

Public Property Get Direction() As ETreeLayoutDirection
Public Property Let Direction( _
ByVal value As ETreeLayoutDirection _
)

C++ [image] Copy Code

public:
ETreeLayoutDirection get_Direction ()
void put_Direction (
ETreeLayoutDirection value
)

Property Value

A member of the ETreeLayoutDirection enumeration. The default is tldTopToBottom.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.KeepGroupLayout Property

TreeLayout.KeepGroupLayout Property
[image]

Gets or sets a value indicating whether groups in the diagram should be treated as single nodes when arranging the tree.

Syntax

VB6 [image] Copy Code

Public Property Get KeepGroupLayout() As Boolean
Public Property Let KeepGroupLayout( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_KeepGroupLayout ()
void put_KeepGroupLayout (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Relative positions of the grouped items won't be changed, but the group as a whole will be moved to produce a better layout.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.KeepRootPos Property

TreeLayout.KeepRootPos Property
[image]

Gets or sets a value indicating whether the layout algorithm should keep the root node at its original position.

Syntax

VB6 [image] Copy Code

Public Property Get KeepRootPos() As Boolean
Public Property Let KeepRootPos( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_KeepRootPos ()
void put_KeepRootPos (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

If enabled, all other nodes will be arranged around that position; otherwise all nodes, including the root, are arranged around the document origin.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.LevelSpacing Property

TreeLayout.LevelSpacing Property
[image]

Gets or sets how much space to leave between adjacent levels of the tree.

Syntax

VB6 [image] Copy Code

Public Property Get LevelSpacing() As Long
Public Property Let LevelSpacing( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_LevelSpacing ()
void put_LevelSpacing (
int value
)

Property Value

A long value. The default is 40.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.MultipleGraphsPlacement Property

TreeLayout.MultipleGraphsPlacement Property
[image]

Gets or sets a value indicating how multiple independent graphs in the diagram should be positioned relatively to each other.

Syntax

VB6 [image] Copy Code

Public Property Get MultipleGraphsPlacement() As EMultipleGraphsPlacement
Public Property Let MultipleGraphsPlacement( _
ByVal value As EMultipleGraphsPlacement _
)

C++ [image] Copy Code

public:
EMultipleGraphsPlacement get_MultipleGraphsPlacement ()
void put_MultipleGraphsPlacement (
EMultipleGraphsPlacement value
)

Property Value

A member of the EMultipleGraphsPlacement enumeration. The default value is mgpHorizontal.

Remarks

If the diagram contains several unconnected subgraphs, each of them is processed by the algorithm independently from the others. This property specifies how such subgraphs should be placed one relatively to another. The possible options are to arrange them in a row, in a column, or in such a way that the diagram covers a minimal area.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.NodeSpacing Property

TreeLayout.NodeSpacing Property
[image]

Specifies how much space to leave between adjacent nodes on the same level of the tree.

Syntax

VB6 [image] Copy Code

Public Property Get NodeSpacing() As Long
Public Property Let NodeSpacing( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_NodeSpacing ()
void put_NodeSpacing (
int value
)

Property Value

A long value. The default is 30.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.PreserveOrder Property

TreeLayout.PreserveOrder Property
[image]

Gets or sets a value indicating whether to keep the original geometric order of child nodes when arranging them under their parent.

Syntax

VB6 [image] Copy Code

Public Property Get PreserveOrder() As Boolean
Public Property Let PreserveOrder( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_PreserveOrder ()
void put_PreserveOrder (
bool value
)

Property Value

true to preserve order of child nodes, otherwise false. The default value is false.

Remarks

If this property is not set, the order of child nodes corresponds to the order of arrows within the parent's OutgoingArrows collection.

See Also

TreeLayout Members
TreeLayout Class
FlowChartPro Namespace
ReversedArrows Property


FlowChartPro.TreeLayout.ReversedArrows Property

TreeLayout.ReversedArrows Property
[image]

Gets or sets a value indicating whether to use the direction in which arrows flow as the one relating parents to children.

Syntax

VB6 [image] Copy Code

Public Property Get ReversedArrows() As Boolean
Public Property Let ReversedArrows( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ReversedArrows ()
void put_ReversedArrows (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

The default is to use arrow origin nodes as parents in the tree and destination nodes as children.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.Root Property

TreeLayout.Root Property
[image]

Gets or sets which sub-graph of the diagram should be laid out.

Syntax

VB6 [image] Copy Code

Public Property Get Root() As Object
Public Property Let Root( _
ByVal value As Object _
)

C++ [image] Copy Code

public:
IDispatch* get_Root ()
void put_Root (
IDispatch* value
)

Property Value

A reference to a node. The default is null (Nothing in Visual Basic).

Remarks

If not set, the layout will try to guess the root node automatically, based on the diagram structure and value of ReversedArrows.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.Symmetric Property

TreeLayout.Symmetric Property
[image]

Gets or sets a value indicating whether tree nodes should be distributed along the two sides of the root.

Syntax

VB6 [image] Copy Code

Public Property Get Symmetric() As Boolean
Public Property Let Symmetric( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Symmetric ()
void put_Symmetric (
bool value
)

Property Value

A boolean value. The default is false.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeLayout.Type Property

TreeLayout.Type Property
[image]

Gets or sets the type of the tree layout.

Syntax

VB6 [image] Copy Code

Public Property Get Type() As ETreeLayoutType
Public Property Let Type( _
ByVal value As ETreeLayoutType _
)

C++ [image] Copy Code

public:
ETreeLayoutType get_Type ()
void put_Type (
ETreeLayoutType value
)

Property Value

A member of the ETreeLayoutType enumeration. The default is tltCentralized.

See Also

TreeLayout Members
TreeLayout Class


FlowChartPro.TreeMapLayout Class

TreeMapLayout Class
Remarks See Also
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a tree map layout algorithm.

Syntax

VB6 [image] Copy Code

Public Class TreeMapLayout

C++ [image] Copy Code

class TreeMapLayout

Remarks

Tree maps represent hierarchies by nesting child nodes within their parents, where the areas of leaf nodes are proportional to their Weight values. Unlike other layout algorithms, TreeMapLayout expects hierarchies to be defined via grouping or containment (see AttachTo method and bsContainer nodes), and will ignore any links in the diagram.

The diagram area covered by the topmost nodes in a hierarchy is specified via the LayoutArea property. By default, the layout tries to keep the ratio of node sides as close as possible to one. However this could make it hard to distinguish separate levels of the hierarchy. To alleviate that, set Squarify to false, and child nodes will be arranged either as a row or a column inside their parent node, alternating directions for each level. The drawback is that when Weight ratios differ greatly or nodes contain many children, some nodes could end up with very narrow rectangles.

The padding size between parent nodes and their outermost children is specified via the ContainerPadding property. The padding size between child nodes is specified via Padding.

See Also

TreeMapLayout Members


FlowChartPro.TreeMapLayout Members

TreeMapLayout Members
Constructors Properties Methods
[image]

( [image] a feature of FlowChartX Pro edition)

Implements a tree map layout algorithm.

The following tables list the members exposed by the TreeMapLayout type.

Public Constructors

Name | Description
TreeMapLayout | Initializes a new instance of the TreeMapLayout class with the default settings.

Public Properties

Name | Description
CaptionHeight | Specifies how much space to leave for container captions.
ContainerPadding | Gets or sets the padding inside containers.
Orientation | Gets or sets the orientation of the arranged diagram.
Padding | Gets or sets the distance between adjacent nodes.
Squarify | Gets or sets a value indicating whether the layout should attempt to keep the dimension ratio of the nodes closer to 1.

Public Methods

Name | Description
SetLayoutArea | Sets the rectangle in which the layout will try to arrange the nodes.

See Also

TreeMapLayout Class


FlowChartPro.TreeMapLayout Constructor

TreeMapLayout Constructor
[image]

Initializes a new instance of the TreeMapLayout class with the default settings.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
TreeMapLayout ()

See Also

TreeMapLayout Class


FlowChartPro.TreeMapLayout Methods

TreeMapLayout Methods
[image]

Public Methods

Name | Description
SetLayoutArea | Sets the rectangle in which the layout will try to arrange the nodes.

See Also

TreeMapLayout Class


FlowChartPro.TreeMapLayout.SetLayoutArea Method

TreeMapLayout.SetLayoutArea Method
[image]

Sets the rectangle in which the layout will try to arrange the nodes.

Syntax

VB6 [image] Copy Code

Public Sub SetLayoutArea( _
ByVal left As Long, _
ByVal top As Long, _
ByVal right As Long, _
ByVal bottom As Long _
)

C++ [image] Copy Code

public:
void SetLayoutArea (
int left,
int top,
int right,
int bottom
)

Parameters

left

Coordinate of the left edge of layout rectangle.

top

Coordinate of the top edge of layout rectangle.

right

Coordinate of the right edge of layout rectangle.

bottom

Coordinate of the bottom edge of layout rectangle.

Remarks

If this property is not set, the algorithm uses the value of diagram's bounding rectangle as target layout rectangle.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.TreeMapLayout Properties

TreeMapLayout Properties
[image]

Public Properties

Name | Description
CaptionHeight | Specifies how much space to leave for container captions.
ContainerPadding | Gets or sets the padding inside containers.
Orientation | Gets or sets the orientation of the arranged diagram.
Padding | Gets or sets the distance between adjacent nodes.
Squarify | Gets or sets a value indicating whether the layout should attempt to keep the dimension ratio of the nodes closer to 1.

See Also

TreeMapLayout Class


FlowChartPro.TreeMapLayout.CaptionHeight Property

TreeMapLayout.CaptionHeight Property
[image]

Specifies how much space to leave for container captions.

Syntax

VB6 [image] Copy Code

Public Property Get CaptionHeight() As Long
Public Property Let CaptionHeight( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_CaptionHeight ()
void put_CaptionHeight (
int value
)

Property Value

An integer specifying the height of container caption-bars. The default value is 0.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.TreeMapLayout.ContainerPadding Property

TreeMapLayout.ContainerPadding Property
[image]

Gets or sets the padding inside containers.

Syntax

VB6 [image] Copy Code

Public Property Get ContainerPadding() As Long
Public Property Let ContainerPadding( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_ContainerPadding ()
void put_ContainerPadding (
int value
)

Property Value

A float value specifying the padding size between parent nodes and their outermost children. The default value is 0.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.TreeMapLayout.Orientation Property

TreeMapLayout.Orientation Property
[image]

Gets or sets the orientation of the arranged diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Orientation() As EOrientation
Public Property Let Orientation( _
ByVal value As EOrientation _
)

C++ [image] Copy Code

public:
EOrientation get_Orientation ()
void put_Orientation (
EOrientation value
)

Property Value

A member of the EOrientation enumeration. The default value is orVertical.

Remarks

This value is used only when Squarify is set to false, and specifies the orientation of the topmost level of the hierarchy. The algorithm alternates the orientation of each subsequent level, arranging its nodes either in rows or columns.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.TreeMapLayout.Padding Property

TreeMapLayout.Padding Property
[image]

Gets or sets the distance between adjacent nodes.

Syntax

VB6 [image] Copy Code

Public Property Get Padding() As Long
Public Property Let Padding( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_Padding ()
void put_Padding (
int value
)

Property Value

A float value specifying the padding size between sibling nodes. The default value is 1.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.TreeMapLayout.Squarify Property

TreeMapLayout.Squarify Property
[image]

Gets or sets a value indicating whether the layout should attempt to keep the dimension ratio of the nodes closer to 1.

Syntax

VB6 [image] Copy Code

Public Property Get Squarify() As Boolean
Public Property Let Squarify( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_Squarify ()
void put_Squarify (
bool value
)

Property Value

true to keep the ratio of node sides as close as possible to one, or false otherwise. The default value is true.

Remarks

If set to false, each level of the hierarchy is arranged in rows or columns with same height/width, which might create very narrow rectangles when Weight values differ greatly or nodes have many children. The alternating orientation between levels however helps to distinguish between different levels in the hierarchy. The initial direction of nodes (in topmost level) depends on the value of Orientation.

See Also

TreeMapLayout Members
TreeMapLayout Class


FlowChartPro.VisioExporter Class

VisioExporter Class
Remarks See Also
[image]

Exports FlowChartX diagrams to Visio 2003 XML Drawing files (VDX).

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Class VisioExporter

C++ [image] Copy Code

class VisioExporter

Remarks

This component allows exporting Visio 2003 XML Drawing files (*.vdx) from FlowChartX. The FlowChartX Box objects are mapped to their closest Visio counterparts and Table objects are exported as groups of Visio shapes. FlowChartX Arrow instances are exported as Visio connectors of a similar style. In addition, most of the attributes of diagram items such as text, text formatting, fill and line colors and styles are preserved.

To function properly, the exporter object requires the 'FcxVisioExport.vxt' file to be present either in the current directory, or in application executable's directory. This file contains an XML template data used by the component to construct Visio documents.

In order to create a Vision drawing from a FlowChartX diagram, create a VisioExporter instance and call its Export method, passing a FlowChart object as parameter.

See Also

VisioExporter Members


FlowChartPro.VisioExporter Members

VisioExporter Members
Constructors Properties Methods
[image]

Exports FlowChartX diagrams to Visio 2003 XML Drawing files (VDX).

( [image] a feature of FlowChartX Pro edition)

The following tables list the members exposed by the VisioExporter type.

Public Constructors

Name | Description
VisioExporter | Initializes a new instance of the VisioExporter class. ( [image] a feature of FlowChartX Pro edition)

Public Properties

Name | Description
CreateVisioGroups | Specifies whether Visio groups are created from the FlowChartX groups. ( [image] a feature of FlowChartX Pro edition)
ExportImagesAsGroups | Specifies whether a box that contains an image should be exported as a Visio group of a shape, picture and text objects. ( [image] a feature of FlowChartX Pro edition)
ExportTablesAsGroups | Specifies whether FlowChartX tables should be exported as groups of Visio rectangular shapes. ( [image] a feature of FlowChartX Pro edition)
SkipClippedTableCells | ( [image] a feature of FlowChartX Pro edition)

Public Methods

Name | Description
Export | Creates a Visio VDX representing the specified FlowChartX diagram. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioExporter Class


FlowChartPro.VisioExporter Constructor

VisioExporter Constructor
[image]

Initializes a new instance of the VisioExporter class.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
VisioExporter ()

See Also

VisioExporter Class


FlowChartPro.VisioExporter Methods

VisioExporter Methods
[image]

Public Methods

Name | Description
Export | Creates a Visio VDX representing the specified FlowChartX diagram. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioExporter Class


FlowChartPro.VisioExporter.Export Method

VisioExporter.Export Method
[image]

Creates a Visio VDX representing the specified FlowChartX diagram.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Function Export( _
ByVal flowChartDoc As Object, _
ByVal vdxPathName As String _
) As Object

C++ [image] Copy Code

public:
IDispatch* Export (
IDispatch* flowChartDoc,
BSTR vdxPathName
)

Parameters

flowChartDoc
A reference to the FlowChart to be exported.
vdxPathName
A full path to the Visio VDX file.

Return Value

Remarks

The exported document contains a single page, as big as the FlowChartX scrollable diagram area. The Visio page dimension and items size measure unit is set to inch.

See Also

VisioExporter Members
VisioExporter Class


FlowChartPro.VisioExporter Properties

VisioExporter Properties
[image]

Public Properties

Name | Description
CreateVisioGroups | Specifies whether Visio groups are created from the FlowChartX groups. ( [image] a feature of FlowChartX Pro edition)
ExportImagesAsGroups | Specifies whether a box that contains an image should be exported as a Visio group of a shape, picture and text objects. ( [image] a feature of FlowChartX Pro edition)
ExportTablesAsGroups | Specifies whether FlowChartX tables should be exported as groups of Visio rectangular shapes. ( [image] a feature of FlowChartX Pro edition)
SkipClippedTableCells | ( [image] a feature of FlowChartX Pro edition)

See Also

VisioExporter Class


FlowChartPro.VisioExporter.CreateVisioGroups Property

VisioExporter.CreateVisioGroups Property
[image]

Specifies whether Visio groups are created from the FlowChartX groups.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get CreateVisioGroups() As Boolean
Public Property Let CreateVisioGroups( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_CreateVisioGroups ()
void put_CreateVisioGroups (
bool value
)

Property Value

A boolean value. The default is true.

Remarks

It is not always possible to create a Visio group corresponding to a FlowChartX one. If the structure of your diagram seems incorrect when imported in Visio, disable this property.

See Also

VisioExporter Members
VisioExporter Class


FlowChartPro.VisioExporter.ExportImagesAsGroups Property

VisioExporter.ExportImagesAsGroups Property
[image]

Specifies whether a box that contains an image should be exported as a Visio group of a shape, picture and text objects.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get ExportImagesAsGroups() As Boolean
Public Property Let ExportImagesAsGroups( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ExportImagesAsGroups ()
void put_ExportImagesAsGroups (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Visio shapes cannot contain images inside them, and by default a FlowChartX box that contains an image s exported as a Visio Picture object. Unfortunately that leads to losing the box shape and the image alignment. Setting this property to true lets you export a box with an image as a group of several Visio objects that will preserve the appearance of the original FlowChartX box as closely as possible.

See Also

VisioExporter Members
VisioExporter Class


FlowChartPro.VisioExporter.ExportTablesAsGroups Property

VisioExporter.ExportTablesAsGroups Property
[image]

Specifies whether FlowChartX tables should be exported as groups of Visio rectangular shapes.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get ExportTablesAsGroups() As Boolean
Public Property Let ExportTablesAsGroups( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ExportTablesAsGroups ()
void put_ExportTablesAsGroups (
bool value
)

Property Value

A boolean value. The default is false.

Remarks

Visio table entities cannot display cells in multiple columns. If your FlowChartX diagrams contains tables having more than two columns, consider enabling this property. If it is set to true, VisioExporter creates a rectangular shape for each cell, and group the cells of each table into a Visio compound shape corresponding to the table.

See Also

VisioExporter Members
VisioExporter Class


FlowChartPro.VisioExporter.SkipClippedTableCells Property

VisioExporter.SkipClippedTableCells Property
[image]

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get SkipClippedTableCells() As Boolean
Public Property Let SkipClippedTableCells( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_SkipClippedTableCells ()
void put_SkipClippedTableCells (
bool value
)

Property Value

See Also

VisioExporter Members
VisioExporter Class


FlowChartPro.VisioImporter Class

VisioImporter Class
Remarks See Also
[image]

Imports Visio 2003 XML Drawing files (VDX) into FlowChartX.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Class VisioImporter

C++ [image] Copy Code

class VisioImporter

Remarks

The component allows importing Visio 2003 XML Drawing files (*.vdx) into FlowChartX. The standard Visio flowchart shapes, as well as most of the UML and Database entity shapes are imported to their closest representation in FlowChartX. The Visio connectors are imported as FlowChartX Arrow objects, preserving the relationship between the connected nodes. In addition, most of the attributes of Visio objects such as text, text formatting, fill and line colors and styles are preserved. The component raises an event for each imported box to let you set the box' shape if it is not recognized by FlowChartX or if you need to set a different shape.

To determine how many pages are there in the Visio document and import only a single page, create a VisioImporter instance and call the GetPageCount and ImportPage methods. All pages of a Visio diagram can be imported at once by calling the ImportAllPages method, which lays out the pages as set in PagesPerRow.

See Also

VisioImporter Members


FlowChartPro.VisioImporter Members

VisioImporter Members
Constructors Properties Methods Events
[image]

Imports Visio 2003 XML Drawing files (VDX) into FlowChartX.

( [image] a feature of FlowChartX Pro edition)

The following tables list the members exposed by the VisioImporter type.

Public Constructors

Name | Description
VisioImporter | Initializes a new instance of the VisioImporter class. ( [image] a feature of FlowChartX Pro edition)

Public Properties

Name | Description
ImportEntitiesAsTables | Gets or sets a value indicating whether Visio UML and DB entities are imported as FlowChartX tables. ( [image] a feature of FlowChartX Pro edition)
OffsetByTopMost | ( [image] a feature of FlowChartX Pro edition)
PagesPerRow | Gets or sets how many Visio pages to import on a row before offsetting the import location vertically. ( [image] a feature of FlowChartX Pro edition)

Public Methods

Name | Description
GetPageCount | Determines how many pages are there in a Visio diagram. ( [image] a feature of FlowChartX Pro edition)
ImportAllPages | Imports all pages from the specified Visio document. ( [image] a feature of FlowChartX Pro edition)
ImportPage | Imports a single page from the specified Visio document. ( [image] a feature of FlowChartX Pro edition)

Public Events

Name | Description
ArrowImported | Raised when a Visio connector is imported as a FlowChartX link. ( [image] a feature of FlowChartX Pro edition)
BoxImported | Raised when a Visio shape is imported into FlowChartX as a Box. ( [image] a feature of FlowChartX Pro edition)
GroupImported | Raised when a Visio group is imported as a FlowChartX group. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioImporter Class


FlowChartPro.VisioImporter Constructor

VisioImporter Constructor
[image]

Initializes a new instance of the VisioImporter class.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
VisioImporter ()

See Also

VisioImporter Class


FlowChartPro.VisioImporter Methods

VisioImporter Methods
[image]

Public Methods

Name | Description
GetPageCount | Determines how many pages are there in a Visio diagram. ( [image] a feature of FlowChartX Pro edition)
ImportAllPages | Imports all pages from the specified Visio document. ( [image] a feature of FlowChartX Pro edition)
ImportPage | Imports a single page from the specified Visio document. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioImporter Class


FlowChartPro.VisioImporter.GetPageCount Method

VisioImporter.GetPageCount Method
[image]

Determines how many pages are there in a Visio diagram.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Function GetPageCount( _
ByVal vdxPathName As String _
) As Long

C++ [image] Copy Code

public:
int GetPageCount (
BSTR vdxPathName
)

Parameters

vdxPathName

A full path to the Visio VDX file.

Return Value

An integer value specifying the number of pages in the Visio diagram.

Remarks

Use this method to determine the valid range of pages for ImportPage.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.ImportAllPages Method

VisioImporter.ImportAllPages Method
[image]

Imports all pages from the specified Visio document.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Function ImportAllPages( _
ByVal vdxPathName As String, _
ByVal flowChartDoc As Object _
) As Object

C++ [image] Copy Code

public:
IDispatch* ImportAllPages (
BSTR vdxPathName,
IDispatch* flowChartDoc
)

Parameters

vdxPathName

A full path to the Visio VDX file.

flowChartDoc

Reference to the diagram where the Visio drawing is imported.

Return Value

Remarks

The pages are imported starting from the top-left point of the diagram area. The current import location is moved one page-width to the right with each new page imported, until PagesPerRow pages are imported on the same y-coordinate. When that happens, the current location moves to the left-most x-coordinate and one page-height down. If there are more pages to import, the process continues as above.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.ImportPage Method

VisioImporter.ImportPage Method
[image]

Imports a single page from the specified Visio document.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Function ImportPage( _
ByVal vdxPathName As String, _
ByVal flowChartDoc As Object, _
ByVal PageIndex As Long _
) As Object

C++ [image] Copy Code

public:
IDispatch* ImportPage (
BSTR vdxPathName,
IDispatch* flowChartDoc,
int PageIndex
)

Parameters

vdxPathName

A full path to the Visio VDX file.

flowChartDoc

Reference to the FlowChart document into which the Visio data is imported.

PageIndex

Specifies which page of the Visio document to import.

Return Value

Remarks

The page index is zero based. Use GetPageCount to determine how many pages are there in the Visio diagram.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter Properties

VisioImporter Properties
[image]

Public Properties

Name | Description
ImportEntitiesAsTables | Gets or sets a value indicating whether Visio UML and DB entities are imported as FlowChartX tables. ( [image] a feature of FlowChartX Pro edition)
OffsetByTopMost | ( [image] a feature of FlowChartX Pro edition)
PagesPerRow | Gets or sets how many Visio pages to import on a row before offsetting the import location vertically. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioImporter Class


FlowChartPro.VisioImporter.ImportEntitiesAsTables Property

VisioImporter.ImportEntitiesAsTables Property
[image]

Gets or sets a value indicating whether Visio UML and DB entities are imported as FlowChartX tables.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get ImportEntitiesAsTables() As Boolean
Public Property Let ImportEntitiesAsTables( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_ImportEntitiesAsTables ()
void put_ImportEntitiesAsTables (
bool value
)

Property Value

true to import Visio entity nodes as tables; otherwise, false. The default is false.

Remarks

If this property is disabled, Visio entity objects are imported as FlowChartX groups of rectangular nodes; if it is enabled, entities are imported as tables.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.OffsetByTopMost Property

VisioImporter.OffsetByTopMost Property
[image]

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get OffsetByTopMost() As Boolean
Public Property Let OffsetByTopMost( _
ByVal value As Boolean _
)

C++ [image] Copy Code

public:
bool get_OffsetByTopMost ()
void put_OffsetByTopMost (
bool value
)

Property Value

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.PagesPerRow Property

VisioImporter.PagesPerRow Property
[image]

Gets or sets how many Visio pages to import on a row before offsetting the import location vertically.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Property Get PagesPerRow() As Long
Public Property Let PagesPerRow( _
ByVal value As Long _
)

C++ [image] Copy Code

public:
int get_PagesPerRow ()
void put_PagesPerRow (
int value
)

Property Value

An integer value specifying how many pages to import in a row. The default is 1.

Remarks

FlowChartX does not support stacked pages as Visio does, so the ImportAllPages method imports all pages from a Visio document in a grid that prevents items from one page to overlap with items from another page. This property specifies the width of the page grid.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter Events

VisioImporter Events
[image]

Public Events

Name | Description
ArrowImported | Raised when a Visio connector is imported as a FlowChartX link. ( [image] a feature of FlowChartX Pro edition)
BoxImported | Raised when a Visio shape is imported into FlowChartX as a Box. ( [image] a feature of FlowChartX Pro edition)
GroupImported | Raised when a Visio group is imported as a FlowChartX group. ( [image] a feature of FlowChartX Pro edition)

See Also

VisioImporter Class


FlowChartPro.VisioImporter.ArrowImported Event

VisioImporter.ArrowImported Event
[image]

Raised when a Visio connector is imported as a FlowChartX link.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Event ArrowImported

Event Data

Parameter | Type | Description
fcxArrow | [input] reference to an Arrow | Refers to the imported arrow.
VisioLinkData | [input] IDispatch* | Additional data associated with the event.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.BoxImported Event

VisioImporter.BoxImported Event
[image]

Raised when a Visio shape is imported into FlowChartX as a Box.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Event BoxImported

Event Data

Parameter | Type | Description
fcxNode | [input] reference to a Box | Refers to the imported box.
VisioShapeName | [input] string | The name of the Visio node shape.
VisioExtraData | [input] IDispatch* | Additional data associated with the event.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.VisioImporter.GroupImported Event

VisioImporter.GroupImported Event
[image]

Raised when a Visio group is imported as a FlowChartX group.

( [image] a feature of FlowChartX Pro edition)

Syntax

VB6 [image] Copy Code

Public Event GroupImported

Event Data

Parameter | Type | Description
fcxGroup | [input] reference to a Group | Refers to the imported group.

See Also

VisioImporter Members
VisioImporter Class


FlowChartPro.XMLReader Class

XMLReader Class
Remarks See Also
[image]

Reads FlowChartX diagrams from XML files.

Syntax

VB6 [image] Copy Code

Public Class XMLReader

C++ [image] Copy Code

class XMLReader

Remarks

Use an XmlReader instance to load an XML document previously saved via XmlWriter. To load a diagram, create an instance of XmlReader, set its Document property and and call Read or ReadFromString.

Handle the DeserializeTag event to load tag objects, previously encoded via SerializeTag event handler.

Example

The following samples loads a diagram from previously saved file:

VB6 [image] Copy Code

Dim r As New XMLReader
r.Document = FlowChart1
r.Read fileName

See Also

XMLReader Members


FlowChartPro.XMLReader Members

XMLReader Members
Constructors Properties Methods
[image]

Reads FlowChartX diagrams from XML files.

The following tables list the members exposed by the XMLReader type.

Public Constructors

Name | Description
XMLReader | Initializes a new instance of the XMLReader class.

Public Properties

Name | Description
Document | Gets or sets the FlowChart instance to get the deserialized diagram.

Public Methods

Name | Description
Read | Loads a diagram from the XML document whose path is specified as argument.
ReadFromString | Loads a diagram from string containing XML code.

See Also

XMLReader Class


FlowChartPro.XMLReader Constructor

XMLReader Constructor
[image]

Initializes a new instance of the XMLReader class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
XMLReader ()

See Also

XMLReader Class


FlowChartPro.XMLReader Methods

XMLReader Methods
[image]

Public Methods

Name | Description
Read | Loads a diagram from the XML document whose path is specified as argument.
ReadFromString | Loads a diagram from string containing XML code.

See Also

XMLReader Class


FlowChartPro.XMLReader.Read Method

XMLReader.Read Method
[image]

Loads a diagram from the XML document whose path is specified as argument.

Syntax

VB6 [image] Copy Code

Public Sub Read( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void Read (
BSTR FileName
)

Parameters

FileName

The name of a file from which to load a diagram.

Remarks

That document should be previously saved via XMLWriter.Write.

If there are VariantTag objects associated with diagram elements, FlowChartX won't deserialize them automatically. You must provide a handler for the DeserializeTag event and decode the tags from their string representation.

See Also

XMLReader Members
XMLReader Class
FlowChartPro Namespace
ReadFromString Method


FlowChartPro.XMLReader.ReadFromString Method

XMLReader.ReadFromString Method
[image]

Loads a diagram from string containing XML code.

Syntax

VB6 [image] Copy Code

Public Sub ReadFromString( _
ByVal xml As String _
)

C++ [image] Copy Code

public:
void ReadFromString (
BSTR xml
)

Parameters

xml
The XML code representing a previously saved diagram.

Remarks

The specified text should be previously created via XMLWriter.WriteToString.

If there are VariantTag objects associated with diagram elements, FlowChartX won't deserialize them automatically. You must provide a handler for the DeserializeTag event and decode the tags from their string representation.

See Also

XMLReader Members
XMLReader Class


FlowChartPro.XMLReader Properties

XMLReader Properties
[image]

Public Properties

Name | Description
Document | Gets or sets the FlowChart instance to get the deserialized diagram.

See Also

XMLReader Class


FlowChartPro.XMLReader.Document Property

XMLReader.Document Property
[image]

Gets or sets the FlowChart instance to get the deserialized diagram.

Syntax

VB6 [image] Copy Code

Public Property Get Document() As FlowChart
Public Property Let Document( _
ByVal value As FlowChart _
)

C++ [image] Copy Code

public:
FlowChart* get_Document ()
void put_Document (
FlowChart* value
)

Property Value

A reference to a FlowChart instance.

Remarks

Must be set prior to calling Read or ReadFromString.

See Also

XMLReader Members
XMLReader Class


FlowChartPro.XMLWriter Class

XMLWriter Class
Remarks See Also
[image]

Saves FlowChartX diagrams into XML files.

Syntax

VB6 [image] Copy Code

Public Class XMLWriter

C++ [image] Copy Code

class XMLWriter

Remarks

The XmlWriter class provides a way to save FlowChartX diagrams as XML documents. To save a diagram, create an instance of XmlWriter, set its Document property and invoke the Write or WriteToString methods. Diagrams saved that way can be loaded later using an XmlReader instance.

If you need VariantTag objects associated with diagram elements to be serialized, you must handle the SerializeTag event. Its event handler receives as an argument the object whose tag is to be serialized.

Example

The following sample saves a diagram as an XML document:

VB6 [image] Copy Code

Dim w As New XMLWriter
w.Document = FlowChart1
w.Write fileName

See Also

XMLWriter Members


FlowChartPro.XMLWriter Members

XMLWriter Members
Constructors Properties Methods
[image]

Saves FlowChartX diagrams into XML files.

The following tables list the members exposed by the XMLWriter type.

Public Constructors

Name | Description
XMLWriter | Initializes a new instance of the XMLWriter class.

Public Properties

Name | Description
Document | Gets or sets the FlowChart instance to be serialized.

Public Methods

Name | Description
Write | Encodes the Document as formatted XML text and saves the XML code into the file whose name is passed as argument. If the file already exists, it will be overwritten.
WriteToString | Encodes the Document as formatted XML text and returns the XML code.

See Also

XMLWriter Class


FlowChartPro.XMLWriter Constructor

XMLWriter Constructor
[image]

Initializes a new instance of the XMLWriter class.

Syntax

VB6 [image] Copy Code

Public Sub New ()

C++ [image] Copy Code

public:
XMLWriter ()

See Also

XMLWriter Class


FlowChartPro.XMLWriter Methods

XMLWriter Methods
[image]

Public Methods

Name | Description
Write | Encodes the Document as formatted XML text and saves the XML code into the file whose name is passed as argument. If the file already exists, it will be overwritten.
WriteToString | Encodes the Document as formatted XML text and returns the XML code.

See Also

XMLWriter Class


FlowChartPro.XMLWriter.Write Method

XMLWriter.Write Method
[image]

Encodes the Document as formatted XML text and saves the XML code into the file whose name is passed as argument. If the file already exists, it will be overwritten.

Syntax

VB6 [image] Copy Code

Public Sub Write( _
ByVal FileName As String _
)

C++ [image] Copy Code

public:
void Write (
BSTR FileName
)

Parameters

FileName

The name of a file into which to save the document.

Remarks

If there are VariantTag objects associated with diagram elements, FlowChartX won't serialize them automatically. You must provide a handler for the SerializeTag event and encode the tags into appropriate string representation.

For security reasons this method cannot be used in Internet Explorer. It will return an error if called from a JavaScript script. To create an XML representation of a diagram when FlowChartX runs in a browser, use WriteToString to create an XML string and transfer it to the server via a hidden HTML field.

See Also

XMLWriter Members
XMLWriter Class
FlowChartPro Namespace
WriteToString Method
XMLReader.Read Method


FlowChartPro.XMLWriter.WriteToString Method

XMLWriter.WriteToString Method
[image]

Encodes the Document as formatted XML text and returns the XML code.

Syntax

VB6 [image] Copy Code

Public Function WriteToString () As String

C++ [image] Copy Code

public:
BSTR WriteToString ()

Return Value

A string containing XML representation of the Document.

Remarks

If there are VariantTag objects associated with diagram elements, FlowChartX won't serialize them automatically. You must provide a handler for the SerializeTag event and encode the tags into appropriate string representation.

See Also

XMLWriter Members
XMLWriter Class


FlowChartPro.XMLWriter Properties

XMLWriter Properties
[image]

Public Properties

Name | Description
Document | Gets or sets the FlowChart instance to be serialized.

See Also

XMLWriter Class


FlowChartPro.XMLWriter.Document Property

XMLWriter.Document Property
[image]

Gets or sets the FlowChart instance to be serialized.

Syntax

VB6 [image] Copy Code

Public Property Get Document() As FlowChart
Public Property Let Document( _
ByVal value As FlowChart _
)

C++ [image] Copy Code

public:
FlowChart* get_Document ()
void put_Document (
FlowChart* value
)

Property Value

A reference to a FlowChart instance.

Remarks

Must be set prior to calling Write or WriteToString.

See Also

XMLWriter Members
XMLWriter Class


Additional Components

Additional Components


Overview Control

Overview Control

An Overview control provides a scaled-down view of a FlowChart contents. It also allows scrolling and zooming the diagram with the mouse, by clicking, dragging or using the mouse wheel. To bind an Overview to a FlowChart instance, set the overview Document property.

VB6 [image] Copy Code

Private Sub Form_Load()

ov.Document = fcx

End Sub

The ScaleFactor and FitAll properties control the scale in which a diagram is painted in the overview window. The Overview's scale factor multiplies the effect of the diagram's own ZoomFactor.

To paint the flowchart's background Picture in the Overview, set EnableBkgrImage to true. If the control's ScaleFactor is very small, there could be many diagram items visible simultaneously in the overview window. It could take a lot of time to paint them all fully, so the control provides the following properties that can disable drawing specific elements of the diagram items: EnableImages, EnableInterior, EnableShadows and EnableText.

The ShowScrollers and HideScrollers methods allow showing or hiding the Overview's scrollbars.


Ruler Control

Ruler Control

The Ruler control provides horizontal and vertical scales that helps users measure flowchart items. To specify which FlowChart instance is shown in the ruler, set the Document property. Note that the Ruler does not act as an ActiveX control container, but it and the FlowChart are siblings in the form's hierarchy. As such, make sure the ruler is behind the flowchart in the form's Z order, by using form editor's commands such as "bring to back". Once this property is set, the ruler automatically resizes the flowchart to make it fit between the ruler scales.

The ruler tracks mouse movements and modifications being performed on an item, and displays markers over the scales indicating the current position in diagram's coordinate system. The colors of these markers can be changed using the PointerColor and ProjectionColor properties.

If EnableGuides is set to true, the ruler allows aligning several items by clicking on a scale and dragging. That displays alignment guides which follow the mouse pointer and move all selected items on their way. If no diagram elements are selected, all items are moved.

To specify what units are displayed in the scales, assign a member of the EUnit enum to the BaseUnit property, and set UnitScale to define how much the BaseUnit should be scaled.


FlowChartX Types

FlowChartX Types

Following reference describes the types of properties and methods' parameters independent of any programming language and environment. The table lists how they correspond to some of the most popular languages and development environments built-in types e.g. what data types will be mapped to FlowChartX types when you import FlowChartX type library.

Important Note

In order to be automation-compliant such system-specific data types (as handles to windows or device contexts - HWND, HDC) are replaced with automation types that have to be cast to their true type when used.

Types | ATL source code | VC++ #import / dispatch driver | Borland Delphi | C# / wrapper when imported | VB.NET / wrapper when imported
Boolean | VARIANT_BOOL | VARIANT_BOOL / BOOL | WordBool | bool | Boolean
short | short | short | Smallint | short | Short
long | LONG | long | Integer | int | Integer
float | float | float | Real | float | Single
text | BSTR | BSTR | WideString | string | String
color | OLE_COLOR | OLE_COLOR | OLE_COLOR | uint | UInt32
font | IFontDisp* | IFontDisp* | IFontDisp | stdole.IFontDisp | stdole.IFontDisp
picture | IPictureDisp* | IPictureDisp* | IPictureDisp | stdole.IPictureDisp / Image | stdole.IPictureDisp / Image
unsigned long | ULONG | unsigned long | UINT | uint | UInt32
buffer | BYTE* | unsigned char* | var BYTE | ref byte | ByRef as Byte
array of bytes | SAFEARRAY (BYTE)* | SAFEARRAY* | PSafeArray | ref Array | ByRef as Array
reference to arrow object | IArrowItem* | IArrowItemPtr smart pointer / LPDISPATCH | IArrowItem | FLOWCHARTLib.Arrow | FLOWCHARTLib.Arrow
reference to box object | IBoxItem* | IBoxItemPtr smart pointer / LPDISPATCH | IBoxItem | FLOWCHARTLib.box | FLOWCHARTLib.box
reference to table object | ITableItem* | ITableItemPtr smart pointer / LPDISPATCH | ITableItem | FLOWCHARTLib.Table | FLOWCHARTLib.Table
reference to group | IGroupItem* | IGroupItemPtr smart pointer / LPDISPATCH | IGroupItem | FLOWCHARTLib.Group | FLOWCHARTLib.Group
reference to object | LPDISPATCH | IDispatch* | IDispatch | object | Object
collection of arrow objects | IArrows* | IArrowsPtr smart pointer / LPDISPATCH | IArrows | FLOWCHARTLib.IArrows | FLOWCHARTLib.IArrows
collection of box objects | IBoxes* | IBoxesPtr smart pointer / LPDISPATCH | IBoxes | FLOWCHARTLib.IBoxes | FLOWCHARTLib.IBoxes
collection of table objects | ITables* | ITablesPtr smart pointer / LPDISPATCH | ITables | FLOWCHARTLib.ITables | FLOWCHARTLib.ITables
collection of groups | IGroups* | IGroupsPtr smart pointer / LPDISPATCH | IGroups | FLOWCHARTLib.IGroups | FLOWCHARTLib.IGroups
enumerator | IEnumVariant* | IEnumVariant* | IEnumVariant | IEnumerator | IEnumerator


Table of Predefined Shapes

Table of Predefined Shapes

Shape | Identifier | Common Uses
 | Actor | An user An actor in use case model
 | Alternative | An alternative in SDL An extraction in flowcharts Storage in quality management
 | Arrow1 | Use as desired
 | Arrow2 | Use as desired
 | Arrow3 | Transportation in quality management A reference point
 | Arrow4 | Use as desired
 | Arrow5 | Use as desired
 | Arrow6 | Use as desired
 | Arrow7 | A signal Electronic transmission of data
 | Arrow8 | Use as desired
 | Arrow9 | Use as desired
 | BeginLoop | Begin of a loop
 | BpmnComplex | BPMN Gateways: Complex Decision/Merge
 | BpmnDataBasedXor | BPMN Gateways: Data-Based Exclusive Decision/Merge (XOR)
 | BpmnEndCancel | BPMN Events: Cancel (End)
 | BpmnEndCompensation | BPMN Events: Compensation (End)
 | BpmnEndError | BPMN Events: Error (End)
 | BpmnEndLink | BPMN Events: Link (End)
 | BpmnEndMessage | BPMN Events: Message (End)
 | BpmnEndMultiple | BPMN Events: Multiple (End)
 | BpmnEndTerminate | BPMN Events: Terminate (End)
 | BpmnEventBasedXor | BPMN Gateways: Event-Based Exclusive Decision/Merge (XOR)
 | BpmnInclusive | BPMN Gateways: Inclusive Decision/Merge (OR)
 | BpmnIntermediateCancel | BPMN Events: Cancel (Intermediate)
 | BpmnIntermediateCompensation | BPMN Events: Compensation (Intermediate)
 | BpmnIntermediateError | BPMN Events: Error (Intermediate)
 | BpmnIntermediateLink | BPMN Events: Link (Intermediate)
 | BpmnIntermediateMessage | BPMN Events: Message (Intermediate)
 | BpmnIntermediateMultiple | BPMN Events: Multiple (Intermediate)
 | BpmnIntermediateRule | BPMN Events: Rule (Intermediate)
 | BpmnIntermediateTimer | BPMN Events: Timer (Intermediate)
 | BpmnParallelFork | BPMN Gateways: Parallel Fork/Join (AND)
 | BpmnStartLink | BPMN Events: Link (Start)
 | BpmnStartMessage | BPMN Events: Message (Start)
 | BpmnStartMultiple | BPMN Events: Multiple (Start)
 | BpmnStartRule | BPMN Events: Rule (Start)
 | BpmnStartTimer | BPMN Events: Timer (Start)
 | Cloud | Object instance in data flow diagrams
 | Collate | A collation in flowcharts
 | ConeDown | Use as desired
 | ConeUp | Use as desired
 | ConnectedIssues | Connected issues in quality management
 | CreateRequest | Request to create in SDL
 | Cross | Use as desired
 | Cube | Use as desired
 | Cylinder | Use as desired
 | Database | A database in flowcharts
 | DataTransmition | Electronic transmission of data
 | DDelay | Use as desired
 | Decision | Decision in flowcharts A comparison in flowcharts Relationship in data flow diagrams
 | Decision2 | A decision in SDL
 | Delay | A delay in process diagrams
 | DInDelay | Use as desired
 | DirectAccessStorage | A direct access storage
 | DiskStorage | Data stored on disk in flowcharts
 | Display | Data that is displayed for human use
 | DividedEvent | An event
 | DividedProcess | A process or document in flowcharts Entity in data flow diagrams
 | Document | A document
 | DOutDelay | Use as desired
 | Ellipse | A cross-reference within the same page of a flowchart Process in data flow diagrams State in data flow diagrams A continuation of the flowchart in SDL An use case Operation in quality management
 | EndLoop | End of a loop
 | ExternalOrganization | An external organization
 | ExternalProcess | An external process
 | File | A file
 | FramedRectangle | Use as desired
 | Gate | A gateway
 | Heart | Use as desired
 | Heptagon | Use as desired
 | Hourglass | Use as desired
 | Input | Data that is input by manual means
 | InternalStorage | An internal storage
 | Interrupt | An interrupt
 | Interrupt2 | An interrupt
 | IsoProcess | Iso9000 process
 | Junction | A summing junction A return in SDL
 | Lightning | Use as desired
 | LinedDocument | A document in flowcharts
 | ManualOperation | Operation performed by a human
 | Merge | A merger in flowcharts Inbound goods in quality management Non-electronic file Stop state in data flow diagrams
 | MessageFromUser | A message from user side in SDL
 | MessageToUser | A message to user side in SDL
 | Microform | A microform
 | MicroformProcessing | A microform processing
 | MicroformRecording | A microform recording
 | MultiDocument | A multiple document in flowcharts
 | MultiProc | A multiple process or document in flowcharts
 | Octagon | Use as desired
 | OfflineStorage | An offline storage
 | OffpageConnection | A cross-reference to another page of a flowchart
 | OffpageReference | A cross-reference to another page of a flowchart A foreign module
 | Or | An 'or' statement
 | Pentagon | Use as desired
 | PrimitiveFromCall | A primitive from call control in SDL
 | PrimitiveToCall | A primitive to call control in SDL
 | Procedure | Procedure in SDL
 | Process | A process or document in flowcharts A file or data storage
 | Prysm | Use as desired
 | PunchedCard | A punched card
 | PyramidDown | Use as desired
 | PyramidUp | Use as desired
 | Rectangle | A metric operation 'External interactor' in data flow diagrams Inspection in quality management
 | RoundRect | A process or item in flowcharts An event An issue in quality management
 | RSave | Input or output data in flowcharts
 | Save | A save in SDL Input or output data in flowcharts
 | Sort | A sort operation
 | Sphere | Use as desired
 | Star | Use as desired
 | Start | Start of a program flow A starting point in SDL
 | Tape | Sequentially accessible data
 | Terminator | Start or end of a program flow
 | TransmittalTape | A transmittal tape


Runtime Dependencies

Runtime Dependencies

FlowChartX is developed entirely in C++ using static linking to the ATL library. Additional runtime libraries (such as MFC, VB or ATL dlls) are not required to run the control on WinNT/2K/XP systems. Some FlowChartX functions however depend on additional libraries or COM objects, as described below.

Unicode

FlowChartX is an Unicode control. Unicode is not natively supported on the Win9X versions of Windows - Win95/98/ME. On such systems FlowChartX depends on the Microsoft Layer for Unicode (MSLU) implemented in unicows.dll. If your application uses FlowChartX and must support any of the Win9X Windows versions, you must redistribute unicows.dll with your installation software. That dll must be present on the target system before FlowChartPro.dll is invoked to self-register itself.

GDI+

FlowChartX supports two Graphics engines; the first one is based on the classic GDI API, the second one on GDI+. The GDI+ Graphics engine relies on the GDI+ runtime implemented in gdiplus.dll. If your application uses FlowChartX in GDI+ mode, you might want to redistribute that dll.

XML serialization

The XMLWriter and XMLReader classes rely on the Microsoft's MSXML parser version 6. If your application uses FlowChartX XML serialization, its setup program must install the MSXML6 redistributable files.


Unicode Support

Unicode Support

FlowChartX uses Unicode Windows APIs for all of its text output operations. These APIs enable the ActiveX control (respectively your application) to display languages used in more than 100 international locales. Thus it is easier to create globalized applications that support multilingual data and a multilingual UI.

Windows 95/98/ME don't provide their own support for Unicode. When running on system without native support for Unicode, FlowChartX relies on the Microsoft Layer for Unicode (MSLU). MSLU is a translation layer between Unicode APIs and the ANSI APIs available on 95/98/ME. So, if you want your application to run on all Windows versions you'll have to install the MSLU. The package is available for free download and redistribution from http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdownload/platformsdk/sdkupdate/psdkredist.htm. Including MSLU in your setup software shall increase its total size with no more than 200K. The layer is implemented in the unicows.dll file, which your setup program should copy before the flowchart.dll is registered. The registration will fail if your setup tries to register the control and the unicows.dll is not present on the target system.

If you have any problems regarding FlowChartX installation from your setup and the installation of MSLU, you can send us e-mail on support@mindfusion.eu. We'll be happy to assist you and answer all your questions and we can send you sample InstallShield sources showing how to register FlowChartX on Win95/98/ME.


Using the Source Code and Building Custom Versions

Using the Source Code and Building Custom Versions

As a professional software engineer you have surely found out the huge benefits of having a component source code with you. Tracking problems, customization and adding new features are just some of the things you can use it for. Being aware of that fact, we provide you with the full FlowChartX source code. You can rely on our technical support for any questions or problems related with it. FlowChartX is entirely C++ based. It uses ATL library to implement the necessary ActiveX interfaces. In order to build the control, you must also have WTL installed. WTL is available for download from http://download.microsoft.com; the current FlowChartX version was built with WTL 7.1.

To be able to trace FlowChartX programming code you should build it in DEBUG configuration. Following steps describe how to do that: Choose "File -> Open -> Project" menu. From the dialog that appears open flowchart.sln, which should be located in source subdirectory of your installation folder. Next open "Build->Configuration Manager" and choose "Unicode Debug" from "Active Solution Configuration" combo box. Finish by choosing "Build->Build Solution" which creates FlowChartX executable file and registers the control as an ActiveX component. Open "Project Properties->Debugging" and in "Action->Command" specify the path to your application executable file (the "Browse" command from the combo box menu can help you locate it. Now you are able to trace, place breakpoints and execute all debugging operations you need.

Attention

Any ActiveX control built with Visual Studio.NET version of ActiveX Template Library (ATL) causes 'Stack Overflow'-crash in Visual Basic for Applications when the control is moved or resized inside a form.

Workaround: In order to use your custom version of FlowChartX with VBA make sure you compile the control with VisualC++ 6.0 version of ATL.

Note

Due to FlowChartX permanent development and new versions releasing, we recommend that you first contact us before adding any custom features to the component. Since we always try to fulfill our clients' needs it is greatly possible that you will overwrite some features that future FlowChartX versions might include. Writing us might also save you re-writing of your custom features to adjust future FlowChartX releases you would like to get. Apart of that, our development team would also be happy to develop personally any new features our highly praised clients might need.

If you still insist on developing custom features of FlowChartX remember to change both CLSID and program ID in your version. We also strongly advise you to rename your custom version executable file (e.g. the .dll file). This is meant to prevent custom and standard FlowChartX versions mix their .dll files, which makes programs using these files work improperly.

For recommendations, advice or ideas regarding what you would like to see in future versions of FlowChartX, please write us at: support@mindfusion.eu.


Technical Support

Technical Support

Detailed information about everything connected with software products offered by MindFusion - online documentation, demos, information about forthcoming products can be found at http://www.mindfusion.eu. The site is updated every day, so make sure you visit it regularly to catch up with the newest from us.

Apart from that, MindFusion employs a dedicated and technically proficient support team. This guarantees that all your questions and inquiries will be answered in quick and professional manner. They can be reached by e-mail at support@mindfusion.eu or by phone at +359 877 65 22 51.

If you need a higher support level, there is the premium support.

In addition, you can post a question on the FlowChartX discussion board here:

http://mindfusion.eu/Forum/YaBB.pl?board=fcx_disc

or visit our Help Desk site:

http://www.mindfusion.eu/HelpDesk/index.php

We will be happy to hear any suggestions and recommendations you might have regarding FlowChartX. We do take in account the opinion of every single person who has shown interest in our products.


MindFusion Products

MindFusion Products

MindFusion offers various programming components for different platforms. Below is a list of our products with links to their sections on our website as well link to download a trial version. Clients that have already purchased a product use an increasing discount for each subsequent one.

Diagramming | Links
Diagramming for WPF | Product Information Download
Diagramming for Silverlight | Product Information Download
Diagramming for WinForms | Product Information Download
Diagramming for ASP.NET | Product Information Download
Diagramming for ActiveX | Product Information Download
Diagramming for .NET Compact | Product Information Download
Diagramming for Java Swing | Product Information Download

Charting | Links
Charting for WPF | Product Information Download
Charting for WinForms | Product Information Download
Charting for ASP.NET | Product Information Download

Scheduling | Links
Scheduling for WinForms | Product Information Download
Scheduling for ASP.NET | Product Information Download
Scheduling for .NET Compact | Product Information Download
Scheduling for WPF | Product Information Download
Scheduling for Silverlight | Product Information Download

Reporting | Links
Reporting for WinForms | Product Information Download
Reporting for WPF | Product Information Download
Reporting for Silverlight | Product Information Download

Suites | Links
Pack for WPF | Product Information Download
Pack for WinForms | Product Information Download
Pack for ASP.NET | Product Information Download
Pack for Java FX | Product Information Download
Pack for Scheduling | Product Information Download