TRichView for Delphi Changelog

What's new in TRichView for Delphi 22.2.0

Jan 28, 2024
  • Main changes since the last update:
  • Compatibility with Delphi and C++Builder 12 Athens
  • Compatibility with Skia (Skia4Delphi), including insertion of SVG images and PDF export

New in TRichView for Delphi 22.0.1 (Nov 27, 2023)

  • Compatibility with Delphi and C++Builder 12 Athens
  • Compatibility with Skia (Skia4Delphi), including insertion of SVG images and PDF export

New in TRichView for Delphi 21.6 (Sep 26, 2023)

  • ReportWorkshop supports Lazarus (Windows platform). All our components are ported to Lazarus.
  • Decimal tabs

New in TRichView for Delphi 21.0 (Mar 11, 2023)

  • Main changes since the last update:
  • HTML:
  • HTML import
  • reworked HTML export
  • using HTML in data-aware and reporting components, and in integration with third-party libraries
  • improvements in Report Workshop:
  • a wizard dialog for generation of master-detail reports
  • a dialog for “dataset to report table” conversion
  • improved processing of empty values
  • named cells of report table

New in TRichView for Delphi 20.3 (Oct 29, 2022)

  • Changes:
  • LiveBinding between TRichView/ScaleRichView controls and database fields
  • new component in ReportWorkshop: TRVReportBindSourceDataProvider. It provides data for reports from LiveBindings sources.

New in TRichView for Delphi 20.2 (Sep 23, 2022)

  • FireMonkey version for Windows and macOS (available as a separate download). New functions and commands for ReportWorkshop. Zooming mode in ScaleRichView. Semitransparent selection mode.

New in TRichView for Delphi 20.0 (Dec 23, 2021)

  • Semitransparent selection mode
  • RichViewXML and RvHtmlImporter are ported to FireMonkey
  • ScaleRichView: common properties for all sub-editors in WYSIWYG editor
  • ScaleRichView: improved zooming
  • Report Workshop: new commands for defining a report header and footer
  • Integration with DevExpress VCL: new combo box for TdxRibbon (styles), spelling check commands in a menu

New in TRichView for Delphi 19.5 (Nov 26, 2021)

  • All our components are compatible with Delphi and C++Builder 11 Alexandria.

New in TRichView for Delphi 19.1 (Jan 12, 2021)

  • DocX import. High-quality scaling of transparent images. New functions in Report Workshop. Read mode in ScaleRichView.

New in TRichView for Delphi 19.0 (Dec 23, 2020)

  • Delphi and C++Builder 10.4 Sydney compatibility. Markdown export.

New in TRichView for Delphi 18.0.1 (Dec 10, 2019)

  • High-DPI support, zooming in TRichView, reworked SRVControls, Embarcadero RAD Studio 10.3 support, Lazarus 2 support.

New in TRichView for Delphi 17.2 (Dec 21, 2017)

  • 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 "AssortedFieldsFillInGaps" 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.

New in TRichView for Delphi 17.0.2 (Nov 17, 2017)

  • New function related to printing
  • Improvements in header and footer
  • Better page preview in scalerichview
  • New PDF generation demo project

New in TRichView for Delphi 16.15.7 (Aug 1, 2017)

  • Shapes in Report Workshop, including new shape component, document object and action
  • Condition of if-command in reports may be a comparison operation

New in TRichView for Delphi 16.14 (Apr 3, 2017)

  • RAD Studio 10.2 support
  • New mathematical objects
  • Font preview in combo boxes

New in TRichView for Delphi 16.13.3 (Feb 16, 2017)

  • Image deactivation/activation to use less memory and resources
  • Text fields in documents
  • Integration of XML, HTML importers, downloaders, spelling checkers
  • Updated UI translations

