New in version 14
•Item tags are strings, they are not integers any more. The default tag value is changed from 0 to ''. If you used tags in an integer mode, use StrToInt and IntToStr when calling TRichView methods returning and accepting tags. Not only methods having Tag parameters, but some events are affected (OnReadHyperlink, OnRVControlNeeded). In existing projects, change the types of Tag parameters of these events handlers from Integer to TRVTag manually. RVOLDTAGS can be defined in RV_Defs.inc to make tags integers (not recommended).
•Parameters of OnRVFPictureNeeded were changed. If you used this event, change events handlers manually (or delete the old event handler and create a new one).
•For rotated cells, coordinates stored in DrawItems (a low-level undocumented property) do not define the position of items on the screen directly.
•TRichView.LoadText, LoadTextFromStream, SaveText, SaveTextToStream, TRichViewEdit.InsertTextFromFile have a new parameter. This parameter is optional, but in old versions of C++Builder, it must be added explicitly in the code (use CP_ACP for compatibility).
•A text search behavior can be modified with the new "smart start" option (see TRichView.SearchText and TRichViewEdit.SearchText). GetRVSearchOptions and GetRVESearchOptions include this option by default, so it may affect existing projects.
•Changes in Unicode line wrapping procedure: '.' , '!', ',', ';' characters are treated (almost) as alphabetic characters now (because they are often used in phrases like '.Net' or in URLs).
•Changes in DB components: If rvfoLoadBack is in RVFOptions, TDBRichView clears BackgroundBitmap before loading data from its field. If rvfoLoadBack is in RVFOptions and FieldFormat=rvdbRVF, TDBRichViewEdit clears BackgroundBitmap before loading data from its field.
•PNG images are saved to RTF as PNG images only if rvrtfSavePngAsPng is included in RTFOptions. It is included by default. However, for existing projects, you may need to set it manually.
•The declaration of TRVLongOperation type is changed.
•The following global variables were removed from RVTable.pas: RichViewTableGridStyle, RichViewTableGridStyle2, RichViewTableGridColor. They were replaced with properties of TRVStyle.
•A new option rvoShowGridLines in TRichView.Options is set by default, but for existing projects you may need to set it manually, otherwise grid lines of tables will not be shown by default.
StyleTemplates represent "real" text and paragraph styles. When style templates are used, an appearance of text and paragraphs are still defined in TextStyles and ParaStyles. Items a document refer to items in TextStyles and ParaStyles, while items in TextStyles and ParaStyles refer to items in StyleTemplates. Style templates allows modifying TextStyles and ParaStyles.
By default, style templates are not used. To activate using of style templates, assign TRichView.UseStyleTemplates=True.
TRichView.StyleTemplateInsertMode specifies how style templates affect insertion of RVF and RTF data.
When the collection of style templates has been modified, OnStyleTemplatesChange occurs.
In TRichViewEdit, you can apply the specified style template to the selection using the methods: ApplyStyleTemplate, ApplyTextStyleTemplate, ApplyParaStyleTemplate. Style templates can be edited using ChangeStyleTemplates method.
The function RVGetNoteTextStyleNo has an additional optional parameter: a name of a style template for using for a note character.
TRVStyle.MainRVStyle property allows using a single collection of style templates for several documents.
Table cells can be rotated by 90°, 180°, or 270°.
A new method returning item coordinates: GetItemCoordsEx; it takes cell rotation into account.
Since version 13.2, item tags are strings (Unicode for Delphi 2009 or newer, ANSI for older versions of Delphi). No more typecasting from integer to PChar!
New property: cell tags.
The both 32-bit and 64-bit compilers are supported in RAD Studio XE2+.
Note: TRVOfficeConverter can be compiled in 64-bit application, but lists of converters will be empty (because converters are 32-bit DLLs and cannot be used in 64-bit applications).
The components support visual UI styles introduced in RAD Studio XE2:
▪all visual components display scrollbars and borders according to styles;
▪TRVPrintPreview adjusts its colors (background, page border, shadow) according to the current style.
A new optional parameter for TRichView.LoadText, LoadTextFromStream, SaveText, SaveTextToStream, TRichViewEdit.InsertTextFromFile: CodePage. It allows to specify a code page of the file (this parameter is used only for Unicode text in a document; for ANSI text, it is ignored).
Drag and drop: when accepting text files, TRichViewEdit detects their encoding (UTF16, UTF8 or ANSI).
When saving Unicode text, characters of "Symbol" and "Wingdings" fonts are converted to the most similar Unicode characters.
The parameters of TRichView.OnRVFPictureNeeded were changed. Now, this event is called not only for pictures and hot-pictures, but also for tables and table cells to read background images. This change solved the following problems:
▪ability to request table and cell background images;
▪access to additional item properties.
New option in TRichView.RTFOptions: rvrtfSavePngAsPng. If included (default), PNG images (of the class type registered with RV_RegisterPngGraphic) are saved as PNG in RTF (as it was before this version). You can exclude this option to save them as a bitmap or a metafile.
TRichView.SaveHTMLEx can save stretched background images (previously, they were saved as centered).
New "hidden" parameters in TRichView.OnSaveImage2 event.
Default processing if OnWriteHyperlink is not assigned.
SaveHTMLEx saves characters of "Symbol" and "Wingdings" fonts as the most similar Unicode characters (it was implemented for "Symbol" before, now it is improved).
▪Better displaying of text background, new TRVStyle.TextBackgroundKind property.
▪New properties for non-text items: background color, border width and color, spacing around the border.
▪Better calculation of superscript position.
New: TRichViewEdit can paste URL. A new method is available: PasteURL.
New property: AcceptPasteFormats allows to restrict a list of formats that the editor can paste.
New property: DefaultPictureVAlign defines an alignment for pasted and dropped images.
New option for table.PrintOptions: rvtoContinue.
New property: TCustomRVPrint.IgnorePageBreaks.
New properties of TRVStyle defining the appearance of grid lines: GridColor, GridStyle, GridReadOnlyColor, GridReadOnlyStyle. They replace global variables used in older versions. New option rvoShowGridLines in TRichView.Options.
Better processing of Up and Down keys when moving in and out of table cells.
New typed constant: RichViewDoNotMergeNumbering.
TRichView.OnProgress now occurs not only when reading an RTF, but also when saving an RTF, reading and writing an RVF, writing an HTML, reading and writing a text, calling TRVOfficeConverter.ImportRV and ExportRV.
Better table layout algorithm.