|
<< Нажмите, чтобы показать Содержание >> Новое в версии 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 позволяют читать и писать данные в БД в своих форматах.
▪специальная поддержка юникодных мемо-полей.
События низкого уровня:
▪Поддержка символа Юникода для соединения слов (код $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.
▪новые стили для горизонтальных линий: штриховые и пунктирные; все типы линий рисуются без скругления концов.
Новый набор методов, работающих с закладками, находящимися точно в позиции каретки:
▪Ячейки таблицы можно распечатать на нескольких страницах (ранее разрывы страниц были возможны только между строками).
▪Новая опция для table.Options: rvtoNoCellSelect. Если она включена, выделение нескольких ячеек мышью не допускается.
▪Новое свойство table.VisibleBorders позволяет скрыть некоторые стороны рамки таблицы. Прямое присвоение значения этому свойству нельзя отменить/вернуть, используйте для этого table.SetTableVisibleBorders.
▪Сетка таблиц больше не отображается в редакторах в режиме только для чтения. Точнее, она отображается с помощью глобальной переменной RichViewTableGridStyle2 (значение по умолчанию: psClear). Тот же стиль линии используется для рисования таблицы в TRichView.
▪Копирование выделения нескольких ячеек в виде фрагмента таблицы (в формате RVF); специальная вставка пока не реализована, вставляется как новая таблица.
▪Добавление новой строки таблицы при нажатии клавиши Tab в последней ячейке (установите глобальную переменную RichViewTableAutoAddRow в значение False, чтобы отключить эту функциональность).
▪Новые свойства RowCount, ColCount.
▪Новые свойства CellHPadding, CellVPadding.
▪Новое свойство Row.PageBreakBefore.
▪Новые методы SetCellBackgroundImageFileName и SetCellHint.
▪Улучшен алгоритм расчёта ширины таблицы.
▪Улучшена реализация SplitSelectedCellsVertically и SplitSelectedCellsHorizontally.
Если изображение не было возвращено в событии 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.