New in version 17

<< Click to display table of contents >>

New in version 17

This topic includes changes of v17.2.

Compatibility issues

New parameter in TRVPageCountItemInfo.CreateEx

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

rvddHTML is included in the default value of TRichViewEdit.AcceptPasteFormats property.

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.RTFReadProperties.SetHeader and SetFooter are deprecated. Use TRichView.SetHeader and SetFooter instead. Note: they affect not only RTF and DocX, but RVF as well.

type of the Sender parameter in TRVReportHelper.OnDrawHyperlink and OnDrawCheckpoint is changed from TRVReportHelper to TCustomRVPrint.

Mathematical expressions

TRichView includes a new item type displaying mathematical formulas (TRVMathItemInfo). It requires Delphi XE4 or newer.

Tables

New feature: colors of groups or rows and columns (alternate colors). New properties:

HeadingRowColor, LastRowColor, FirstColumnColor, LastColumnColor, EvenColumnsColor, OddRowsColor, OddColumnsColor, EvenRowsColor;

RowBandSize, ColBandSize.

A new optional parameter (EditCellAfter) is added in DeleteRows and DeleteCols methods.

New property: CellOverrideColor.

New event: OnDrawBackground.

RVF

New DocObjects property allows saving custom objects in RVF.

Headers and footers

TRichView,SetHeader and SetFooter define documents as headers/footers. They can be used not only for RTF (as before), but also for RVF and HTML.

A new option is available for HTML saving, rvsoHeaderFooter.

Printing

New property TRVPrint.VirtualPrinter allows drawing pages on any canvas using the specified page size and DPI. New methods DrawPage and DrawPageAt.

New optional parameters in TRVPrint.Print and PrintPages allow printing all/odd/even pages, in normal/reverse order.

"Widow and orphan control" is implemented, see rvpaoWidowOrphanControl option of paragraphs.

The following events and properties are moved from TRVReportHelper to its parent class: OnDrawCheckpoint, OnDrawHyperlink, NoMetafiles. Now you can use them in TRVPrint as well.

A new property is added in TRVPrint and TRVReportHelper: MetafilePixelsPerInch.

TRVPageCountItemInfo now has NumberType property, like TRVPageNumberItemInfo,

OLE Drag&drop

New events of TRichViewEdit: OnBeforeOleDrop and OnAfterOleDrop.

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.

Fields

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.

Image activation/deactivation

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.

Loading external images

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.

Item properties

rveipcPercentWidth additional integer property is added to controls.

rvepSpacing, rvepBorderWidth, rvepBorderColor, rvepOuterHSpacing, rvepOuterVSpacing integer properties work for labels.

rveipcRemoveSpaceBelow additional integer property is added to labels.

Caret

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.

Other changes

New TRichView.UseVCLThemes property allows using colors of active VCL theme (in Delphi XE2+)

New TRichViewEdit event: OnDropFile. It's more easy to use then OnDropFiles, and occurs not only on drag&drop, but also on pasting.

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.