New selection style

TRichView 20, ScaleRichView 11, ReportWorkshop 4

We released new versions of our components: TRichView 20, ScaleRichView 11, ReportWorkshop 4.

Major changes since the last major update (TRichView 19, ScaleRichView 10, ReportWorkshop 3):


  • new FireMonkey version for Windows and macOS
  • support for Delphi and C++Builder 11 Alexandria
  • Markdown import
  • new selection drawing mode
  • new list numbering types
  • end-user help in RichViewActions
  • equation objects can use both the free and the commercial version of Adit Math Engine
  • functions for HTML from RTF de-encapsulation


  • support for new features of TRichView
  • support for Delphi and C++Builder 11 Alexandria
  • improved zooming
  • shared TRVStyle properties

Report Workshop

  • support for new features of TRichView
  • support for Delphi and C++Builder 11 Alexandria
  • new date and time functions
  • new {$header} and {$footer} commands

Trial versions are available:

This update is free for customers who ordered the components in 2020 and 2021
(also, VCL+LCL version of TRichView is free for customers who ordered TRichView in 2007 and before).

TRichView – semitransparent selection

By default, selection is drawn using properties of TRVStyleSelColor for background, SelTextColor for text (and similar properties for displaying selection when focus shifts to another control).


Since this version, an alternative mode is implemented: semitransparent selection. It is activated if you define a partial selection opacity in SelOpacity property


By default, the classic selection mode is used in VCL, LCL, and FireMonkey versions.
However, a new option is added to FireMonkey version: rvoDefaultSelectionFill.
If set (default), the component searches for a brush resource named ‘selection’ in the linked FireMonkey style, and takes a selection color and an opacity from it. By default, TRichView uses ‘memostyle’ that has a semitransparent selection brush in resources. So TRichView editor now looks consistent with FireMonkey TEdit and TMemo controls.

ScaleRichView: shared TRVStyle properties

In ScaleRichView, WYSIWYG editor control (TSRichViewEdit) has several internal editors (for editing the main document, a header, a footer, footnotes/endnotes/text boxes). Each internal editor is linked to its own internal TRVStyle control.
Before this version, these TRVStyle controls were independent (they had only one shared property: a collection of named styles StyleTemplates).
Since this version, all properties of these TRVStyle controls are shared (except for properties representing text, paragraph and list attributes).
It simplifies changes. For example, if you set SRichViewEdit.RichViewEdit.Style.SelOpacity, this change affects all parts of the editor.

ScaleRichView: zooming mode

Depending on property settings, zooming in TSRichViewEdit may be applied either to pages (print and side-to side view modes) or to document content (web mode and read mode).
Zooming of pages is very fast, but zooming of content may require some time. Because of this, for large documents, fast multiple changes of ZoomPercent may be a problem.

Since this version, in slow zooming modes, when zooming is initiated by a mouse wheel or a track bar on a zooming panel, the editor enters in a special zooming mode. The zooming percent is displayed using ZoomFont. ZoomPercent is assigned when the user finishes using a mouse wheel / trackbar.


Report Workshop: header and footer commands

In Report Workshop, when a data query was applied to a document, it was applied to the whole document.
If you wanted to add some fixed part at the beginning and/or the end of the document, the only solution was applying a data query not to a document, but to a report table.

Since this version, this limitation is removed. You can define a report header and/or footer. A data query is applied to content between them.
They are defined using {$header} and {$footer} commands.

Report template
Report result

PS: Report header/footer should not be confused with page header/footer.
Report header/footer is a part at the beginning/end of the document which is not repeated when a document data query is applied.
Page header/footer is an additional document which is displayed on top/bottom of each page.

New in FireMonkey version

In this update, the following additional components were ported to FireMonkey (Windows and macOS):

  • RvHtmlImporter (allows loading HTML files and streams)
  • RichViewXML (allows saving and loading TRichView content as XML)

Limitations in this version:

  • RvHtmlImporter: HTML pasting from the Clipboard is supported only in Windows
  • RichViewXML: TImageList is not supported in FireMonkey version (including bullets and hotspot items, and image list types of paragraph lists)

These limitations will be removed in future updates.

Integration with DevExpress Ribbon VCL

We’ve updated components for integration of TRichView and Developer Express VCL components.

Support of the recent version

Since this version, TRichView requires DevExpress VCL 21.2 or newer (because it contains a newly introduced IAccessible helper class).
If you still use an older version of DevExpress VCL, remove the define {$DEFINE DX_VER_21_2} from cxTRichView.pas

New controls for TdxRibbon

In the previous update of TRichView+DevExpress integration components, we introduced new controls and helper classes for DevExpress Ribbon.
In this update, we added a new control for the ribbon: TdxBarRVFStyleTemplateCombo. It displays a list of named styles of text and paragraphs.
This control is an analog of TRVStyleTemplateComboBox, which is based on a standard TComboBox. TdxBarRVFStyleTemplateCombo implements almost all its features (except for a mode of displaying only used and important styles).


Live spelling check

Since this update, TRVAdxRibbonPopupMenu supports live spelling checking.

Share this article