Table of Contents

TMS FNC Blox API Reference

Use this reference for exact Delphi API contracts. Start from the component pages for purpose, setup, and task guides; use the class and member pages here for signatures, defaults, behavior notes, and event contracts.

Entry Points

Route Use when
Components You want component purpose, screenshots, guide links, and the component API map.
Product guides You want cross-cutting workflows before drilling into component APIs.
Product overview You want frameworks, dependencies, IDE support, and release notes.

Component Summary

Component Use for
TMS FNC Blox Control Main cross-platform diagramming and flowcharting control for creating, editing, and persisting diagram elements such as blocks, lines, and groups.
TMS FNC Blox Navigator Miniature overview panel that mirrors the diagram canvas and supports panning and zoom navigation.
TMS FNC Blox Selector Visual block-type picker that allows users to drag registered element types from a palette onto the diagram canvas.
TMS FNC Blox ToolBar Pre-built toolbar controls for editing, formatting, and selecting diagram elements; includes specialized sub-toolbars for block appearance, text formatting, and selection.

API By Component

TMS FNC Blox Control

Component page

Classes And Records

Type Description
ETMSFNCBloxReaderException The exception raised when reading a saved diagram fails, for example when a referenced element type cannot be found or does not match the expected base type.
TTMSFNCBloxArc A line element that draws an arc between two points and can be connected to blocks.
TTMSFNCBloxBaseGroup Abstract base class for blocks that group other elements, such as group blocks and selection blocks. Descendants implement how members are added to and removed from the group.
TTMSFNCBloxBaseLine Base class for designable line elements, publishing the common line appearance, text, and connection properties for use in the designer and at runtime.
TTMSFNCBloxBezier A line element that draws a bezier curve between two points and can be connected to blocks.
TTMSFNCBloxBlock Base class for all block objects on a diagram. To create a custom block class, descend from this class, override the relevant drawing methods and publish the desired properties. The drawing methods most often overridden are DrawShape and DrawBlock.
TTMSFNCBloxCalcHandlesInfo Carries the information needed to recalculate a line's handles.
TTMSFNCBloxControl A scrollable, zoomable diagramming surface for creating and editing block diagrams such as flowcharts, UML diagrams, electrical schematics, data-flow diagrams, and arrows.
TTMSFNCBloxCustomBlox Description:
TTMSFNCBloxDrawLineInfo Holds the information used while drawing a line.
TTMSFNCBloxElement Abstract base (top ancestor) class for all diagram elements, both lines and blocks.
TTMSFNCBloxElementDrawInfo Description: TElementDrawInfo holds information about the drawing of a Blox element (polygon block, polygon lines, etc.).
TTMSFNCBloxElementInsertInfo Summary: Contains information about the element being inserted. Description: TElementInsertInfo holds information about the inserting of a Blox element.
TTMSFNCBloxElementMoveInfo Summary: Contains information about the element being moved. Description: TElementMoveInfo holds information about the moving of a Blox element.
TTMSFNCBloxFill Describes how an area is filled, supporting solid color, two-color gradient, and image texture fills.
TTMSFNCBloxFont Describes the typeface used to render text, including the font name, size, and style attributes.
TTMSFNCBloxHandleMoveInfo Summary: Contains information about the handle being dragged/moved. Description: THandleMoveInfo holds information about the dragging/moving of a handle.
TTMSFNCBloxImage Holds a bitmap image and provides loading and saving from streams, files, resources, and URLs. Used wherever an image is needed, such as a texture fill.
TTMSFNCBloxImageBlock A diagram block intended for displaying a picture. It publishes the picture, shape and appearance properties of the base block and starts with a default centered image.
TTMSFNCBloxInteraction Groups the end-user interaction settings of a diagram surface, such as selection behavior, zooming, read-only mode, and keyboard actions.
TTMSFNCBloxLine Base class for all line objects that connect two points on a diagram.
TTMSFNCBloxLineJoin A small block that attaches to a single link point of another element, used as an intermediate join so that lines can connect through it. It follows the element it is anchored to and exposes the anchor target, index and orientation.
TTMSFNCBloxLinkableBlock A diagram block that comes preconfigured with the four default link points (top, bottom, left and right), so that lines can be connected to it without first creating link points.
TTMSFNCBloxPoint Represents a single point in 2D space, expressed as floating-point horizontal and vertical coordinates.
TTMSFNCBloxPolyLine A multi-segment line built interactively by clicking successive points, with a live preview segment drawn to the cursor.
TTMSFNCBloxRect Represents a rectangle in 2D space defined by floating-point edge coordinates, with convenience access to its corner points.
TTMSFNCBloxShadow Describes the drop shadow drawn behind a block, including its visibility, color, and horizontal and vertical offsets.
TTMSFNCBloxSideLine A line element that links two points with orthogonal (horizontal and vertical) segments.
TTMSFNCBloxSingletonImplementation Provides a non-reference-counted implementation of the interface contract, so a long-lived instance can be referenced through an interface without being freed by reference counting.
TTMSFNCBloxStroke Describes the outline used to draw a shape's border, including its color, line pattern, and width.
TTMSFNCBloxTextBlock A diagram block intended for displaying text. It publishes the text, alignment, shape and appearance properties of the base block and starts with sample text and rotation disabled.
TTMSFNCBloxTriangleBlock A diagram block drawn as a triangle. It overrides the shape outline to produce a triangular path while inheriting all other block behavior.
TTMSFNCBloxXBlox Owns and manages the diagram model: the collection of elements, the subset of blocks and links, the layers, and the background. Provides methods to add, remove, locate, reorder, and link elements, and to persist the diagram to and from files or streams.
Type Kind Description
TTMSFNCBloxArcType Enum Selects the kind of arc drawn by an arc line.
TTMSFNCBloxCalcHandlesAction Enum Identifies the action that triggered a recalculation of a line's handles.
TTMSFNCBloxElementDrawAction Enum Identifies the stage of an interactive element drawing operation.
TTMSFNCBloxElementInsertAction Enum Identifies the stage of an interactive element insertion operation.
TTMSFNCBloxElementMoveAction Enum Identifies the stage of an interactive element move operation.
TTMSFNCBloxElementPaintMode Enum Determines how an element is painted, optionally including or limiting the painting to the editing cursor.
TTMSFNCBloxElementProc Event type Reference to a method that receives a single element so an action can be performed on it.
TTMSFNCBloxElementResizing Event type Reference to a method that is called while an element is being resized.
TTMSFNCBloxFakeGroup Type alias (undocumented)
TTMSFNCBloxFillType Enum Specifies how an area is filled.
TTMSFNCBloxFontStyle Enum Specifies an individual text style attribute that can be applied to a font.
TTMSFNCBloxFontStyles Type alias A combination of text style attributes applied to a font.
TTMSFNCBloxGetInplaceEditorClassEvent Event type Lets the handler supply a custom in-place editor class used to edit an element before the editor is created.
TTMSFNCBloxGradientStyle Enum Specifies the direction in which a two-color gradient is drawn.
TTMSFNCBloxHandleMoveAction Enum Identifies the stage of an interactive handle move operation.
TTMSFNCBloxInsertMode Enum Determines whether an element is added in a single step or drawn over multiple steps.
TTMSFNCBloxLineStyle Enum Selects which line shape is drawn between the start and end points.
TTMSFNCBloxMouseState Enum Describes the interaction state the diagram surface is currently in.
TTMSFNCBloxPictureMode Enum Determines how a background picture is rendered inside the shape of a block.
TTMSFNCBloxRestriction Enum Identifies a single action that the end user is not allowed to perform on an element.
TTMSFNCBloxRestrictions Type alias A set of restriction options that specify which actions the end user cannot perform on an element.
TTMSFNCBloxSetInplaceEditorDataEvent Event type Lets the handler provide or adjust the text shown in the in-place editor when editing of an element begins.
TTMSFNCBloxSetInplaceEditorElementDataEvent Event type Lets the handler validate or transform the edited text when in-place editing finishes, and decide whether the change is accepted and the editor closes.
TTMSFNCBloxSetInplaceEditorSizeEvent Event type Lets the handler override the bounds of the in-place editor before it is shown.
TTMSFNCBloxShapeType Enum Identifies the geometric shape used to render a block.
TTMSFNCBloxStrokeStyle Enum Specifies the line pattern used to draw a stroke.
TTMSFNCBloxTextCellsMode Enum Determines how the text cells of a line are automatically created and positioned.
TTMSFNCBloxTextureStyle Enum Specifies how a texture image is positioned and scaled within the area it fills.
TTMSFNCBloxZoomEvent Event type Notifies that the zoom factor of the diagram surface has changed.

