Hypertext, Checkpoints, Tags

A hotspot changes under the mouse pointer


TRichView documents can contain hypertext links, both textual and graphical.

TRichView gives the user a visual clue to indicate hyperlinks: it changes an image, or a color and a background of text below the mouse pointer.

Each type of hypertext link can have its own mouse cursor.

Semi-transparent hypertext images

Hypertext can be used even without a mouse – users can navigate through hypertext links with Tab and Shift+Tab keys. The active link is outlined with a dotted rectangle and can be executed with Enter key.

Hypertext in the editor works when the user presses and holds Control, or in a read-only mode.

Actions on hypertext clicks are fully customizable.

Documents can include inserted Delphi controls (for example, buttons). It's not very difficult to make them work like hypertext links.

Demo for hypertext: Demos\*\MultiDemo\
A compiled demo project is included in “TRichView Showcase”

Tutorial (tutorial 2, projects 5-7): Demos\*\Tutorial\

See also on the support forum:


Some positions in the document can be marked with checkpoints (in other word processing tools, they correspond to bookmarks or anchors). Checkpoints can work as targets for hypertext clicks (you can scroll document to the checkpoint in response to the click).
An event occurs when some checkpoint becomes visible as a result of scrolling in the document.

Demo for checkpoints: Demos\*\MultiDemo\, sub-demo “Checkpoints”

Tutorial (tutorial 2, projects 2,3,4): Demos\*\Tutorial\


Each document item (such as text or image) has an associated string value called tag.
Tags can be used for hypertext purposes (for example, to define a target of a hypertext click), or for implementing fields/mail merge features.


TRichView does not have a special support for fields in text, because its tagged architecture makes them unnecessary. Each text item has associated tag, special editing properties can be achieved with the text protection feature.

Field demos: Demos\*\Assorted\Fields\

See also on the support forum:

* = DelphiUnicode, CBuilderUnicode, Delphi, CBuilder, depending on your Delphi/C++Builder version.