richviewedit TRichViewEdit

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

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

richviewedit TRichViewEdit

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

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

Модуль [VCL/FMX]: RVEdit / fmxRVEdit.

Синтаксис

TCustomRichViewEdit = class(TCustomRichView)

TRichViewEdit = class(TCustomRichViewEdit)

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

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

Некоторые возможности TRichView отключены в TRichViewEdit, такие как:

▪событие OnCheckpointVisible;

▪все функции, связанные с идентификаторами гиперссылок:OnRVMouseMove, OnJump, GetJumpPointLocation работают только пока пользователь удерживает клавишу  Ctrl , если rvtoCtrlJumps в EditorOptions (или если ReadOnly=True).

Иерархия

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

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

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

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

DOWN Свойства

DOWN События

DOWN Различные методы

DOWN Вставка в позицию каретки

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

DOWN Изменение свойств элемента

DOWN Информация об элементе в позиции каретки

DOWN Изменение свойств элемента в позиции каретки

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

DOWN Отмена и возврат операций

DOWN Юникод

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

DOWN Контекстные кнопки

DOWN Работа с таблицами и другими элементами

DOWN Закладки

DOWN LiveBindings и БД

Свойства

▪CurItemNo – номер элемента документа в позиции каретки, OffsetInCurItem – смещение каретки в этом элементе;

▪CurItemStyle – стиль (тип) элемента документа в позиции каретки;

▪CurParaStyleNo – номер текущего стиля абзаца;

▪CurTextStyleNo – номер текущего стиля текста, см. также ActualCurTextStyleNo;

▪EditorOptions – опции редактирования;

▪ReadOnly отключает/включает редактирование;

▪Modified – устанавливается в True, когда документ изменяется операцией редактирования;

▪CustomCaretInterval – интервал мерцания нестандартной каретки.

▪AcceptDragDropFormats, AcceptPasteFormats – список форматов, которые редактор может принять;

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

▪ForceFieldHighlight влияет на подсветку текстовых меток;

▪KeyboardType [FMX] – тип виртуальной клавиатуры.

См. также свойства для отмены и возврата операций.

События

▪OnChange вызывается, когда документ изменяется операцией редактирования;

▪OnCheckStickingItems позволяет реализовать дополнительную защиту от редактирования;

▪OnCurParaStyleChanged происходит при изменении номера текущего стиля абзаца;

▪OnCurTextStyleChanged происходит при изменении номера текущего стиля текста;

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

▪OnStyleConversion вызывается методом ApplyStyleConversion;

▪OnParaStyleConversion вызывается методом ApplyParaStyleConversion;

▪OnCaretGetOut происходит, когда пользователь перемещает каретку «из» редактора;

▪OnCaretMove происходит при перемещении каретки;

▪OnItemTextEdit происходит, когда текст текстового элемента меняется операцией редактирования;

▪OnSmartPopupClick вызывается при нажатии контекстной кнопки;

▪OnDrawCurrentLine позволяет подсвечивать текущую строку;

▪OnMeasureCustomCaret и OnDrawCustomCaret позволяют рисовать нестандартную каретку;

▪OnOleDragEnter, OnOleDragOver, OnOleDragLeave, OnOleDrop, OnBeforeOleDrop and OnAferOleDrop происходят при OLE-перетаскивании.

Различные методы

▪ApplyParaStyle, ApplyTextStyle применяют стиль абзаца и текста к выделенному фрагменту;

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

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

▪Change вызывает событие OnChange;

▪BeginUpdate, EndUpdate отключают и возобновляют перерисовку компонента;

▪SearchText, -A, -W выполняют поиск строки в документе;

▪MoveCaret перемещает каретку в указанном направлении.

Вставка элементов в позицию каретки (методы Insert***)

▪InsertText, -A, -W, InsertStringTag, InsertStringATag, InsertStringWTag вставляют текст;

▪InsertBreak вставляет горизонтальную линию;

▪InsertBullet вставляет значок;

▪InsertControl вставляет компонент;

▪InsertHotspot вставляет интерактивный значок;

▪InsertPicture вставляет рисунок;

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