TMS FNC Blox Navigator

Component page

Classes And Records

Type Description
TTMSFNCBloxNavigator A thumbnail overview control that displays a scaled-down view of an associated diagram control and lets the user scroll and zoom that diagram by dragging inside the overview.
TTMSFNCBloxNavigatorController Encapsulates the rendering and interaction logic that backs a navigator: it scales the diagram into the overview, draws blocks and lines, tracks the visible-area highlight, and translates pointer drags into scroll and zoom operations on the linked control.
Type Kind Description
TTMSFNCBloxNavigatorBlockShape Enum Determines how the navigator renders each diagram block in its scaled-down overview.
TTMSFNCBloxNavigatorHighlightRegion Enum Identifies where a point falls relative to the highlighted visible-area rectangle in the navigator.
TTMSFNCBloxNavigatorState Enum Represents the current interaction state of the navigator while the user drags inside the overview.

TMS FNC Blox Selector

Component page

Classes And Records

Type Description
TTMSFNCBloxCustomSelector Base selector control that displays registered diagram elements in a scrollable palette and lets users choose or drag an element for insertion into a connected diagram control.
TTMSFNCBloxSelector A control that lists the diagram elements registered with a connected diagram control and lets the user pick one to insert. Items are grouped by category and can be selected by click, keyboard, or drag.
TTMSFNCBloxSelectorAppearance Groups the visual settings of the selector: item size, spacing, fonts, and the fills and strokes used for each item state and for separators.
TTMSFNCBloxSelectorDisplayItem Describes the computed layout of a single item: its rectangles within the control, the item it represents, and its grid position.
TTMSFNCBloxSelectorDisplayList Holds the computed layout entries of the visible items.
TTMSFNCBloxSelectorItem Represents a single entry shown in the selector. An item can be a selectable cell, a non-selectable placeholder, or a separator that groups items into a labeled section.
TTMSFNCBloxSelectorItems Holds the ordered collection of items shown by the selector.
Type Kind Description
TTMSFNCBloxSelectorAfterDraw Event type Occurs after the control content is drawn, allowing overlay rendering.
TTMSFNCBloxSelectorBeforeDraw Event type Occurs before the control content is drawn, allowing the whole surface to be custom rendered.
TTMSFNCBloxSelectorItemAfterDrawBackground Event type Occurs after an item background is drawn, allowing overlay rendering.
TTMSFNCBloxSelectorItemAfterDrawContent Event type Occurs after the item content is drawn, allowing overlay rendering.
TTMSFNCBloxSelectorItemAfterDrawText Event type Occurs after an item caption is drawn.
TTMSFNCBloxSelectorItemBeforeDrawBackground Event type Occurs before an item background is drawn, allowing custom rendering.
TTMSFNCBloxSelectorItemBeforeDrawContent Event type Occurs before the item content (the previewed element) is drawn, allowing custom rendering.
TTMSFNCBloxSelectorItemBeforeDrawText Event type Occurs before an item caption is drawn, allowing the text or rendering to be customized.
TTMSFNCBloxSelectorItemClick Event type Occurs when an item is clicked.
TTMSFNCBloxSelectorItemDeselected Event type Occurs after an item is deselected.
TTMSFNCBloxSelectorItemSelected Event type Occurs after an item becomes selected.
TTMSFNCBloxSelectorItemState Enum Identifies the visual interaction state of a selector item.
TTMSFNCBloxSelectorMode Enum Identifies which categories of registered elements the selector lists.
TTMSFNCBloxSelectorModes Type alias A set of TTMSFNCBloxSelectorMode values controlling which element categories the selector lists at once.

