New in version 17
This topic includes changes of v17.2.
▪Improvements in the line breaking algorithm (in some cases, lines may wrap differently)
▪When choosing format while inserting data as a result of OLE drag&drop, the editor gives a higher priority to URL than it was before
▪Because of "deactivation" of images (see below), you cannot store a pointer to images (TGraphic objects), because the image can be "deactivated" and TGraphic object can be destroyed
▪Because of "deactivation" of images, all TGraphic objects used in TRichView must implement SaveToStream and LoadToStream methods (there are some third-party graphic classes that can load themselves but cannot save).
▪TRichView.RTFReadProperties.StoreImagesFileNames property is removed.
▪Previously, the functions for enumerations of notes and text boxes returned hidden notes/boxes if rvoShowHiddenText was included in Options, even if AllowHidden parameter was False. Now, AllowHidden parameter is processed strictly.
▪TCustomRichView.OnURLNeeded event is removed (use OnWriteHyperlink)
TRichView includes a new item type displaying mathematical formulas (TRVMathItemInfo). It requires Delphi XE4 or newer.
New feature: colors of groups or rows and columns (alternate colors). New properties:
▪HeadingRowColor, LastRowColor, FirstColumnColor, LastColumnColor, EvenColumnsColor, OddRowsColor, OddColumnsColor, EvenRowsColor;
New property: CellOverrideColor.
New event: OnDrawBackground.
New DocObjects property allows saving custom objects in RVF.
A new option is available for HTML saving, rvsoHeaderFooter.
"Widow and orphan control" is implemented, see rvpaoWidowOrphanControl option of paragraphs.
New option rvoDragDropPicturesFromLinks for TRichViewEdit.EditorOptions. If included, and the dropped URL is a link to a picture, the editor attempts to insert it as a picture, not as a link.
New property is added to text styles: EmptyWidth. It defines width of empty text items of this style. Text items of this style are processed specially in editor. They allow implementing editable fields in documents. The demo "Assorted\Fields\FillInGaps" is changed to use EmptyWidth.
Starting from this version, TRichView deactivates rarely used images (i.e. stores them to memory streams and destroys their graphic objects). This feature allows saving GDI resources and memory.
New RichViewMaxPictureCount global variable.
A new option is added to TRichView.Options: rvoAssignImageFileNames. If included, the component assigns "image file name" properties when reading external images. Previously, RTFReadProperties.StoreImagesFileNames was used for this purpose for external images in RTF; this property is removed.
New event: OnAssignImageFileName allows modifying file names before assigning to items/cells.
The editor uses the system caret width (by default).
New global variables controlling the caret size and position are added. The new options include:
▪setting the caret width equal to the next character/item width;
▪using OnMeasureCustomCaret event for a standard caret (not only for a custom caret);
▪options for aligning wide carets horizontally.
New TRichView.UseVCLThemes property allows using colors of active VCL theme (in Delphi XE2+)
New TRichView event: OnCMHintShow allows displaying custom hints.
Text flow options (ClearLeft and ClearRight) are shown as vertical lines around paragraph/line-break marks, if rvoShowSpecialCharacters is included in TRichView.Options. Text flow options can be exported to DocX.
New method TRVStyleTemplateCollection.InsertFromRVST, it allows applying styles from a file to existing documents.
Packages are separated into runtime and designtime packages.