▪InsertTab вставляет табуляцию;

▪InsertRVFFromFileEd, InsertRVFFromStreamEd вставляют RVF (RichView Format) из файла или потока;

▪InsertHTMLFromFileEd, InsertHTMLFromStreamEd вставляют HTML из файла или потока;

▪InsertRTFFromFileEd, InsertRTFFromStreamEd вставляют RTF (Rich Text Format) из файла или потока;

▪InsertTextFromFile,InsertOEMTextFromFile,InsertTextFromFileW вставляют текст из файла;

▪nsertMarkdownFromFileEd,InsertMarkdownFromStreamEd вставляют Markdown из файла или потока;

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

Буфер обмена и выделение

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

▪CanPaste – содержит ли буфер обмена данные в формате, который поддерживается редактором?;

▪CanPasteRVF – можно ли вставить RVF из буфера обмена?;

▪CanPasteHTML – можно ли вставить HTML из буфера обмена?;

▪CanPasteRTF – можно ли вставить RTF из буфера обмена?;

▪CutDef вырезает выделенный фрагмент в буфер обмена;

▪Paste вставляет данные из буфера обмена;

▪PasteBitmap вставляет растровое изображение (обычно bitmap) из буфера обмена;

▪PasteMetafile вставляет метафайл из буфера обмена;

▪PasteGraphic вставляет изображение (по его MIME-типу) из буфера обмена;

▪PasteGraphicFile вставляет изображение (из файла) из буфера обмена;

▪PasteRVF вставляет RVF (RichView Format) из буфера обмена;

▪PasteHTML вставляет HTML из буфера обмена;

▪PasteRTF вставляет RTF (Rich Text Format) из буфера обмена;

▪PasteText вставляет текст из буфера обмена;

▪PasteMarkdown вставляет текст буфера обмена как Markdown;

▪событие OnPaste позволяет вставлять данные других форматов из буфера обмена.

Также:

▪DeleteSelection удаляет выделенный фрагмент;

▪SelectCurrentWord выделяет слово в позиции каретки;

▪SelectCurrentLine выделяет текущую строку.

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

Основные методы:

▪SetBreakInfoEd – для изменения горизонтальной линии;

▪SetBulletInfoEd – для изменения значка;

▪SetControlInfoEd – для изменения элемента-компонента;

▪SetHotspotInfoEd – для изменения интерактивного значка;

▪SetPictureInfoEd – для изменения рисунка и интерактивного рисунка.

Также:

▪SetItemExtraIntProperty[Ex]Ed,
SetItemExtraStrProperty[Ex]Ed – для изменения дополнительных свойств элементов;

▪SetItemTagEd – для изменения тега;

▪SetItemVAlignEd – для изменения вертикального выравнивания элемента относительно строки;

▪SetItemTextEd  изменяет текст (имя) элемента;

▪SetCheckpointInfoEd – для изменения закладки;

▪RemoveCheckpointEd – для удаления закладки;

▪ResizeControl – для изменения размера вставленного компонента;

▪AdjustControlPlacement, AdjustControlPlacement2 возвращают компонент в правильное положение.

Получение информации об элементе в позиции каретки (методы GetCurrent***Info)

Эти методы работают как методы Get***Info(CurItemNo,...), но также работают в редакторе ячейки таблицы.

Основные методы:

▪GetCurrentTextInfo – о текстовом элементе;

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

▪GetCurrentBulletInfo – о значке;

▪GetCurrentControlInfo – об элементе-компоненте;

▪GetCurrentHotspotInfo – об интерактивном значке;

▪GetCurrentPictureInfo – о рисунке или интерактивном рисунке;

▪GetCurrentItem – об объекте любого элемента (например, таблицы);

▪GetCurrentItemEx.

Также:

▪GetCurrentItemExtraIntProperty[Ex],
GetCurrentItemExtraStrProperty[Ex] возвращают значения дополнительных свойств элемента;

▪GetCurrentTag возвращает тег элемента;

▪GetCurrentItemVAlign возвращает выравнивание элемента относительно строки;

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

▪GetCurrentItemText возвращает текст (имя) элемента;

