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
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. |
Related Types
| 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
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. |
Related Types
| 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
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. |
Related Types
| 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
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. |
Related Types
| 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) |