Стили в компонентах ТРВ-Редактор (TRichView) для Дельфи и Лазаруса (Delphi и Lazarus)
Показать или спрятать менюTRichView.ru

  Стили текста и абзацев в ТРВ-Редакторе (TRichView)

Стили позволяют отделить форматирование документа от его содержимого. Применив другой набор стилей, вы можете поменять оформление ваших документов.

Компоненты ТРВ-Редактор (TRichView) поддерживают три основных режима работы со стилями.

1. Ограничение используемого форматирования текста и абзацев

Пример: редактирование стилей
Мульти-демо: редактирование заранее заданного набора стилей текста

Инспектор стилей
Инспектор стилей в Инструментах интерфейса ТРВ (RichViewActions) использует предопределённый набор стилей текста и абзацев

В этом режиме вы можете задать определённый набор атрибутов текста и абзаца (в свойствах-коллекциях атрибутов текста (TextStyles) и абзацев (ParaStyles) компонента TRVStyle), и этот набор не будет меняться во время работы приложения. Каждый элемент в коллекциях атрибутов текста и абзаца имеет своё название и значение.

При импорте файлов DocX, RTF или RVF атрибуты текста и абзацев из файла отображаются в наиболее похожие на них элементы сответствующих коллекций.

Изменив свойства элементов коллекций атрибутов, вы придаёте документам новый вид (см. пример «Мульти-демо»).

Этот режим удобен для случаев:

  • когда компонент используется в пользовательском интерфейсе (например, Инспектор стилей в Инструментах интерфейса ТРВ (RichViewActions));
  • когда создаётся множество документов с однотипным оформлением (таких как статьи в словаре или энциклопедии).

2. Свободное изменение оформления текста и абзацев

В этом режиме вы можете задать некоторые начальные значения элементов коллекций атрибутов текста и абзацев (TextStyles и ParaStyles), но большинство элементов этих коллекций добавляются в ходе работы приложения. Например, новые элементы могут быть добавлены при вставке файлов форматов HTML, DocX, RVF, RTF или при применении команд к выделенному фрагменту (таких как «сделать курсивом» или «изменить размер шрифта»).

При этом элементы коллекций атрибутов работают скорее как обычные свойства текста и абзацев, чем стили (не смотря на их название): большинство из них не имеют уникального названия и смысла. Подмножество элементов могут быть отмечены как «стандартные стили» и обрабатываться как в первом режиме. Однако это не полноценное решение для реализации стилей, так как их изменение затрагивает только фрагменты документа, которые непосредственно используют эти стили.

3. Свободное форматирование и «настоящие стили» («style templates»)

«Настоящие стили» не определяют свойства текста и абзацев напрямую. Вместо этого они предоставляют механизм для обновления коллекций атрибутов текста и абзацев (TextStyles и ParaStyles).

«Настоящие стили» – это прямой аналог именованных стилей, которые используются в текстовых процессорах, таких как Microsoft Word.

Каждый стиль («style template») может иметь свойства как текста, так и абзаца. При этом такие стили:

  • могут задавать не все свойства абзаца и текста, а только некоторые;
  • могут наследовать свойства родительского стиля.

Пример «ЭкшенТест» («ActionTest») меняет оформление загруженного документа при импорте файлов стилей

Набор стилей: Simple
«Simple.rvst»

Набор стилей: Original
«Original.rvst»

Набор стилей: Tradition
«Tradition.rvst»

Набор стилей: Fancy
«Fancy.rvst»

Вы можете применить новый набор стилей к существующим документам, чтобы поменять их оформление. Стили поддерживаются Инструментами интерфейса ТРВ (RichViewActions). В Инструменты интерфейса ТРВ (RichViewActions) включён диалог управления стилями (где можно добавить, удалить и изменить стили) и компонент-список для применения стиля к выделенному фрагменту.

Диалог управления стилями
Диалог управления стилями в Инструментах интерфейса ТРВ (RichViewActions)