|
<< Нажмите, чтобы показать Содержание >> Обзор элементов документа ТРВ-Редактора (TRichView) |
Документы в компоненте TRichView состоят из элементов. Элементы нумеруются от 0 до ItemCount-1. Некоторые элементы могут содержать вложенные документы, которые в свою очередь, содержат элементы. К таким элементам относятся:
▪таблицы (каждая ячейка – это поддокумент, показываемый в том же компоненте TRichView)
▪сноски (концевые, обычные, в рамке) и текстовые поля (их вложенные документы не отображаются в компоненте TRichView; однако они печатаются, а также отображаются в СРВ-Редакторе (ScaleRichView).
Элементы поддокументов не являются элементами основного документа и не включаются в диапазон элементов от 0 до ItemCount-1.
Метод GetItemStyle возвращает идентификатор типа (также называемый в данном руководстве «стилем») заданного элемента. В редакторе метод CurItemStyle возвращает стиль элемента в позиции каретки.
Если возвращаемое значение равно 0 или положительное, это текстовый элемент. В этом случае возвращаемое значение определяет стиль этого текста: это номер в коллекции TextStyles связанного компонента TRVStyle.
Если возвращаемое значение отрицательное, это константа, определяющая класс элемента.
Стандартные типы элементов ТРВ-Редактора:
▪Значки (изображения из TImageList)
▪Маркеры списка (для добавления номеров и значков к абзацам)
▪Текстовые метки (нетекстовый элемент, выглядящий как текст)
▪Нумерованные последовательности
▪Сноски в рамке (сноски, отображающиеся в плавающем прямоугольнике)
▪Текстовые блоки (плавающие прямоугольники)
▪Ссылки на родительскую сноску
▪Математические выражения [VCL]
▪Файлы, приложенные к сообщению чата
Ниже представлен обзор свойств, общих для всех типов элементов.
Каждый элемент имеет связанный с ним текст. Для текстовых элементов этот текст отображается. Для нетекстовых элементов этот текст не используется самим компонентом; в нём можно хранить любую информацию. Текст не должен содержать символы: CR (#13), LF (#10), #0.
См. методы GetItemText, SetItemText компонента TRichView и соответствующие методы компонента TRichViewEdit.
Тег – это дополнительное юникодное строковое значение, связанное с каждым элементом.
Значение тегов по умолчанию — пустая строка ('').
Например, вы можете использовать теги для хранения адресов гиперссылок.
См. также: Теги в ТРВ-Редакторе
Закладка отмечает элемент и может использоваться для быстрого его поиска.
См. также: Закладки в ТРВ-Редакторе
Если флажок установлен, элемент начинает новую страницу.
Элементы организованы в абзацы. Атрибуты абзаца определены в коллекции ParaStyles связанного компонента TRVStyle.
GetItemPara возвращает номер стиля абзаца для заданного элемента. Этот метод возвращает одно и то же значение для всех элементов в одном абзаце.
IsParaStart возвращает True, если данный элемент начинает новый абзац.
IsFromNewLine возвращает True, если этот элемент начинает новый абзац или новую строку в абзаце.
Эти свойства могут применяться только к нетекстовым элементам, которые позиционируются так же, как символы в тексте. Они не могут применяться к элементам, занимающим целую строку (например, таблицам и горизонтальным линиям).
По умолчанию нижний край элемента выравнивается по базовой линии текста (элементы некоторых типов могут выравниваться по-другому, см. TRVVAlign).
Вы можете перемещать элемент вверх или вниз на указанное количество пикселей/твипов/EMU или процентов. См. следующие дополнительные свойства элемента: rvepVShift, rvepVShiftAbs.
Для текстовых элементов см. свойство VShift стиля текста.
Вы можете задать отступы вокруг нетекстового элемента. См. следующие дополнительные свойства элемента: rvepSpacing.
GetItemCoords возвращает координаты верхнего левого угла заданного элемента относительно начала документа.
GetItemClientCoords возвращает координаты левого верхнего угла заданного элемента относительно верхнего левого угла окна компонента TRichView.
Самый универсальный метод получения координат элемента: GetItemCoordsEx.
Текст имеет несколько вариантов защиты, см. свойство Protection.
Вы можете защитить нетекстовые элементы от удаления. См. следующие дополнительное свойство элемента rvepDeleteProtect.
Элементы можно скрывать. Скрытые элементы отображаются только в том случае, если опция rvoShowHiddenText включена в свойство Options компонента TRichView.
Текстовые элементы скрываются, если опция rvteoHidden включена в свойство Options их стиля.
Нетекстовые элементы скрываются, дополнительному свойству rvepHidden присвоено ненулевое значение.
Компонент может отображать подсказку, когда указатель мыши находится над элементом.
См. следующие дополнительное строковое свойство элемента: rvespHint.
Вы можете настроить подсказку в событии OnItemHint.
OnItemAction срабатывает при добавлении, удалении, перемещении элемента в список отмены операций, или изменении текста элемента.
OnSaveItemToFile происходит при сохранении элемента файл или поток в формате текста, RTF, DocX, HTML или Markdown. Это событие низкого уровня. Оно позволяет изменить способ сохранения элемента.