|
<< Нажмите, чтобы показать Содержание >>
|
Этот невидимый во время выполнения компонент используется для настройки внешнего вида компонентов TRichView м TRichViewEdit.
Модуль [VCL/FMX] RVStyle / fmxRVStyle.
Синтаксис
TRVStyle = class(TComponent)
TObject
TPersistent
TComponent
Если вы хотите отобразить документ в компоненте TRichView, создайте компонент TRVStyle и назначьте его свойству Style компонента TRichView. Это можно сделать во время разработки с помощью Инспектора объектов (Object Inspector).
Один и тот же компонент TRVStyle можно использовать для нескольких компонентов TRichView, TRichViewEdit, TDBRichView, TDBRichViewEdit. Но при этом следует соблюсти ряд условий. Компонент TRVStyle имеет три свойства-коллекции, представляющие форматирование документа: TextStyles (атрибуты текста), ParaStyles (атрибуты абзацев), ListStyles (нумерация и маркировка абзацев). При совместном использовании одного TRVStyle несколькими компонентами TRichView следует обеспечить, чтобы ни один из этих компонентов TRichView не удалял элементы из этих коллекций, так как это приведёт к рассинхронизации документов в других TRichView с элементами свойств-коллекций.
Главным образом совместное использование TRVStyle может быть полезно, если используется фиксированный набор стилей, то есть свойств-коллекции не меняются в ходе работы приложения. Также возможно использовать операции редактирования, которые только добавляют новые элементы в коллекции.
Но есть ряд операций, использование которых делает невозможным совместное использование TRVStyle. Главным образом это удаление неиспользуемых стилей (если не используются специальные методы для удаления стилей, не используемых ни в одном TRichView) и загрузка документов формата RVF (очищающая коллекции стилей).
В частности, TRVStyle нельзя использовать совместно, если:
▪используется TCustomRichView.DeleteUnusedStyles;
▪TDBRichViewEdit.AutoDeleteUnusedStyles = True;
▪используются TCustomRichView.LoadRVF или LoadRVFFromStream, и при этом RVFTextStylesReadMode или RVFParaStylesReadMode <> rvf_sIgnore;
▪используется TDBRichView или TDBRichViewEdit, и при этом RVFTextStylesReadMode или RVFParaStylesReadMode <> rvf_sIgnore.
См. также: Стили и шаблоны стилей.
TRVStyle имеет редактор компонента, доступный во время разработки. Этот редактор:
▪добавляет в контекстное меню компонента три команды: “Edit Text Styles” («Редактировать стили текста»), “Edit Paragraph Styles” («Редактировать стили абзацев») и “Edit List Styles” («Редактировать стили списков»), которые вызывают редакторы свойств TextStyles, ParaStyles и ListStyles;
▪добавляет в контекстное меню команду “Convert Lengths to twips” («Преобразовать размеры в твипы») (а также в пиксели или EMU), позволяющую преобразовать все свойства TRVStyle, значения которых задаются в единицах, указанных в Units;
▪добавляет в контекстное меню три команды: “Edit Style Templates” («Редактировать шаблоны стилей»), “Save Style Templates...” («Сохранить шаблоны стилей...») и “Load Style Templates...” («Загрузить шаблоны стилей...»), которые соответственно вызывают редактор свойства StyleTemplates, сохраняют шаблоны в файл и загружают их из файла;
▪при двойном щелчке по компоненту вызывает редактор свойства TextStyles.
Три основных свойства:
▪TextStyles – коллекция атрибутов (стилей) текста, содержащая элементы TFontInfo;
▪ParaStyles – коллекция атрибутов (стилей) абзацев, содержащая элементы TParaInfo;
▪ListStyles – коллекция стилей списков абзацев (маркеров и нумерации), содержащая элементы TRVListInfo.
Шаблоны стилей («настоящие» стили)
▪StyleTemplates – коллекция «настоящих» стилей, управляющих свойствами TextStyles и ParaStyles;
Единицы измерения
▪Units задаёт единицы измерения для свойств этого компонента и документов в связанных компонентах TRichView;
▪UnitsPixelsPerInch задаёт плотности пикселей (значение DPI) для величин, измеряемых в пикселях.
Цвета для связанных компонентов:
▪Color – цвет фона по умолчанию;
▪SelColor, InactiveSelColor – цвета фона выделенного текста, когда компонент имеет и не имеет фокус ввода;
▪SelTextColor, InactiveSelTextColor – цвета выделенного текста, когда компонент имеет и не имеет фокус ввода;
▪DisabledFontColor – цвет текста в отключённых компонентах;
▪HoverColor – цвет по умолчанию для гипертекстовых ссылок при наведении указателя мыши;
▪CheckpointColor, CheckpointEvColor – цвета закладок (если они показываются);
▪PageBreakColor, SoftPageBreakColor – цвета разрывов страниц (если они показываются);
▪FloatingLineColor – цвета заполнителей и линий к объектам, выравненным по левому и правому краям (если они показываются).
▪GridColor, GridReadOnlyColor – цвета линий сетки таблиц (если они показываются); GridStyle, GridReadOnlyStyle задают стили пера для них.
Курсоры:
▪JumpCursor – гипертекстовый курсор для интерактивных значков и интерактивных рисунков (и курсор по умолчанию для текстовых гиперссылок);
▪LineSelectCursor – курсор для левого поля.
Табуляция:
▪SpacesInTab – если значение положительное, методы Add*** компонента TRichView, методы загрузки текста, RTF и DocX, а также ввод с клавиатуры заменяют символы табуляции указанным количеством пробелов. Если значение равно 0 (по умолчанию), используется специальный тип элемента документа: табуляция;
▪DefTabWidth – расстояние по умолчанию между позициями табуляции.
Свойства для текстовых меток и элементов, унаследованных от них:
▪FieldHighlightColor – цвет подсветки меток.
▪FieldHighlightType указывает, когда подсвечивать метки.
▪FootnoteNumbering – тип нумерации сносок.
▪FootnotePageReset – режим нумерации сносок.
▪EndnoteNumbering – тип нумерации концевых сносок.
▪SidenoteNumbering – тип нумерации сносок в рамке.
Свойства выделения текста:
▪SelectionStyle – внешний вид выделения (рисовать для элементов или строк);
▪SelectionMode – режим выделения;
▪SelectionHandleKind – внешний вид маркеров выделения для сенсорного экрана;
▪SelColor, InactiveSelColor – цвета фона выделенного текста (в фокусе ввода и нет);
▪SelTextColor, InactiveSelTextColor – цвета выделенного текста (в фокусе ввода и нет);
▪SelOpacity – степень непрозрачности заливки выделения (непрозрачное и полупрозрачные выделения рисуются по-разному)
Другие свойства:
▪TextEngine указывает, какой программный механизм (API) использовать для рисования текста;
▪ParaBackAroundContent указывает, как рассчитываются границы фона абзаца;
▪FontQuality – качество шрифта и сглаживание;
▪DefCodePage – кодовая страница по умолчанию для преобразования текста из кодировки ANSI в Юникод и обратно;
▪LineWrapMode задаёт алгоритм переноса строк;
▪UseSound разрешает использовать звуковые сигналы.
Если свойству MainRVStyle назначен другой компонент TRVStyle, большинство свойств данного TRVStyle просто предоставляют доступ к свойствам главного TRVStyle.
Например, свойство SelColor возвращает значение MainRVStyle.SelColor.
Изначально эта возможность была реализована для использования одной коллекции StyleTemplates в нескольких компонентах TRVStyle. Однако в новой версии TRVStyle совместно используются все свойства MainRVStyle.
Следующие свойства не используются совместно:
▪все события.
Можно сохранить и загрузить всё содержимое компонента TRVStyle в ini-файл:
▪SaveINI сохраняет свойства TRVStyle в ini-файл;
▪LoadINI загружает свойства TRVStyle из ini-файла;
или системный реестр:
▪SaveReg сохраняет свойства TRVStyle в реестр;
▪LoadReg загружает свойства TRVStyle из реестра;
Можно экспортировать таблицу стилей (для сохранения файлов HTML):
▪SaveCSS;
Можно искать стили с требуемыми свойствами:
Нестандартное рисование:
▪OnDrawCheckpoint – рисование закладок;
▪OnDrawPageBreak – рисование разрывов страниц;
▪OnDrawParaBack – рисование фона абзаца;
▪OnDrawTextBack – рисование фона текста;
▪OnApplyStyle – применение текстового стиля к канве;
▪OnApplyStyleColor – применение цветов текстового стиля к канве;
▪OnDrawStyleText – рисование текста заданного стиля;
▪OnStyleHoverSensitive определяет, следует ли перерисовать текст указанного стиля при подведения к нему указателя мыши.