New in version 10
The following changes may affect existing applications.
▪HTML tag names, color constants, CSS names are saved in lower case;
▪SaveHTMLEx does not use the following attributes for cells and tables any more: bordercolor, bordercolorlight, bordercolordark, background, bgcolor. CSS style is used instead. These attributes are not standard.
▪OnSaveItemToFile is called with Unicode parameter = True when saving UTF-8 HTML files.
▪Table layout algorithm: when there is not enough space for columns having widths specified in pixels, they are decreased proportionally (previously, only the rightmost columns were decreased)
▪By default, table grid is not shown in read-only editors any more (it also affects TBDRichViewEdit when its dataset is not in the edit mode).
▪In editor, Tab key in the last table cell adds a new row; set the global variable RichViewTableAutoAddRow to False to disable.
▪Simple version GetWordAt always returns ANSI string.
▪Paste can paste graphic files in CF_HDROP format.
▪bookmarks are read from RTF as checkpoints.
▪Local links are converted automatically when reading and writing RTF.
▪Sub/superscripts and VShift are saved and loaded to RTF differently.
▪meaning of ItemNo parameter in OnControlAction is changed.
▪RVF insertion methods ignore background.
▪page breaks inside table cells.
▪rvsoXHTML – if included, XHTML is saved instead of HTML;
▪rvsoUTF8 – if included, HTML/XHTML is saved in UTF-8 encoding.
You can choose between using <p> and <div>.
Font families are stored in CSS for the most frequently used fonts. For example, if font name is 'Arial', the string 'Arial', 'Helvetica', sans-serif will be saved.
You can specify class representing PNG images using the function RegisterPngGraphic. After that, TRichView will be able to write and read PNG images in RTF.
You can save page parameters using DocParameters property.
Options for saving smaller RTF files: rvrtfSavePicturesBinary, rvrtfPNGInsteadOfBitmap.
RTF bookmarks are read as checkpoints. When exporting, links started from '#' are converted to links to checkpoints. When importing, links to checkpoints are converted to links started from '#'.
New properties for TCustomRichView.RTFReadProperties:
▪StoreImagesFileNames allows storing file names of external images (update: this property is removed in version 16);
▪BasePathLinks specifies whether to add path to file in hyperlinks;
▪IgnoreBookmarks allows ignoring bookmarks;
▪IgnoreNotes allows ignoring footnotes and endnotes;
▪IgnoreSequences allows ignoring numbered sequences;
▪IgnoreTables allows ignoring tables;
▪ReadDocParameters allows reading DocParameters;
▪UseSingleCellPadding sets mode for loading tables cell padding.
▪You can allow saving explicit page breaks in text files/streams. Set RichViewSavePageBreaksInText typed constant to True.
▪LoadFromStream loads document in RVF, RTF or text formats (autodetect).
▪Special support for Unicode memo fields.
Low level events:
▪Support for the word joiner Unicode character (code $2060). This character is invisible and it disallows line breaking before and after it. A special support is required because almost no font has a glyph for this character (it works properly only if inserted in the middle of text item).
▪WM_UNICHAR message is processed, if the current text is Unicode.
▪New possible values for TCustomRichView.BackgroundStyle.
▪New property TCustomRichView.MaxLength – maximal count of characters per line.
▪New property TCustomRichView.WordWrap allows to disable word wrapping.
▪If you set RichViewWrapAnywhere typed constant to True, text can be wrapped in any place (this constant was removed in version 13).
▪New text Protection options: rvprStyleSplitProtect, rvprSticking2, rvprSticking3.
▪New property HoverEffects allows hyperlinks underlining.
▪New property SubSuperScriptType allows implementing subscripts and superscripts.
▪TRVPrintPreview displays full paper size, including areas where printer cannot print (see WinAPI function GetDeviceCaps, PHYSICAL*** constants).
▪TRVPrintPreview.PrintableAreaPen property. If you set its Style<>psClear, RVPrintPreview shows borders of printable area (this rectangle was displayed as a full page in previous versions)
▪new values for VAlign property of items: rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle.
New set of editing methods working with checkpoint exactly at the position of caret:
▪Table cells can be printed on several pages (previously, page breaks were possible only between rows).
▪New option for table.Options: rvtoNoCellSelect. If included, multicell selection by mouse is not allowed.
▪Table grid is not shown in read-only editors any more. More exactly, it is shown using global variable RichViewTableGridStyle2 (default value: psClear). The same pen style is used for drawing table grid in viewer.
▪Copying multicell selection as a table fragment (in RVF format); special pasting is not implemented yet, pasted as a new table.
▪Adding new table row when user presses Tab in the last cell (set the global variable RichViewTableAutoAddRow to False to disable this feature).
▪Improved table layout algorithm.
If image was not returned in OnRVFPictureNeeded event, this event is called the second time with the value of rvespImageFileName property in the Name parameter (if value of this property was stored for this item). (update: in TRichView 14, OnRVFPictureNeeded is reworked and it is not called twice any more)
▪The following Windows messages are processed by TCustomRichView: EM_GETSEL, EM_SETSEL, EM_GETTEXTRANGE. If you do not need these messages, you can define RVDONOTUSELINEARPOSITIONS in RV_Defs.inc. It slightly reduces exe-file size.
▪Pasting graphic files in CF_HDROP format, see PasteGraphicFile.
▪New characters are included in the default value of TCustomRichView.Delimiters.
▪New option for TCustomRichView.SearchText: rvsroFromStart.
▪Changes in TCustomRichView.GetWordAt.
▪Ability to delete unused styles in multiple documents, see TRVDeleteUnusedStylesData.
▪Much faster reformatting, especially if rvoFastFormatting is included in TCustomRichView.Options (default). Much faster loading RTF files. Much faster copying to the Clipboard.
▪ Ctrl + ↑ and Ctrl + scroll the document down/up instead of moving caret.
▪(in Unicode mode in WinNT/2000/XP/Vista) special support for typing in Kazakh, Tatar, Mongolian, Azerbaijani (Cyrillic & Latin), Uzbek, Kyrgyz, Serbian.
▪New "hidden" parameters in TCustomRichView.OnControlAction.