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