richview TRichView

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

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

richview TRichView

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

TRichView – это визуальный компонент, предназначенный для показа документа с рисунками, таблицами, компонентами, гиперссылками, сносками, и т.д.

Модуль [VCL/FMX] RichView / fmxRichView.

Синтаксис

TCustomRichView = class(TRVScroller)

TRichView = class(TCustomRichView)

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

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

Иерархия

hmtoggle_arrow1Иерархия (VCL и LCL)

hmtoggle_arrow1Иерархия (FireMonkey)

Список свойств, событий и методов

Сгруппированный по категориям (некоторые пункты могут быть в нескольких категориях)

DOWN Основные свойства

DOWN Фон

DOWN Добавление элементов в документ

DOWN Гипертекст

DOWN Шаблоны стилей

DOWN Прокрутка, поля, размеры

DOWN Выделение и буфер обмена

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

DOWN Другие методы загрузки и сохранения

DOWN LiveBindings и БД

DOWN Информация об элементах документа

DOWN Изменение элементов документа

DOWN Закладки

DOWN События мыши

DOWN Проверка орфографии

DOWN Анимация

DOWN Работа в 256-цветном режиме

DOWN Нестандартное рисование

DOWN Другие свойства, события и методы

Основные свойства

▪Style – ссылка на компонент TRVStyle, задающий множество свойств (возможно, для нескольких компонентов TRichView);

▪Options – настройки;

▪ItemCount – число элементов в документе.

Свойства фона

▪BackgroundPicture;

▪BackgroundProperties;

▪Color.

Добавление элементов в документ (методы Add***)

Основные методы для добавления элементов:

▪AddNL добавляет один текстовый элемент;

▪AddBreak добавляет горизонтальную линию;

▪AddBullet добавляет значок (изображение из TImageList);

▪AddHotspot добавляет интерактивный значок (изображение из TImageList - гиперссылка);

▪AddPicture добавляет рисунок;

▪AddHotPicture добавляет рисунок-гиперссылку;

▪AddControl добавляет компонент Delphi/Lazarus;

▪AddTab добавляет табуляцию;

▪AddItem – универсальный метод добавления элементов (например, таблиц);

▪также AddCheckpoint добавляет закладку, которая будет связана со следующим добавленным элементом.

Дополнительные методы для добавления элементов:

▪Add добавляет один текстовый элемент в последний абзац;

▪AddFmt добавляет один текстовый элемент с текстом, собранным па основе строки формата и массива значений;

▪AddTextNL, -A -W добавляет несколько текстовых элементов из строки, разделённых символами CR+LF;

Также

▪AppendFrom копирует содержимое из другого TRichView;

▪InsertRVFFromStream,

▪AppendRVFFromStream.

См. также

▪Clear очищает документ;

▪SetAddParagraphMode;

▪Format, FormatTail форматирует документ;

▪Reformat переформатирует документ.

Гипертекст

▪событие OnJump происходит при щелчке по гиперссылке;

▪событие OnRVMouseMove происходит, когда указатель мыши заходит в область гиперссылки;

▪события OnWriteHyperlink и OnReadHyperlink происходят, когда документ сохраняется и загружается из RTF, DocX, Markdown или HTML.

▪свойство FirstJumpNo используется для задания численного идентификатора первого гипертекстового элемента;

▪GetJumpPointLocation возвращает положение гипертекстового элемента по его идентификатору;

▪GetJumpPointY возвращает Y-координату гипертекстового элемента по его идентификатору.

Шаблоны стилей

Свойства:

▪UseStyleTemplates включает/выключает использование Style.StyleTemplates.

▪StyleTemplateInsertMode определяет, как стили загружаются из RTF, DocX, HTML и RVF.

События:

▪OnStyleTemplatesChange происходит, когда коллекция шаблонов стилей изменяется.

Прокрутка, поля и размеры

Свойства:

▪LeftMargin, RightMargin, TopMargin, BottomMargin – поля;

▪MaxTextWidth – максимальная ширина для переноса строк;

▪MinTextWidth – минимальная ширина для переноса строк (минимальная ширина прокручиваемой области, за вычетом полей);

▪DocumentHeight – высота документа (высота прокручиваемой области);

▪VAlign – вертикальное выравнивание документа;

▪VScrollVisible – показывает/скрывает вертикальную полосу прокрутки;

▪HScrollVisible – показывает/скрывает горизонтальную полосу прокрутки;

▪VSmallStep – число пикселей в одном шаге изменения вертикальной полосы прокрутки;

▪FirstItemVisible – первый видимый элемент документа;

