Новое в версии 10

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

Новое в версии 10

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

Изменения, которые могут повлиять на существующий код.

HTML

▪Имена HTML-тегов, цветовые константы, имена CSS сохраняются в нижнем регистре;

▪SaveHTMLEx больше не использует следующие атрибуты для ячеек и таблиц: bordercolor, bordercolorlight, bordercolordark, background, bgcolor. Вместо них используется стили CSS. Эти атрибуты не являются стандартными.

▪OnSaveItemToFile вызывается с параметром Unicode = True при сохранении HTML-файлов в кодировке UTF-8.

Таблицы

▪Алгоритм расчёта ширины таблицы: если недостаточно места для столбцов с шириной, указанной в пикселях, они уменьшаются пропорционально (ранее уменьшались только крайние правые столбцы).

▪По умолчанию сетка таблицы больше не отображается в редакторах в режиме только для чтения (это также влияет на TBDRichViewEdit, когда он не находится в режиме редактирования).

▪В редакторе клавиша  Tab  в последней ячейке таблицы добавляет новую строку; установите глобальную переменную RichViewTableAutoAddRow в значение False, чтобы отключить эту функциональность.

Редактирование

▪BeginUpdate и EndUpdate имеют новую функциональность.

▪Простая версия GetWordAt всегда возвращает ANSI-строк.

▪Paste может вставлять графические файлы в формате CF_HDROP.

RTF

▪закладки читаются из RTF.

▪ссылки внутри документа автоматически конвертируются в/из формат RTF при экспорте/импорте.

▪верхние/нижние индексы и свойство VShift сохраняются в / читаются из RTF по-разному.

Другое

▪смысл параметра ItemNo события OnControlAction изменился.

▪методы вставки RVF игнорируют свойства фона.

Основные новые возможности

▪Анимация рисунков;

▪Всплывающие кнопки;

▪разрывы страниц внутри ячеек таблиц.

Новые типы элементов документа

▪текстовая метка;

▪последовательность;

▪сноска;

▪концевая сноска;

▪ссылка на родительскую сноску.

Новое в сохранении и чтении

HTML:

Новые возможные значения для параметра Options методов SaveHTML и SaveHTMLEx:

▪rvsoXHTML – если включено, XHTML сохраняется вместо HTML;

▪rvsoUTF8 – если включено, HTML/XHTML сохраняется в кодировке UTF-8.

Вы можете выбрать между использованием <p> и <div>.

Семейства шрифтов сохраняются в CSS для наиболее часто используемых шрифтов. Например, если название шрифта – 'Arial', будет сохранена строка 'Arial', 'Helvetica', sans-serif'.

RTF:

Вы можете указать класс, представляющий изображения PNG, используя функцию RegisterPngGraphic. После этого TRichView сможет записывать и читать изображения PNG в формате RTF.

Вы можете сохранять параметры страницы с помощью свойства DocParameters.

RTFOptions для сохранения файлов RTF меньшего размера: rvrtfSavePicturesBinary, rvrtfPNGInsteadOfBitmap.

Закладки читаются из RTF. При экспорте ссылки, начинающиеся с символа '#', преобразуются в ссылки на закладки. При импорте ссылки на закладки преобразуются в ссылки, начинающиеся с символа '#'.

Новые свойства в TCustomRichView.RTFReadProperties:

▪StoreImagesFileNames включает сохранение имён файлов внешних изображений (обновление: это свойство удалено в версии 16);

▪BasePathLinks указывает, следует ли добавлять путь к считанным гиперссылкам;

▪IgnoreBookmarks позволяет пропускать закладки;

▪IgnoreNotes позволяет пропускать сноски (обычные и концевые);

▪IgnoreSequences позволяет пропускать нумерованные последовательности;

▪IgnoreTables позволяет не загружать таблицы;

▪ReadDocParameters позволяет читать DocParameters;

