|
<< Нажмите, чтобы показать Содержание >>
|
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).
TObject TPersistent TComponent TControl TWinControl TCustomControl TCustomRVControl TCustomRichViewEdit |
TObject TPersistent TComponent TFmxObject TControl TStyledControl TCustomScrollBox TCustomRVControl TCustomRichViewEdit |
Сгруппированный по категориям (некоторые пункты могут быть в нескольких категориях)
▪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 перемещает каретку в указанном направлении.
▪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 выделяет текущую строку.
Основные методы:
▪SetBreakInfoEd – для изменения горизонтальной линии;
▪SetBulletInfoEd – для изменения значка;
▪SetControlInfoEd – для изменения элемента-компонента;
▪SetHotspotInfoEd – для изменения интерактивного значка;
▪SetPictureInfoEd – для изменения рисунка и интерактивного рисунка.
Также:
▪SetItemExtraIntProperty[Ex]Ed,
SetItemExtraStrProperty[Ex]Ed – для изменения дополнительных свойств элементов;
▪SetItemTagEd – для изменения тега;
▪SetItemVAlignEd – для изменения вертикального выравнивания элемента относительно строки;
▪SetItemTextEd изменяет текст (имя) элемента;
▪SetCheckpointInfoEd – для изменения закладки;
▪RemoveCheckpointEd – для удаления закладки;
▪ResizeControl – для изменения размера вставленного компонента;
▪AdjustControlPlacement, AdjustControlPlacement2 возвращают компонент в правильное положение.
Эти методы работают как методы Get***Info(CurItemNo,...), но также работают в редакторе ячейки таблицы.
Основные методы:
▪GetCurrentTextInfo – о текстовом элементе;
▪GetCurrentBreakInfo – о горизонтальной линии;
▪GetCurrentBulletInfo – о значке;
▪GetCurrentControlInfo – об элементе-компоненте;
▪GetCurrentHotspotInfo – об интерактивном значке;
▪GetCurrentPictureInfo – о рисунке или интерактивном рисунке;
▪GetCurrentItem – об объекте любого элемента (например, таблицы);
Также:
▪GetCurrentItemExtraIntProperty[Ex],
GetCurrentItemExtraStrProperty[Ex] возвращают значения дополнительных свойств элемента;
▪GetCurrentTag возвращает тег элемента;
▪GetCurrentItemVAlign возвращает выравнивание элемента относительно строки;
▪GetCurrentCheckpoint возвращает закладку, связанную с элементом;
▪GetCurrentItemText возвращает текст (имя) элемента;
▪GetCurrentLineCol возвращает номер текущей строки и столбца.
Эти методы работают как методы 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 очищает буферы отмена и возврата операций.
Объединение операций:
Альтернативное объединение операций:
▪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 удаляет закладку, находящуюся точно в позиции каретки.
События:
▪OnSaveCustomFormat позволяет сохранять документ в БД в дополнительных форматах.