|
<< Нажмите, чтобы показать Содержание >> 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
▪Реализация дополнительных условий поиска, которые можно проверить в этом событии. Например, вы можете искать только в тексте, имеющем определенные атрибуты.