▪GetCurrentLineCol возвращает номер текущей строки и столбца.

Изменение свойств элемента в позиции каретки (методы SetCurrent***Info)

Эти методы работают как методы Set***InfoEd(CurItemNo,...), но также работают в редакторе ячейки таблицы.

Основные методы:

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

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

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

▪SetCurrentControlInfo изменяет элемент-компонент;

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

Также:

▪SetCurrentItemExtraIntProperty[Ex],

▪SetCurrentItemExtraStrProperty[Ex] изменяют значение дополнительного свойства элемента;

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

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

▪SetCurrentItemText изменяет текст (имя) элемента;

▪SetCurrentCheckpointInfo изменяет закладку, связанную с элементом;

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

▪ResizeCurrentControl изменяет размер вставленного компонента;

 

▪RemoveCurrentPageBreak удаляет флажок разрыва страницы у элемента;

▪InsertPageBreak устанавливает флажок разрыва страницы; может разделить элемент на две части.

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

Методы:

▪ApplyStyleTemplate, ApplyTextStyleTemplate, ApplyParaStyleTemplate применяют шаблон стиля к выделенному фрагменту;

▪ChangeStyleTemplates позволяет изменить коллекцию шаблонов стилей.

Отмена и возврат операций

Основное:

▪свойство UndoLimit ограничивает вместимость буфера отмены;

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

▪Undo отменяет последнюю операцию;

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

▪RedoAction – операция, которая будет возвращена следующей;

▪Redo возвращает (т.е. повторно выполняет) последнюю отменённую операцию;

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

▪ClearUndo очищает буферы отмена и возврата операций.

Объединение операций:

▪BeginUndoGroup,

▪BeginUndoCustomGroup,

▪SetUndoGroupMode.

Альтернативное объединение операций:

▪BeginUndoGroup2, EndUndoGroup2;

▪BeginUndoCustomGroup2, EndUndoCustomGroup2.

Юникод

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

▪InsertTextW вставляет юникодный текст;

▪InsertTextFromFileW вставляет юникодный текст из файла.

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

▪GetCurrentMisspelling возвращает слово с ошибкой в позиции каретки;

▪[FMX] AddSpellingMenuItems добавляет варианты исправления ошибочного слова в контекстное меню;

▪свойство LiveSpellingMode определяет, когда запускается фоновая проверка орфографии;

▪[FMX] событие OnGetSpellingSuggestions возвращает список вариантов исправления ошибочного слова.

Контекстные кнопки

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

Свойства:

▪SmartPopupProperties – свойства контекстных кнопок;

▪SmartPopupVisible показывает или скрывает контекстную кнопку.

События:

▪OnSmartPopupClick вызывается, когда пользователь нажал на контекстную кнопку.

Работа с таблицами и другими элементами

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

▪GetCurrentItem возвращает элемент в позиции каретки;

▪BeginItemModify, EndItemModify используются для переформатирования редактора после выполнения операции редактирования одного элемента (обычно таблицы);

▪CanChange проверяет возможность выполнения операции редактирования (обычно вызывается перед операциями над таблицей).

Работа с закладками

Методы редактирования документа, аналогичные методам TRichView:

▪SetCheckpointInfoEd добавляет/изменяет закладку к элементу документа;

▪RemoveCheckpointEd удаляет закладку у элемента документа.

Методы, работающие с элементом в позиции каретки:

▪GetCurrentCheckpoint возвращает закладку, связанную с элементом в позиции каретки;

▪SetCurrentCheckpointInfo добавляет/изменяет закладку к элементу в позиции каретки;

▪RemoveCurrentCheckpoint удаляет закладку у элемента в позиции каретки.

Методы, работающие с закладкой, находящейся точно в позиции каретки:

▪InsertCheckpoint вставляет закладку в позицию каретки;

▪GetCheckpointAtCaret возвращает закладку, находящуюся точно в позиции каретки;

▪RemoveCheckpointAtCaret удаляет закладку, находящуюся точно в позиции каретки.

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

События:

▪OnSaveCustomFormat позволяет сохранять документ в БД в дополнительных форматах.