|
<< Нажмите, чтобы показать Содержание >> Корректные документы ТРВ-Редактора (TRichView) |
У структуры документов имеются некоторые ограничения.
В своём внутреннем устройстве, каждый элемент документа имеет свойства:
▪номер стиля абзаца
▪флажок «этот элемент начинает абзац»
▪флажок «этот элемент начинает строку внутри абзаца»
Не все комбинации допустимы.
Все методы редактирования документа всегда создают корректный документ (при условии, что он был корректным до их вызова).
Но некоторые методы быстрого изменения документа могут создавать некорректные документы (особенно это относится к DeleteItems)
1.Все элементы в абзаце должны иметь одинаковый номер стиля абзаца (в большинстве случаев это обеспечивает TRichView. Но неправильное использование DeleteItems и SetAddParagraphMode может привести к созданию некорректных документов).
2.Первый элемент документа (включая первый элемент в ячейках таблиц) должен начинать новый абзац.
3.Элементы, занимающие всю строку (горизонтальные линии и таблицы) должны начинать новый абзац.
4.Элемент, следующий за элементом, занимающим полную строку, должен начинать новый абзац.
5.Ячейки таблицы должны содержать хотя бы один элемент (по умолчанию они содержат один пустой текстовый элемент).
6.Маркеры списка должны начинать новый абзац.
7.Абзац после маркера списка должен содержать как минимум один элемент (который может быть пустым текстовым элементом). Документы, в которых следующий элемент после маркера начинает новый абзац (или строку), считаются некорректными.
8.Пустые текстовые элементы могут находиться только в пустых абзацах (единственный элемент в абзаце или единственный элемент после маркера списка). Исключение составляют пустые текстовые элементы, отформатированные стилем с EmptyWidth>0; они могут находиться в любом месте текста.
Инструменты интерфейса ТРВ (RichViewActions) включают модуль RVNormalize, содержащий процедуру NormalizeRichView. Эта процедура исправляет большинство проблем, делающих документ некорректным.