▪LastItemVisible – последний видимый элемент документа;

▪MaxLength – максимальное число символов в строке;

▪WordWrap позволяет отключить перенос строк;

▪Tracking определяет, должен ли компонент обновляться при перетаскивании ползунка полосы прокрутки мышью.

Методы:

▪ClientToDocument переводит клиентские координаты в координаты в документе.

События:

▪OnVScrolled происходит при вертикальной прокрутке;

▪OnHScrolled происходит при горизонтальной прокрутке/

Также:

▪свойство CPEventKind

▪событие OnCheckPointVisible

▪метод GetItemCoords

Методы для работы с выделением и буфером обмена

▪SelectionExists позволяет определить, есть ли выделение в документе;

 

▪Copy копирует выделение в буфер обмена во всех форматах (кроме версий FireMonkey для Android и iOS, где выделение копируется только в одном самом подходящем формате);

▪CopyDef копирует выделение в буфер обмена в форматах, перечисленных в Options (кроме версий FireMonkey для Android и iOS, где выделение копируется только в одном самом подходящем формате);

▪CopyImage копирует выделенный рисунок в буфер обмена;

▪CopyText копирует выделение в буфер обмена в формате юникодного текста;

▪CopyRVF копирует выделение в буфер обмена в формате RVF;

▪CopyRTF копирует выделение в буфер обмена в формате RTF (Rich Text Format);

▪CopyMarkdown копирует выделение в буфер обмена как текст в формате Markdown.

 

▪GetSelectedImage возвращает выделенный рисунок;

▪GetSelText возвращает выделение как текст;

▪GetSelTextW возвращает выделение как юникодный текст.

 

▪GetOffsBeforeItem, GetOffsAfterItem возвращает смещение до и после указанного элемента документа; полезно использовать совместно с SetSelectionBounds;

 

▪SelectAll выделяет весь документ;

▪SetSelectionBounds выделяет указанный фрагмент документа;

▪SelectWordAt выделяет слово по координатам (X,Y);

▪SelectControl выделяет вставленный компонент;

▪Deselect снимает выделение;

 

▪GetSelectionBounds возвращает положение выделения;

▪событие OnSelect происходит, когда меняется положение выделения;

▪событие OnCopy позволяет копировать в буфер обмена в дополнительных форматах;

▪свойство SelectionHandlesVisible позволяет показать/скрыть маркеры выделения текста.

Свойства, события и методы для сохранения и загрузки RVF

Свойства:

▪RVFOptions – опции для сохранения и загрузки RVF;

▪RVFWarnings описывает предупреждения и ошибки последнего чтения RVF.

События:

▪OnRVFControlNeeded запрашивает визуальный компонент при чтении RVF, если RVF был сохранён без содержимого компонентов;

▪OnRVFImageListNeeded запрашивает TImageList при чтении значка или интерактивного значка из RVF;

▪OnRVFPictureNeeded запрашивает изображение при чтении RVF, если RVF был сохранён без содержимого изображений.

Методы:

▪SaveRVF сохраняет документ или его выделенный фрагмент в файл формата RVF;

▪SaveRVFToStream сохраняет документ или его выделенный фрагмент в поток формата RVF;

▪LoadRVF загружает RVF из файла;

▪LoadRVFFromStream загружает RVF из потока;

▪CopyRVF копирует выделение в буфер обмена в формате RVF;

▪InsertRVFFromStream вставляет RVF из потока;

▪AppendRVFFromStream добавляет RVF из потока в конец документа, позволяя поменять стиль для первого вставляемого абзаца.

Также:

▪методы Copy, CopyDef.

Другие свойства, события и методы для сохранения и загрузки

Методы:

▪SetHeader, SetFooter указывают документы, которые будут использованы в качестве колонтитулов; используются при сохранении и чтении из файлов (RVF, RTF, DocX)

▪LoadFromStream, LoadFromStreamEx загружают документ в формате RVF, RTF, HTML, DocX, Markdown или текст (определяя формат) из потока;

▪LoadFromFile, LoadFromFileEx загружают документ в формате RVF, RTF, HTML, DocX, Markdown или текст (определяя формат) из файла;

▪LoadHTML, LoadHTMLFromStream добавляют HTML из файла или потока в конец документа;

▪LoadText добавляет текст в указанной кодировке из файла в конец документа;

▪LoadTextW добавляет юникодный (UTF-16) текст из файла в конец документа;

▪LoadRTF, LoadRTFFromStream добавляют RTF (Rich Text Format) из файла или потока в конец документа;

▪LoadMarkdown, LoadMarkdownFromStream добавляют Markdown из файла или потока в конец документа;

