rvstyle TRVStyle

Свойства   Методы   События

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

rvstyle TRVStyle

Свойства   Методы   События

Этот невидимый во время выполнения компонент используется для настройки внешнего вида компонентов 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 разрешает использовать звуковые сигналы.

Использование главного TRVStyle

Если свойству MainRVStyle назначен другой компонент TRVStyle, большинство свойств данного TRVStyle просто предоставляют доступ к свойствам главного TRVStyle.

Например, свойство SelColor возвращает значение MainRVStyle.SelColor.

Изначально эта возможность была реализована для использования одной коллекции StyleTemplates в нескольких компонентах TRVStyle. Однако в новой версии TRVStyle совместно используются все свойства MainRVStyle.

Следующие свойства не используются совместно:

▪TextStyles

▪ParaStyles

▪ListStyles

▪все события.

Методы

Можно сохранить и загрузить всё содержимое компонента TRVStyle в ini-файл:

▪SaveINI сохраняет свойства TRVStyle в ini-файл;

▪LoadINI загружает свойства TRVStyle из ini-файла;

или системный реестр:

▪SaveReg сохраняет свойства TRVStyle в реестр;

▪LoadReg загружает свойства TRVStyle из реестра;

Можно экспортировать таблицу стилей (для сохранения файлов HTML):

▪SaveCSS;

▪SaveCSSToStream.

Можно искать стили с требуемыми свойствами:

▪FindTextStyle, FindParaStyle

События

Нестандартное рисование:

▪OnDrawCheckpoint – рисование закладок;

▪OnDrawPageBreak – рисование разрывов страниц;

▪OnDrawParaBack – рисование фона абзаца;

▪OnDrawTextBack – рисование фона текста;

▪OnApplyStyle – применение текстового стиля к канве;

▪OnApplyStyleColor – применение цветов текстового стиля к канве;

▪OnDrawStyleText – рисование текста заданного стиля;

▪OnStyleHoverSensitive определяет, следует ли перерисовать текст указанного стиля при подведения к нему указателя мыши.