New in TRichView for Delphi 16.10.3 (Dec 16, 2016)

  • Compatibility issues
  • ·Since this version, text measuring and drawing is performed using Uniscribe; so text size may be different (for example, Uniscribe always uses text kerning); usually, text formatting is slower with Uniscribe (if you do not need support of bidirected text); you can switch back to Windows API, see "Uniscribe" below
  • ·Uniscribe text output (and sometimes Windows text output) is not compatible with metafiles; see "Uniscribe" below;
  • ·ParaStyle.Alignment = rvaJustify is implemented by modifying space character widths when drawing text, while older versions of the components drew each word separately. The new method complicates custom drawing of text; you can return the old justification method by activating RVOLDJUSTIFY in RV_Defs.inc; however, this directive disables ParaStyle.Alignment = rvaDistribute (it works like rvaJustify)
  • ·TRVStyle.OnDrawStyleText has new parameters.
  • ·RichViewSafeFormatting constant is removed (replaced with RichViewStringFormatMethod)
  • ·applications compiled with older versions of TRichView cannot read RVF files containing tables having changed values of Opacity (Opacity100000).
  • ·starting from this version, all projects for C++Builder 6 that use TRichView must include $(BCB)LibPsdkmsimg32.lib. Otherwise, linking ends with an error about unresolved external "AlphaBlend". No changes are required for Delphi and newer versions of C++Builder
  • ·the algorithm for calculation of width of table columns is improved and may produce different results.
  • Uniscribe
  • Since this version, the components use Uniscribe for text drawing and measuring.
  • You can switch back to Windows API using TRVStyle.TextEngine property.
  • By default, Uniscribe text output is not compatible with metafiles. You can turn on metafile compatibility for TRVReportHelper and TRVPrint components using MetafileCompatibility property.
  • New paragraph properties
  • New value for Alignment – rvaDistribute. It aligns paragraph content to the both left and right sides by adding space between all characters.
  • New property LastLineAlignment defines alignment for the last line of justified and distributed paragraphs.
  • Improved attributes in bi-directed text
  • The following features were previously disabled for bi-directed text; they work now:
  • ·TextStyle.CharSpacing
  • ·ParaStyle.Alignment = rvaJustify (and rvaDistribute)
  • ·TRVPrint.PreviewCorrection
  • ·custom drawing of selection (although, custom drawing is more complicated now)
  • All these functions are implemented both for Windows and Uniscribe API.
  • Vertical text
  • Special options are implemented for vertical text in table cells.
  • In addition to rotation by 90°, the component can automatically apply vertical versions of fonts (useful for Chinese, Japanese, Korean) and reverse line order (useful for traditional Mongolian)
  • Formatting
  • The components need less memory for documents containing justified text.
  • Improvements
  • ·documents containing long strings in text items are formatted much faster than before; improved fast text formatting method now can be used not only in TRichViewEdit, but in TRVPrint and in ScaleRichView;
  • ·justified text is formatted much faster than before.
  • Table sizing algorithm is improved, it processes wide spanned cells much better.
  • Styles
  • New RVFOption: rvfoSaveStyleTemplatesOnlyNames. It allows creating multiple RVF documents using the same collection of StyleTemplates.
  • Transparency
  • Background of paragraphs, tables, table cells, sidenotes and text boxes can be semitransparent: a new Opacity property is added to these objects.
  • New property TRVReportHelper.AllowTransparentDrawing allows using methods for semitransparent drawing. It is useful for drawing over other images.
  • See the topic about semitransparent objects.
  • Support of high DPI screen modes
  • Size of touch screen selection handles is changed proportionally to the screen resolution. Sizes of list markers are stored as Size (instead of Height) property in DFM and RVF files, so they do not depend on screen resolution any more.
  • Installation and directory structure
  • Starting from this update, TRichView is installed automatically in Delphi and C++Builder IDE.
  • The new installer installs the components in Delphi and C++Builder, both for 32-bit and 64-bit platforms (if available). The installer adds all necessary paths to RAD Studio library.
  • Source code is moved to "Source" folder, inc-file is moved to "SourceInclude" folder.
  • For RAD Studio XE8+, this help file is integrated in IDE (both F1 help, and menu "Help | Third-Party Help")
  • Other changes
  • TRichViewEdit.RemoveCurrentPageBreak deletes a page break from the current paragraph (not from the current item as before)
  • New RichViewSaveHyperlinksInDocXAsFields global variable.
  • Ctrl + Delete deletes a word to the right of the caret.

New in TRichView for Delphi 14.9.3 (Oct 4, 2013)

  • Delphi XE5 support
  • different headers and footers for the first and odd/even pages
  • changing page properties and background as editing operations
  • font sizes in half-points

New in TRichView for Delphi 14.0 (Jan 4, 2013)

  • Delphi XE3 support, including 64-bit compiler
  • text and paragraph styles
  • pages in columns, zooming panel in WYSIWYG editor
  • new translations

New in TRichView for Delphi 13.4 (Sep 29, 2011)

  • Delphi XE2 support, including 64-bit compiler
  • vertical text in table cells (cell rotation)
  • gif animation in WYSIWYG editor

New in TRichView for Delphi 13.0.1 (Mar 23, 2011)

  • hidden text
  • different units of measure
  • new toolbar icons

New in TRichView for Delphi 12.6.1 (Oct 4, 2010)

  • Delphi XE support
  • better line wrapping and table layout algorithms
  • footnotes and endnotes in ScaleRichView
  • TRibbon support
  • new controls for insertion in ScaleRichView editor

New in TRichView for Delphi 11.11.1 (Sep 16, 2009)

  • Delphi 2010 support
  • new components in ScaleRichView (skins, advanced tab set)

New in TRichView for Delphi 11.0.1 (Dec 8, 2008)

  • Delphi 2009 support

New in TRichView for Delphi 10.0 (Mar 28, 2008)

  • Animation of pictures;
  • "Smart popups";
  • Page breaks inside table cells.

New in TRichView for Delphi 1.9.24b (Apr 23, 2007)

  • Smart Tags in Microsoft Office style