dbrichview TDBRichView [VCL и LCL]

Свойства   Методы   События

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

dbrichview TDBRichView [VCL и LCL]

Свойства   Методы   События

Используйте компонент TDBRichView для показа документов, хранящихся в базе данных.

Модуль DBRV;

Синтаксис

TDBRichView = class(TCustomRichView)

TDBRichView не отображает своё содержимое, если он не связан с компонентом TRVStyle через свойство Style.

Наиболее важные свойства можно настроить в редакторе компонента TRichView. В среде Delphi щёлкните правой кнопкой мыши компонент TDBRichView на форме и выберите «Settings» (Настройки) в контекстном меню.

Если приложению не требуются возможности TDBRichView для работы с базой данных, используйте вместо него TRichView, чтобы экономить системные ресурсы.

Для редактирования документов в полях базы данных используйте TDBRichViewEdit.

В Delphi XE2 и более новых версиях есть ещё один способ работы с данными – LiveBindings (см. свойство TRichView.Document).

Иерархия

TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TRVScroller

TCustomRichView

Тип поля

Этот компонент должен быть связан с BLOB-полем.

Если вы используете RVF (RichView Format) или DocX, поле базы данных должно иметь двоичный тип BLOB, то есть должно позволять хранить произвольные двоичные данные без преобразования и фильтрации символов. Например, в таблицах Paradox это тип Binary, а в таблицах Microsoft Access – OLE Object.

Можно также использовать текстовое BLOB-поле (memo). Поля memo не могут хранить двоичные данные, поэтому сохранять в них документы в форматах RVF и DocX невозможно. Однако такие поля можно использовать для отображения текста, HTML или RTF (Rich Text Format).

Начиная с Delphi 2006, реализована специальная поддержка полей типа Unicode memo (Field.DataType = ftWideMemo). TDBRichView не пытается загружать из них RVF и DocX. Он пытается загрузить юникодный RTF (RTF-код, преобразованный в UTF-16), HTML или юникодный текст.

Если опция rvfoLoadBack включена в RVFOptions, компонент очищает BackgroundPicture перед загрузкой данных из поля.

Поддерживаемые форматы данных

Поддерживаются следующие форматы документов:

▪RVF (RichView Format),

▪RTF (Rich Text Format),

▪DocX (документ Microsoft Word)

▪HTML

▪текст

▪Markdown

▪другие (с использованием событий).

Для всех типов полей, кроме Unicode memo:

1.Вызывается событие OnLoadCustomFormat .

2.Если событие не обработано, TDBRichView пытается загрузить RVF.

3.Если поле не содержит RVF, он пытается загрузить RTF (или обычный RTF, или RTF преобразованный в UTF-16).

4.Если поле не содержит RTF, он пытается загрузить HTML (включая HTML в кодировке UTF-16).

5.Если поле не содержит HTML, он пытается загрузить DocX.

6.Если поле не содержит DocX:

a.Если AllowMarkdown, он загружает Markdown

b.В противном случает, он загружает простой текст.

Для полей Unicode memo

Последовательность та же, но:

▪компонент не пытается загружать RVF и DocX

▪на последнем шаге, он загружает юникодный (UTF-16) текст или Markdown.

События

Событие OnNewDocument происходит при создании нового документа или перед загрузкой существующего документа из поля.

После загрузки документа из поля происходит событие OnLoadDocument.

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