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

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

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

Таблица – это особый тип элементов документа ТРВ-Редактора, как и изображения, компоненты, горизонтальные линии и т. д. Но таблицы гораздо сложнее, поскольку каждая ячейка содержит документ ТРВ-Редактора. Более того, таблицы могут содержать внутри себя другие таблицы, поэтому документы ТРВ-Редактора могут быть вложены на любую глубину.

Как создать и вставить таблицу

Как создать таблицу

uses RVTable;

...

var

  table:TRVTableItemInfo;

...

table := TRVTableItemInfo.CreateEx(RowCount, ColumnCount, RVData);

где RVData – документ, в который вы хотите вставить таблицу. Обычно это TRichView.RVData или TRichViewEdit.RVData.

Как добавить таблицу в конец документа ТRichView

table.ParaNo := <Номер стиля абзаца>

richview.AddItem(<Имя таблицы>, table)

где <Имя таблицы> – любая строка, которая будет связана с таблицей; <Номер стиля абзаца> – номер в коллекции стилей абзаца. Указанный стиль абзаца будет применён к самой таблице, а не к её ячейкам.

Этот метод не переформатирует документ и требует вызова метода Format перед тем, как документ будет показан.

Как вставить таблицу в TRichViewEdit

richviewedit.InsertItem(<Имя таблицы>, table)

Этот метод вставляет таблицу в позицию каретки, даже если каретка находится в ячейке другой таблицы.

Этот метод может вернуть False, если документ доступен только для чтения или вставка невозможна из-за защиты текста. В этом случае память под таблицу будет освобождена методом InsertItem.

Размещение таблицы

Таблица всегда занимает всю строку. Нельзя разместить другие элементы слева или справа от неё (если это необходимо, используйте вложенные таблицы), включая маркеры списков.

Стиль абзаца таблицы определяет её положение: выравнивание (Alignment), отступ слева (LeftIndent), отступ справа (RightIndent) (отступ первой строки (FirstIndent) игнорируется). Стиль абзаца может задавать рамку вокруг таблицы и фон. Все эти свойства применяются к самой таблице, а не к её ячейкам.