Categories: Announcement

TRichView 24 – RAD Studio 13 Florence, chat, background

We are pleased to announce new releases of TRichView, ScaleRichView, and ReportWorkshop.

All components now support RAD Studio 13 Florence. For TRichView, this is a major update; for the other components, the changes are less substantial, and we will focus on them later this year.

This update is free for users who purchased or renewed the components in 2024 and 2025.
A trial version is available here: https://www.trichview.com/download/

In addition to many smaller improvements, the main new features are:

  • a completely redesigned background image display in TRichView and ScaleRichView;
  • a brand-new cross-platform component for implementing chats.

TRichView 23 and Embarcadero RAD Studio 13 Florence

The new version supports Delphi and C++Builder 13 Florence.
What does the new RAD Studio release bring to TRichView users?

First, FMXLinux has returned, and users of the Enterprise and Architect editions can once again use our text editor for creating applications for Linux. (For other users, Lazarus remains an alternative option.)

Second, Delphi 13 includes an improved FireMonkey spell-checking service. Support for Windows has been added along with a new interface, IFMXSpellCheckerExService, which makes it possible to specify the text language.

For TRichView, this is less significant, since it already includes the TRVSpellChecker component, which provides this functionality and more:

  • the ability to present the list of available languages (dictionaries) in a user-friendly way,
  • support for Linux (through Hunspell),
  • support for VCL and Lazarus,
  • the ability to detect a misspelled word even when no suggestions exist in the dictionaries.

Nevertheless, when TRVSpellChecker is used as a replacement for the standard FireMonkey services, it now also supports the new IFMXSpellCheckerExService interface.

New Background Properties

In this update, background image rendering has been completely redesigned.

All image formats

First of all, the component is no longer limited to using Windows bitmaps for its background image. It can now use images in any format supported by Delphi. The old TRichView.BackgroundBitmap property has been replaced with BackgroundPicture. For VCL and Lazarus, this property is of type TPicture. For FireMonkey, it uses a similar class that emulates TPicture. For ScaleRichView, the analog is TSRichViewEdit.RVBackgroundPicture.
For tables and table cells, no changes were needed, since they already supported all graphic formats from the beginning.

Position, tiling, sizing

Next, the way background image positioning and repetition are defined has been completely redesigned.
Previously, this was controlled by a single property that listed only the most commonly used positioning options. At that time, there was only one way to stretch an image (non-proportionally to fill the entire window) and only one option to fill the document background rather than the editor window.
In the new version, the design is based on properties inspired by HTML and CSS, with the following principles:

  • independent specification of background image position and repetition for horizontal and vertical directions;
  • support for scaling images both proportionally and non-proportionally;
  • the ability to define sizes and offsets in absolute values or percentages;
  • the option to attach the background either to the component itself or to the scrollable content area (with all positioning, repetition, and scaling options available for both attachment modes).

The new properties are in:

Editing

New methods have been added to implement background changes as editing operations, with support for undo and redo.

Compatibility

We made these changes in a way that preserves compatibility with previous versions.
The BackgroundBitmap property still works and allows assigning a Windows bitmap as the background image.
The BackgroundStyle property also works and adjusts BackgroundProperties according to its values.

However, background properties are now stored in RVF in a new format. Older versions of TRichView cannot read them (they will be skipped). The new version can read both the old and the new ways of storing background information in RVF.

Additional components

RichViewActions (commands for building the editor’s user interface) now work with BackgroundPicture instead of BackgroundBitmap, and no longer convert the selected file into a Windows bitmap. However, positioning and repetition properties are still handled in the old way. This will be updated in the next release.

RichViewXML (the component for saving TRichView documents in XML format) also still saves background information using the old method; this will be corrected as well.

New demo project

A new demo project has been added in the Assorted\Graphics\Background folder, showcasing the behavior of all the new BackgroundProperties features. Versions are provided for Delphi VCL, Lazarus, and Delphi FireMonkey. The FireMonkey version comes with a mobile-friendly user interface.

New Chat Component

Features

This release introduces a new component, TRVChat, which allows turning TRichView into a chat window. It provides features such as:

  • displaying conversations in a style similar to modern messenger applications (such as Telegram, WhatsApp, Viber);
  • attaching images and files to messages;
  • replying to messages, with or without quoting;
  • editing messages;
  • deleting messages or marking them as deleted;
  • displaying message status;
  • searching text within messages.

The component does not handle sending messages over a network. For this, you need additional components (such as RVMedia).

Requirements

TRVChat supports all FireMonkey platforms, VCL, and Lazarus for Windows.
Unfortunately, Lazarus for Linux is not yet supported, as its canvas does not provide the necessary methods for filling complex shapes with a background.

For VCL and Lazarus, enabling GDI+ support is highly recommended to ensure the chat window looks visually appealing (implemented for Lazarus and Delphi XE2+). For FireMonkey on Android, it is likewise recommended to enable Skia4Delphi support for the same purpose.

Demo project

A new demo project, Assorted\Chat\, has been added. Versions are available for Delphi VCL, Lazarus, and Delphi FireMonkey. The FireMonkey version provides a mobile-friendly user interface, while the others are based on context menus.

The functionality of the FireMonkey demo is somewhat reduced: text search in messages is not included, and file attachment on mobile platforms is simplified (only a single file name is requested, without selecting it through the file system).

Screenshots for Android with Skia4Delphi:

Notes

TRichView has long included a demo project demonstrating a chat window implemented through custom drawing (Assorted\Custom Draw\Callouts\). However, the new component offers far greater functionality, makes much more efficient use of system resources, and provides flexible appearance customization.

Sergey Tkachenko

Share
Published by
Sergey Tkachenko

Recent Posts

ADUG Symposium – May 9th

The next ADUG Symposium will take place on Friday, 9th May. You can attend in…

5 months ago

ANN: IDEInstaller 2.5

IDEInstaller 2.5 includes support for 64-bit Delphi IDE.

6 months ago

ANN: TRichView 23.2 – Markdown in Clipboard

We have released TRichView 23.2 and updates of related components The main new feature in…

6 months ago

ANN: RVMedia 11.1 – error handling and UDP streaming

RVMedia 11.1 has been released Main new features: UDP streaming with FFmpeg improved error handling…

6 months ago

TRichView 23.1 – RichViewActions for Lazarus for Linux

We have released TRichView 23.1 and updates of related components The main new feature in…

8 months ago

IDEInstaller v2.4

We've released our installer program as freeware with source code:http://www.trichview.com/ideinstall/ It was updated to version…

9 months ago