Новое в версии 17

<< Нажмите, чтобы показать Содержание >>

Новое в версии 17

Этот раздел включает изменения в версии 17.2.

Совместимость

Новый параметр в TRVPageCountItemInfo.CreateEx

Улучшения в алгоритме переноса строк (в некоторых случаях перенос строк может отличаться)

При выборе формата для вставки данных в результате OLE-перетаскивания редактор отдаёт более высокий приоритет URL, чем раньше.

опция rvddHTML включёна в значение по умолчанию свойства TRichViewEdit.AcceptPasteFormats.

Из-за «деактивации» изображений (см. ниже) нельзя сохранять указатель на изображения (объекты TGraphic), поскольку изображение может быть «деактивировано», а объект TGraphic – уничтожен.

Из-за «деактивации» изображений все объекты TGraphic, используемые в TRichView, должны реализовывать методы SaveToStream и LoadToStream (существуют некоторые сторонние графические классы, которые могут загружать себя, но не могут сохранять).

Свойство TRichView.RTFReadProperties.StoreImagesFileNames удалено.

Ранее функции для перечисления сносок и текстовых полей возвращали скрытые сноски/поля, если опция rvoShowHiddenText была включена в Options, даже если параметр AllowHidden был False. Теперь параметр AllowHidden обрабатывается строго.

Событие TCustomRichView.OnURLNeeded удалено (используйте OnWriteHyperlink).

TRichView.RTFReadProperties.SetHeader и SetFooter устарели. Используйте TRichView.SetHeader и SetFooter вместо них. Примечание: они влияют не только на RTF и DocX, но и на RVF.

Тип параметра Sender в TRVReportHelper.OnDrawHyperlink и OnDrawCheckpoint изменён с TRVReportHelper на TCustomRVPrint.

Математические выражения

В ТРВ-Редактор добавлен новый тип элемента, показывающий математические формулы (TRVMathItemInfo). Для его работы требуется Delphi XE4 или более поздняя версия.

Таблицы

Новая функциональность: цвета групп строк и столбцов (чередующиеся цвета). Новые свойства:

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

RowBandSize, ColBandSize.

Новый необязательный параметр (EditCellAfter) добавлен в методы DeleteRows и DeleteCols.

Новое свойство: CellOverrideColor.

Новое событие: OnDrawBackground.

RVF

Новое свойство DocObjects позволяет сохранять объекты в RVF.

Колонтитулы

TRichView.SetHeader и SetFooter задают документы для использования в качестве верхних/нижних колонтитулов. Их можно использовать не только для RTF и DocX (как и раньше), но и для RVF и HTML.

Новая опция для сохранения HTML: rvsoHeaderFooter.

Печать

Новое свойство TRVPrint.VirtualPrinter позволяет рисовать страницы на любой канве, используя указанный размер страницы и плотность пикселей (DPI). Новые методы DrawPage и DrawPageAt.

Новые необязательные параметры в TRVPrint.Print и PrintPages позволяют печатать все/нечётные/чётные страницы в обычном/обратном порядке.

Реализован запрет висячих строк, см. опцию rvpaoWidowOrphanControl  в стиле абзаца.

Следующие события и свойства перенесены из TRVReportHelper в родительский класс: OnDrawCheckpoint, OnDrawHyperlink, NoMetafiles. Теперь их можно использовать и в TRVPrint.

В TRVPrint и TRVReportHelper добавлено новое свойство: MetafilePixelsPerInch.

TRVPageCountItemInfo теперь имеет свойство NumberType, как TRVPageNumberItemInfo.

OLE-перетаскивание (drag&drop)

Новые события TRichViewEdit: OnBeforeOleDrop и OnAfterOleDrop.

Новая опция rvoDragDropPicturesFromLinks для TRichViewEdit.EditorOptions. Если она включена, и перетаскиваемый URL-адрес является ссылкой на изображение, редактор попытается вставить его как изображение, а не как ссылку.

Поля

В стиль текста добавлено новое свойство: EmptyWidth. Оно задаёт ширину пустых текстовых элементов этого стиля. Текстовые элементы с этого стиля (с положительным значением EmptyWidth) обрабатываются в редакторе особым образом. Они позволяют реализовать редактируемые поля в документах. Демонстрационный пример «Assorted\Fields\FillInGaps» изменён и теперь использует свойство EmptyWidth.

Активация/деактивация изображений

Начиная с этой версии, TRichView деактивирует редко используемые изображения (т.е. сохраняет их в потоки в памяти и уничтожает их графические объекты). Эта функция позволяет экономить ресурсы GDI и память.

Новая глобальная переменная RichViewMaxPictureCount.

Загрузка внешних изображений

В TRichView.Options добавлена новая опция: rvoAssignImageFileNames. При включении этой опции компонент присваивает свойства «имя файла изображения» при чтении внешних изображений. Ранее для этой цели для внешних изображений в формате RTF использовался параметр RTFReadProperties.StoreImagesFileNames; это свойство удалено.

Новое событие: OnAssignImageFileName позволяет скорректировать имя файла перед сохранением его в элементе документа или ячейке таблицы.

Свойства элемента документа

Дополнительное целочисленное свойство rveipcPercentWidth добавлено в элементы-компоненты.

Дополнительные целочисленные свойства rvepSpacing, rvepBorderWidth, rvepBorderColor, rvepOuterHSpacing, rvepOuterVSpacing работают в текстовых метках.

Дополнительное целочисленное свойство rveipcRemoveSpaceBelow добавлено в текстовые метки.

Каретка (курсор ввода)

Редактор использует системную ширину каретки (по умолчанию).

Добавлены новые глобальные переменные, управляющие размером и положением каретки. Новые параметры включают:

установку ширины каретки равной ширине следующего символа/элемента;

использование события OnMeasureCustomCaret для стандартной каретки (а не только для нестандартной);

параметры для горизонтального выравнивания широкой каретки.

Другие изменения

Новое свойство TRichView.UseVCLThemes позволяет использовать цвета активной темы VCL (в Delphi XE2+).

Новое событие TRichViewEdit: OnDropFile. Оно проще в использовании, чем OnDropFiles, и срабатывает не только при перетаскивании, но и при вставке из буфера обмена.

Новое событие TRichView: OnCMHintShow позволяет отображать нестандартные подсказки.

Параметры обтекания текста (ClearLeft и ClearRight) отображаются в виде вертикальных линий вокруг знаков конца абзаца/строки, если в TRichView.Options включена опция rvoShowSpecialCharacters. Параметры обтекания текста можно экспортировать в DocX.

Новый метод TRVStyleTemplateCollection.InsertFromRVST позволяет применять стили из файла к существующим документам.

Пакеты разделены на пакеты времени выполнения (runtime) и пакеты времени проектирования (designtime).