New in version 10

<< Click to display table of contents >>

New in version 10

Compatibility issues

The following changes may affect existing applications.

HTML

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.

Tables

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.

Editing

BeginUpdate and EndUpdate have new functionality.

Simple version GetWordAt always returns ANSI string.

Paste can paste graphic files in CF_HDROP format.

RTF

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.

Other

meaning of ItemNo parameter in OnControlAction is changed.

RVF insertion methods ignore background.

Main new features

Animation of pictures;

"Smart popups";

page breaks inside table cells.

New item types

labels;

sequences;

footnotes;

endnotes;

references to parent notes.

New in saving and loading

HTML:

New options in Options parameter of SaveHTML and SaveHTMLEx:

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.

RTF:

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.

Text:

You can allow saving explicit page breaks in text files/streams. Set RichViewSavePageBreaksInText typed constant to True.

Other:

LoadFromStream loads document in RVF, RTF or text formats (autodetect).

New in DB controls

TDBRichView and TDBRichViewEdit can be placed in TDBCtrlGrid.

TDBRichView and TDBRichViewEdit can update standard DB actions.

TDBRichView.OnLoadCustomFormat, TDBRichViewEdit.OnLoadCustomFormat and OnSaveCustomFormat events allow loading and saving data to fields in custom formats.

Special support for Unicode memo fields.

New in drag&drop

Low level events:

OnOleDragEnter;

OnOleDragOver;

OnOleDragLeave;

OnOleDrop.

New in Unicode processing

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.

TCustomRichView.SearchTextW and TCustomRichViewEdit.SearchTextW allows searching for WideString.

New in layout and formatting

If you set RichViewShowGhostSpaces typed constant to True, spaces hidden between lines will be shown if rvoShowSpecialCharacters is in TCustomRichView.Options.

You can define which characters to show in ShowSpecialCharacters mode. They are listed in RVVisibleSpecialCharacters typed constant.

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 attributes

New text Protection options: rvprStyleSplitProtect, rvprSticking2, rvprSticking3.

New property HoverEffects allows hyperlinks underlining.

New properties UnderlineType, UnderlineColor and HoverUnderlineColor allow to customize underlines.

New property SubSuperScriptType allows implementing subscripts and superscripts.

New in printing

TRVReportHelper and TRVPrint do not require parent control any more. They can be placed on data module or created without owner.

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)

TRVPrint.FixMarginsMode property.

New in item properties

rvepVisible item property allows to hide controls;

rvepResizable item property works for pictures too;

rvespAlt item property can be applied to bullets and hotspots as well as to pictures and hot-pictures;

new values for VAlign property of items: rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle.

new styles for breaks (horizontal lines): dashed and dotted; all types of breaks are drawn without rounded corners.

New in checkpoints

New set of editing methods working with checkpoint exactly at the position of caret:

InsertCheckpoint;

GetCheckpointAtCaret;

RemoveCheckpointAtCaret.

New in tables

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.

New property table.VisibleBorders allows to hide some sides of table border. Direct assignment to this property cannot be undone/redone, use table.SetTableVisibleBorders for that.

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).

New properties RowCount, ColCount.

New properties CellHPadding, CellVPadding.

New property Cell.Hint.

New property Row.PageBreakBefore.

New methods SetCellBackgroundImageFileName and SetCellHint.  

Improved table layout algorithm.

better SplitSelectedCellsVertically and SplitSelectedCellsHorizontally implementations.

New in RVF

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)

Custom Caret

You can draw your own caret instead of the system one. It is activated CustomCaretInterval, measured in OnMeasureCustomCaret event, drawn in OnDrawCustomCaret event.

Other

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.

meaning of TCustomRichViewEdit's BeginUpdate and EndUpdate was changed.

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.

Function RVIsCustomURL.

 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.