▪SaveHTML, SaveHTMLToStream сохраняют документ в файл/поток в формате HTML;

▪SaveText, SaveTextToStream сохраняют документ в файл/поток как текст в указанной кодировке;

▪SaveTextW, SaveTextToStreamW сохраняют документ в файл/поток как юникодный текст (UTF-16);

▪SaveDocX, SaveDocXToStream сохраняют документ или выделенный фрагмент в файл/поток в формате DocX (документ Microsoft Word);

▪SaveRTF, SaveRTFToStream сохраняют документ или выделенный фрагмент в файл/поток в формате RTF;

▪SaveMarkdown, SaveMarkdownToStream сохраняют документ или выделенный фрагмент в файл/поток в формате Markdown.

Свойства:

▪RTFOptions – опции для экспорта DocX и RTF.

▪RTFReadProperties – свойства для импорта DocX и RTF.

▪HTMLReadProperties – свойства для импорта HTML.

▪HTMLSaveProperties – свойства для экспорта HTML.

▪MarkdownProperties – свойства для импорта и экспорта Markdown.

События:

▪OnSaveComponentToFile позволяет сохранять вставленные компоненты в DocX, RTF, Markdown, HTML и текстовые файлы;

▪OnWriteHyperlink, OnReadHyperlink позволяет настроить сохранение и чтение гиперссылок в HTML, Markdown, RTF и DocX;

▪OnWriteObjectProperties позволяет сохранять дополнительные свойства нетекстовых объектов в файлы HTML, RTF и DocX;

▪OnReadMergeField позволяет читать поля из RTF;

▪OnHTMLSaveImage, OnSaveImage2 позволяют сохранять изображения с HTML в своих форматах или других расположениях;

▪OnSaveItemToFile позволяет сохранить любой элемент документа в RTF, DocX, Markdown, HTML или тексте по-своему;

▪OnImportPicture позволяет изменить загрузку изображений при чтении RTF, DocX, Markdown, HTML;

▪OnImportFile позволяет изменить загрузку внешних файлов при чтении HTML;

▪OnAssignImageFileName позволяет изменить имена файлов внешних изображений из RTF, DocX или Markdown.

LiveBindings и базы данных

Свойства:

▪Document позволяет связать этот компонент TRichView с полем TBlobField базы данных (в Delphi XE2+)

События:

▪OnNewDocument происходит при создании документа или перед загрузкой его из базы данных;

▪OnLoadDocument происходит после чтения документа из базы данных;

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

Информация об элементах (методы Get***Info)

▪GetItemStyle возвращает тип (стиль) элемента;

 

▪GetTextInfo – возвращает свойства текстового элемента;

▪GetBreakInfo – горизонтальной линии;

▪GetBulletInfo – значка;

▪GetHotspotInfo – интерактивного значка;

▪GetPictureInfo – рисунка или интерактивного рисунка;

▪GetControlInfo – вставленного компонента;

▪GetItemExtraIntProperty[Ex],
GetItemExtraStrProperty[Ex] возвращает значение целочисленного дополнительного свойства;

▪GetItem – универсальный метод получения элемента документа (например, таблицы);

 

▪GetItemCheckpoint – свойства закладки;

▪GetItemVAlign – положение элемента в строке;

▪GetItemTag – тег элемента;

▪GetItemText – текст/имя элемента;

▪IsParaStart позволяет узнать, начинает ли элемент абзац;

▪IsFromNewLine позволяет узнать, начинает ли элемент абзац или новую строку внутри абзаца;

▪GetItemPara возвращает номер стиля абзаца, содержащего указанный элемент;

▪GetItemNo возвращает номер указанного элемента;

▪GetItemCoords возвращает координаты элемента в документе, GetItemClientCoords возвращает клиентские координаты элемента;

▪свойства PageBreaksBeforeItems, ClearLeft, ClearRight.

Изменение свойств элементов  (методы Set***Info)

▪SetBreakInfo изменяет горизонтальную линию;

▪SetBulletInfo изменяет значок;

▪SetHotspotInfo изменяет интерактивный значок;

▪SetPictureInfo изменяет рисунок или интерактивный рисунок;

▪SetControlInfo изменяет вставленный компонент;
также

▪SetItemTag изменяет тег элемента;

▪SetItemVAlign изменяет положение элемента в строке;

▪SetItemText изменяет текст/имя элемента;

▪SetItemExtraIntProperty[Ex],
SetItemExtraStrProperty[Ex] присваивает значение целочисленному дополнительному свойству элемента;

▪SetCheckpointInfo устанавливает или изменяет закладку;

