TCustomRichView.OnTextFound

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

TCustomRichView.OnTextFound

Происходит, когда метод TRichView.SearchText (или TRichViewEdit.SearchText) находит текст в документе.

type
  TRVTextFoundEvent = procedure(Sender: TCustomRichView;
    const AText: TRVUnicodeString; ARVData: TCustomRVData;
    StartItemNo, StartItemOffs, EndItemNo, EndItemOffs: Integer;
    Invert: Boolean; var DoDefault: Boolean) of object;
 
property OnTextFound: TRVTextFoundEvent;

Параметры:

AText текст, который ищется в документе.

ARVData документ, содержащий найденный текст (RVData основного TRichView, ячейка, или RVData редактора ячейки).

StartItemNo, StartItemOffs, EndItemNo, EndItemOffs задают позицию найденного текста в ARVData. StartItemNo и StartItemOffs задают начальную позицию (ближе к началу документа), EndItemNo и EndItemOffs задают конечную позицию (ближе к концу документа). StartItemNo и EndItemNo – номера элементов в ARVData, StartItemOffs и EndItemOffs – позиции в этих элементах (см. GetSelectionBounds для дополнительной информации).

Если Invert = False, текст следует выделить от начала к концу. Если Invert = False, текст следует выделить от конца к началу (при поиске вверх по документу)

Если оставить DoDefault = True, текст будет выделен. Если присвоить False, никаких действий не будет выполнено (тем не менее, SearchText вернёт True); в этом случае вы можете вызвать StoreSearchResult для сохранения найденной позиции (чтобы продолжить поиск от неё).

 

Возможные применения события:

Поиск в неформатированных документах. Иногда вам просто нужно узнать, содержит ли документ указанный текст. Выделение требует форматированного документа; поэтому, если вы запрещаете выделение, вы можете искать в неформатированном тексте. Это особенно полезно для поиска в нескольких документах.

Поиск в TRVReportHelper.RichView

Реализация дополнительных условий поиска, которые можно проверить в этом событии. Например, вы можете искать только в тексте, имеющем определенные атрибуты.