Маркеры списка (значки и нумерация абзацев) в документе ТРВ-Редактора (TRichView)

<< Нажмите, чтобы показать Содержание >>

Маркеры списка (значки и нумерация абзацев) в документе ТРВ-Редактора (TRichView)

Это особый тип элемента, представляющий собой маркер или номер для создания списка абзацев.

Тип (стиль) этого элемента: rvsListMarker (-11)

См. также: нумерованные последовательности.

Свойства маркеров списка

Компонент TRVStyle содержит коллекцию стилей списков (ListStyles). Каждый стиль списка содержит набор уровней списка (свойство Levels). Уровень списка определяет большинство свойств списка.

Маркеры списка – это особый тип элементов. Они вставляются с помощью специальных функций. Они всегда вставляются в начало абзаца.

Они обладают следующими свойствами:

ListNo номер в коллекции стилей списка;

LevelNo номер уровня списка;

StartFrom значение счётчика списка, если UseStartFrom=True;

UseStartFrom если True, значение счётчика списка задаётся в StartFrom. Если False, нумерация продолжается.

Операции над маркерами списка

Методы TCustomRichView:

SetListMarkerInfo,

GetListMarkerInfo,

RefreshListMarkers.

Методы TCustomRichViewEdit:

ApplyListStyle,

RemoveLists,

ChangeListLevels.

Сохранение и загрузка

RVF

Для маркеров с изображениями из списков (TImageList): сами списки изображений не сохраняются в RVF. Сохраняются только значение свойств TImageList.Tag. При загрузке происходит событие OnRVFImageListNeeded, позволяющее предоставить нужный список изображений.

Экспорт в HTM, HTMLSaveProperties.ListMarkerSavingType = rvhtmlmstNormal

Списки сохраняются с использованием HTML-элементов <ul> и <ol>.

Экспорт с использованием CSS (HTMLSaveProperties.HTMLSavingType = rvhtmlstNormal):

CSS списков частично вставляется непосредственно в HTML (как встроенные атрибуты), частично сохраняется в таблице стилей.

rvlstBullet, rvlstUnicodeBullet экспортируются по возможности как стандартные значки (круг, окружность, квадрат). В противном случае используется FormatString. Font игнорируется;

rvlstDecimal, rvlstLowerAlpha и другие нумерованные маркеры сохраняются как соответствующая нумерация. FormatString и Font игнорируются;

rvlstPicture, rvlstImageList, rvlstImageListCounter сохраняются как маркер-изображение. Стандартное сохранение можно изменить в событии OnHTMLSaveImage.

Отступы сохраняются.

Экспорт без CSS (HTMLSaveProperties.HTMLSavingType = rvhtmlstSimplified):

rvlstBullet, rvlstUnicodeBullet, rvlstPicture, rvlstImageList экспортируются как стандартные значки (круг, окружность, квадрат). FormatString, Picture, ImageList и Font игнорируются;

rvlstDecimal, rvlstLowerAlpha и другие нумерованные маркеры сохраняются как соответствующая нумерация (или как десятичная, если тип нумерации не поддерживается в HTML). FormatString и Font игнорируются;

rvlstImageListCounter сохраняется как десятичная нумерация.

Отступы не сохраняются.

Экспорт в HTML, HTMLSaveProperties.ListMarkerSavingType = rvhtmlmstAsText

Маркеры сохраняются без использования особых HTML-элементов (таких как <ol>, <ul>, <li>).

Font и строка формата учитываются.

Сохранение с использованием CSS (HTMLSaveProperties.HTMLSavingType = rvhtmlstNormal):

LeftIndent и MarkerIndent сохраняются. FirstIndent сохраняется, если первая строка не выступает из текста (MarkerIndent>=LeftIndent).

Сохранение без CSS (HTMLSaveProperties.HTMLSavingType = rvhtmlstSimplified):

Все отступы игнорируются.

Обычно, HTML-файлы, сохранённые в этом режиме, больше похожи на оригинальные документы визуально.

Демонстрационные проекты

Demos\*\Assorted\ListStyles\