▪RemoveCheckpoint удаляет закладку;

▪см. также свойства PageBreaksBeforeItems, ClearLeft, ClearRight.

Закладки

Получение объекта закладки:

▪GetFirstCheckpoint, GetNextCheckpoint позволяют получить список закладок;

▪GetLastCheckpoint, GetPrevCheckpoint – то же в обратном порядке;

▪GetCheckPointByNo возвращает закладку с указанным номером;

▪GetItemCheckpoint возвращает закладку элемента;

▪событие OnCheckPointVisible происходит когда закладка (или раздел, помеченный закладкой) становится видимой в результате прокрутки;

▪FindCheckPointByName ищет закладку с указанным именем;

▪FindCheckPointByTag ищет закладку с указанным тегом.

Извлечение свойств из объекта закладки:

▪GetCheckpointInfo возвращает основные свойства закладки;

▪GetCheckpointItemNo возвращает номер элемента документа, связанного с закладкой;

▪GetCheckpointNo возвращает номер закладки;

▪GetCheckpointYEx, GetCheckpointXY возвращают координаты закладки.

Также:

▪GetCheckPointY возвращает Y-координату закладки по её номеру.

См. также методы получения информации об элементах документа и для изменения документа.

События мыши

▪OnRVDblClick происходит при двойном щелчке;

▪OnRVMouseDown происходит при нажатии кнопки мыши;

▪OnRVMouseUp происходит при отпускании кнопки мыши;

▪OnRVRightClick происходит при щелчке правой кнопкой мыши.

▪OnItemHint позволяет настроить отображение подсказки, когда указатель мыши находится над элементом документа.

▪OnGetItemCursor позволяет настроить курсор мыши, показываемый, когда указатель мыши находится над элементом документа.

См. также события гипертекста.

Фоновая проверка орфографии

▪StartLiveSpelling запускает проверку орфографии;

▪ClearLiveSpellingResults очищает все результаты проверки орфографии и останавливает её;

▪LiveSpellingValidateWord удаляет красные подчёркивания со всех вхождений указанного слова в документ;

▪событие OnSpellingCheck позволяет определить, есть ли слово в словаре.

Анимация рисунков

Свойства:

▪AnimationMode определяет, когда запускается анимация рисунков.

Методы:

▪StartAnimation запускает все анимации;

▪StopAnimation останавливает все анимации;

▪ResetAnimation сбрасывает воспроизведение всех анимаций к первому кадру.

Работа в 256-цветном режиме экрана

▪свойство DoInPaletteMode;

▪метод UpdatePaletteInfo.

Нестандартное рисование

События:

▪OnPaint – рисование поверх документа;

▪OnAfterDrawImage – рисование поверх рисунков.

Другое

Свойства:

▪RVData – объект, представляющий документ;

▪Cursor – курсор мыши;

▪Delimiters – символы, не входящие в слова (пробелы и разделители);

▪TabNavigation устанавливает режим перехода между гиперссылками и вставленными компонентами;

▪DocObjects – коллекция объектов для сохранения в RVF;

▪DocProperties – список текстовых строк для сохранения RVF;

▪DocParameters – информация о параметрах документа и страницы;

▪NoteText – текст, показываемый в ссылках на сноски;

▪UseVCLThemes [VCL] позволяет использовать цвета визуальных тем VCL (в Delphi XE2+);

▪UseFMXThemes [FMX] позволяет использовать цвет текста из стиля FMX;

▪DocumentPixelsPerInch [VCL,LCL] / ZoomPercent [FMX] масштабирует изображение документа.

Методы:

▪DeleteUnusedStyles удаляет неиспользуемые стили текста, абзацев и списков из TRVStyle;

▪MarkStylesInUse, DeleteMarkedStyles – более гибкие методы для удаления неиспользуемых стилей;

▪SearchText, -A, -W поиск строки текста в документе; событие OnTextFound происходит, когда текст найден;

▪StoreSearchResult запоминает положение результата поиска (чтобы потом его продолжить);

▪GetWordAt возвращает слово по указанным координатам;

▪DeleteItems, DeleteSection удаляет указанный диапазон элементов из документа;

▪DeleteParas удаляет указанный диапазон абзацев из документа; обновляет документ;

▪FindControlItemNo возвращает номер элемента документа, содержащий указанный компонент;

▪GetFocusedItem возвращает элемент в фокусе ввода;

▪GetLineNo возвращает номер строки для указанной позиции в документе;

▪BeginOleDrag начинает перетаскивание мышью.

События:

▪OnItemAction;

▪OnControlAction.