▪UseSingleCellPadding задаёт режим чтения отступов внутри ячеек таблиц.

Текст:

▪Вы можете разрешить сохранение разрывов страниц в текстовых файлах. Установите RichViewSavePageBreaksInText в значение True.

Другое:

▪LoadFromStream читает документы в формате RVF, RTF или текст (автоопределение формата).

Новое в компонентах для работы с базами данных

▪TDBRichView и TDBRichViewEdit могут быть помещены в TDBCtrlGrid.

▪TDBRichView и TDBRichViewEdit могут обновлять состояние стандартных команд (actions) для работы с БД.

▪TDBRichView.OnLoadCustomFormat, TDBRichViewEdit.OnLoadCustomFormat и OnSaveCustomFormat позволяют читать и писать данные в БД в своих форматах.

▪специальная поддержка юникодных мемо-полей.

Новое в перетаскивании (drag&drop)

События низкого уровня:

▪OnOleDragEnter;

▪OnOleDragOver;

▪OnOleDragLeave;

▪OnOleDrop.

Новое в обработке юникодного текста

▪Поддержка символа Юникода для соединения слов (код $2060). Этот символ невидим и не позволяет переносить строки до и после него. Требуется специальная поддержка, поскольку почти ни один шрифт не имеет глифа для этого символа (он корректно работает только если вставлен в середину текстового элемента).

▪Сообщение WM_UNICHAR обрабатывается, если текущий текст юникодный.

▪TCustomRichView.SearchTextW и TCustomRichViewEdit.SearchTextW позволяют осуществлять поиск по строки типа WideString.

Новое в разметке и форматировании

▪Если установить типизированную константу RichViewShowGhostSpaces в значение True, пробелы, скрытые между строками, будут отображаться, если rvoShowSpecialCharacters присутствует в TCustomRichView.Options.

▪Вы можете определить, какие символы отображать в режиме ShowSpecialCharacters. Они перечислены в типизированной константе RVVisibleSpecialCharacters.

▪Новые возможные значения для TCustomRichView.BackgroundStyle.

▪Новое свойство TCustomRichView.MaxLength – максимальное количество символов в строке.

▪Новое свойство TCustomRichView.WordWrap позволяет отключить перенос слов.

▪Если установить типизированную константу RichViewWrapAnywhere в значение True, текст может переноситься в любом месте (эта константа была удалена в версии 13).

Новые атрибуты текста

▪Новые опции защиты (Protection) текста: rvprStyleSplitProtect, rvprSticking2, rvprSticking3.

▪Новое свойство HoverEffects позволяет подчёркивать гиперссылки под курсором мыши.

▪Новые свойства UnderlineType, UnderlineColor и HoverUnderlineColor настраивают внешний вид гиперссылки.

▪Новое свойство SubSuperScriptType реализует верхние и нижние индексы.

Новое в печати документа

▪TRVReportHelper и TRVPrint больше не требуют родительского компонента. Их можно разместить в модуле данных или создать без владельца.

▪TRVPrintPreview отображает полный размер бумаги, включая области, где принтер не может печатать (см. функцию WinAPI GetDeviceCaps, константы PHYSICAL***).

▪Свойство TRVPrintPreview.PrintableAreaPen. Если установить его Style<>psClear, TRVPrintPreview отобразит границы области печати (в предыдущих версиях этот прямоугольник отображался как вся страница).

▪Свойство TRVPrint.FixMarginsMode.

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

▪Свойство элементов документа rvepVisible позволяет скрыть визуальные компоненты;

▪Свойство элементов документа rvepResizable работает и для рисунков;

▪Свойство элементов документа rvespAlt может быть применено к значкам and интерактивным значкам, так же как к рисункам и интерактивным рисункам;

▪новые значения для свойства VAlign элементов документа: rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle.

▪новые стили для горизонтальных линий: штриховые и пунктирные; все типы линий рисуются без скругления концов.

Новое в закладках