TMS FNC Blox ToolBar

Component page

Classes And Records

Type Description
TTMSFNCBloxAppearancePanel Toolbar panel that edits the appearance of the selected element - text, font, alignment, fill, stroke and picture settings.
TTMSFNCBloxCustomToolBar Base class for the context toolbar that follows the selected element and groups the selector, settings and appearance panels. It surfaces the apply and command events the published toolbar republishes.
TTMSFNCBloxEditToolBar Standalone toolbar with the document, clipboard, history and zoom commands for a connected design surface. Use VisibleControls to choose which buttons are shown and the command events to react to each action.
TTMSFNCBloxFormatBlockTextToolBar Standalone toolbar that edits text formatting for the selected element - font name and size, bold, italic, underline, strikeout, alignment and text color. Use VisibleControls to pick the controls shown.
TTMSFNCBloxFormatBlockToolBar Standalone toolbar that edits the shape appearance of the selected element - stroke, fill, picture, rotation and ordering. Use VisibleControls to pick the controls shown and the apply events to react to each change.
TTMSFNCBloxGroup Toolbar group that bundles the editing toolbars together so they can be dropped on a form and previewed as a single design-time unit.
TTMSFNCBloxSelectToolBar Standalone toolbar with the drawing tools that pick the next element to create - selection mode, block, polygon, line, arc, bezier, poly-line and a drop-down of other registered elements.
TTMSFNCBloxSelectorPanel Toolbar panel that presents the available block and line shapes so the user can pick which element type to insert next.
TTMSFNCBloxSettingsPanel Toolbar panel with the document and clipboard commands - open, save, cut, copy, paste, undo, redo, ordering, snap-to-grid and zoom.
TTMSFNCBloxToolBar Context toolbar that floats next to the selected element and exposes the editing panels and apply/command events as published members for use at design time.
TTMSFNCBloxToolBarButton Toolbar button that inserts a specific element type into the design surface when clicked. The element created can be customized through OnSetElement.
TTMSFNCBloxToolBarElementPicker Drop-down toolbar button that lets the user pick one element from a list of registered blox elements and inserts the chosen one.
TTMSFNCBloxToolBarPanel Base class for the docked panels shown inside a toolbar. It hosts the buttons and pickers for a particular editing area and keeps a reference to the owning toolbar and the connected design surface.
Type Kind Description
TTMSFNCBloxEditVisibleControl Enum (undocumented)
TTMSFNCBloxEditVisibleControls Type alias (undocumented)
TTMSFNCBloxElementType Enum (undocumented)
TTMSFNCBloxSelectVisibleControl Enum (undocumented)
TTMSFNCBloxSelectVisibleControls Type alias (undocumented)
TTMSFNCBloxSetElement Event type (undocumented)
TTMSFNCBloxToolBarApplyColor Event type (undocumented)
TTMSFNCBloxToolBarApplyEvent Event type (undocumented)
TTMSFNCBloxToolBarApplyFillOrientation Event type (undocumented)
TTMSFNCBloxToolBarApplyFillType Event type (undocumented)
TTMSFNCBloxToolBarApplyFontName Event type (undocumented)
TTMSFNCBloxToolBarApplyFontSize Event type (undocumented)
TTMSFNCBloxToolBarApplyPictureMode Event type (undocumented)
TTMSFNCBloxToolBarApplyStrokeStyle Event type (undocumented)
TTMSFNCBloxToolBarApplyStrokeWidth Event type (undocumented)
TTMSFNCBloxToolBarApplyText Event type (undocumented)
TTMSFNCBloxToolBarZoomChangedEvent Event type (undocumented)

See Also