TRichView.ru
English | Deutsch | Español | Português | Русский

      Описание 

Стили текста и абзацев

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

Компоненты TRichView поддерживают три основных режима работы со стилями.

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

Пример: редактирование стилей
Мульти-демо: редактирование заранее заданного набора стилей текста
Инспектор стилей
Инспектор стилей в RichViewActions использует предопределённый набор стилей текста и абзацев

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

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

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

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

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

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

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

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

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

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

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

  • могут задавать не все свойства абзаца и текста, а только некоторые;
  • могут наследовать свойства родительского стиля.
Пример «ActionTest» меняет оформление документа «readme.rvf» при импорте файлов стилей
Набор стилей: Simple
«Simple.rvst»
Набор стилей: Original
«Original.rvst»
Набор стилей: Tradition
«Tradition.rvst»
Набор стилей: Fancy
«Fancy.rvst»

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

Диалог управления стилями
Диалог управления стилями в RichViewActions