Новый набор методов, работающих с закладками, находящимися точно в позиции каретки:

▪InsertCheckpoint;

▪GetCheckpointAtCaret;

▪RemoveCheckpointAtCaret.

Новое в таблицах

▪Ячейки таблицы можно распечатать на нескольких страницах (ранее разрывы страниц были возможны только между строками).

▪Новая опция для table.Options: rvtoNoCellSelect. Если она включена, выделение нескольких ячеек мышью не допускается.

▪Новое свойство table.VisibleBorders позволяет скрыть некоторые стороны рамки таблицы. Прямое присвоение значения этому свойству нельзя отменить/вернуть, используйте для этого table.SetTableVisibleBorders.

▪Сетка таблиц больше не отображается в редакторах  в режиме только для чтения. Точнее, она отображается с помощью глобальной переменной RichViewTableGridStyle2 (значение по умолчанию: psClear). Тот же стиль линии используется для рисования таблицы в TRichView.

▪Копирование выделения нескольких ячеек в виде фрагмента таблицы (в формате RVF); специальная вставка пока не реализована, вставляется как новая таблица.

▪Добавление новой строки таблицы при нажатии клавиши  Tab  в последней ячейке (установите глобальную переменную RichViewTableAutoAddRow в значение False, чтобы отключить эту функциональность).

▪Новые свойства RowCount, ColCount.

▪Новые свойства CellHPadding, CellVPadding.

▪Новое свойство Cell.Hint.

▪Новое свойство Row.PageBreakBefore.

▪Новые методы SetCellBackgroundImageFileName и SetCellHint.

▪Улучшен алгоритм расчёта ширины таблицы.

▪Улучшена реализация SplitSelectedCellsVertically и SplitSelectedCellsHorizontally.

Новое в RVF

Если изображение не было возвращено в событии OnRVFPictureNeeded, это событие вызывается во второй раз со значением свойства rvespImageFileName в параметре Name (если значение этого свойства было сохранено для данного элемента). (Обновление: в TRichView 14 событие OnRVFPictureNeeded было переработано, и теперь оно не вызывается дважды).

Нестандартная каретка

Вы можете нарисовать свою собственную каретку (курсор ввода) вместо системной. Она активируется свойством CustomCaretInterval, измеряется в событии OnMeasureCustomCaret, а рисуется в событии OnDrawCustomCaret.

Другое

▪Следующие сообщения Windows обрабатываются TCustomRichView: EM_GETSEL, EM_SETSEL, EM_GETTEXTRANGE. Если эти сообщения вам не нужны, вы можете активировать директивы RVDONOTUSELINEARPOSITIONS в файле RV_Defs.inc. Это немного уменьшит размер исполняемого файла.

▪Вставка графических файлов в формате CF_HDROP, см. PasteGraphicFile.

▪В значение по умолчанию TCustomRichView.Delimiters добавлены новые символы.

▪Изменён смысл методов BeginUpdate и EndUpdate для TCustomRichViewEdit.

▪Новая опция для TCustomRichView.SearchText: rvsroFromStart.

▪Изменения в TCustomRichView.GetWordAt.

▪Возможность удаления неиспользуемых стилей в нескольких документах, см. TRVDeleteUnusedStylesData.

▪Значительно более быстрое форматирование, особенно если параметр rvoFastFormatting включён в TCustomRichView.Options (по умолчанию). Значительно более быстрая загрузка RTF-файлов. Значительно более быстрое копирование в буфер обмена.

▪Функция RVIsCustomURL.

▪ Ctrl + ↑  и  Ctrl + ↓  прокручивают документ вниз/вверх вместо перемещения курсора.

▪(в режиме Юникода в WinNT/2000/XP/Vista) специальная поддержка ввода на казахском, татарском, монгольском, азербайджанском (кириллица и латиница), узбекском, киргизском, сербском языках.

▪Новые «скрытые» параметры в TCustomRichView.OnControlAction.