|
<< Нажмите, чтобы показать Содержание >>
|
TRichView – это визуальный компонент, предназначенный для показа документа с рисунками, таблицами, компонентами, гиперссылками, сносками, и т.д.
Модуль [VCL/FMX] RichView / fmxRichView.
Синтаксис
TCustomRichView = class(TRVScroller)
TRichView = class(TCustomRichView)
Компонент TRichView отображает своё содержимое, только если он связан с компонентом TRVStyle через свойство Style.
Наиболее важные настройки свойств можно выполнить в редакторе компонента для TRichView. В среде разработки Delphi/Lazarus щёлкните правой кнопкой мыши компонент TRichView на форме и выберите в контекстном меню «Settings» («Настройки»).
TObject TPersistent TComponent TControl TWinControl TCustomControl TCustomRVControl TCustomRichView |
TObject TPersistent TComponent TFmxObject TControl TStyledControl TCustomScrollBox TCustomRVControl TCustomRichView |
Сгруппированный по категориям (некоторые пункты могут быть в нескольких категориях)
|
|
▪Style – ссылка на компонент TRVStyle, задающий множество свойств (возможно, для нескольких компонентов TRichView);
▪Options – настройки;
▪ItemCount – число элементов в документе.
▪Color.
Основные методы для добавления элементов:
▪AddNL добавляет один текстовый элемент;
▪AddBreak добавляет горизонтальную линию;
▪AddBullet добавляет значок (изображение из TImageList);
▪AddHotspot добавляет интерактивный значок (изображение из TImageList - гиперссылка);
▪AddPicture добавляет рисунок;
▪AddHotPicture добавляет рисунок-гиперссылку;
▪AddControl добавляет компонент Delphi/Lazarus;
▪AddTab добавляет табуляцию;
▪AddItem – универсальный метод добавления элементов (например, таблиц);
▪также AddCheckpoint добавляет закладку, которая будет связана со следующим добавленным элементом.
Дополнительные методы для добавления элементов:
▪Add добавляет один текстовый элемент в последний абзац;
▪AddFmt добавляет один текстовый элемент с текстом, собранным па основе строки формата и массива значений;
▪AddTextNL, -A -W добавляет несколько текстовых элементов из строки, разделённых символами CR+LF;
Также
▪AppendFrom копирует содержимое из другого TRichView;
См. также
▪Clear очищает документ;
▪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 позволяет показать/скрыть маркеры выделения текста.
Свойства:
▪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 из потока в конец документа, позволяя поменять стиль для первого вставляемого абзаца.
Также:
Методы:
▪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.
Свойства:
▪Document позволяет связать этот компонент TRichView с полем TBlobField базы данных (в Delphi XE2+)
События:
▪OnNewDocument происходит при создании документа или перед загрузкой его из базы данных;
▪OnLoadDocument происходит после чтения документа из базы данных;
▪OnLoadCustomFormat позволяет загружать документ, сохранённый в базе данных в нестандартном формате.
▪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.
▪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 сбрасывает воспроизведение всех анимаций к первому кадру.
▪свойство 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 начинает перетаскивание мышью.
События: