|
<< Нажмите, чтобы показать Содержание >> TCustomRichView.OnItemAction |
Происходит при вставке, удалении и некоторых других изменениях элемента документа.
type
TRVItemAction = (rviaInserting, rviaInserted,
rviaTextModifying, rviaDestroying, rviaMovingToUndoList)
TRVItemActionEvent = procedure (Sender: TCustomRichView;
ItemAction: TRVItemAction; Item: TCustomRVItemInfo;
var Text: TRVUnicodeString; RVData: TCustomRVData) of object;
property OnItemAction: TRVItemActionEvent;
Параметры:
Item – элемент документа, для которого генерируется это событие.
Text – текст элемента. Для текстовых элементов этот текст отображается в TRichView.
RVData – документ, содержащий элемент (RVData основного TRichView, ячейка, или RVData редактора ячейки).
ItemAction идентифицирует операцию, из-за которой вызвано это событие.
ItemAction |
Описание |
|---|---|
rviaInserting |
Событие происходит до вставки элемента в Sender (в RVData). Вы можете изменить Text. Это событие также происходит при перемещении элементов в редактор ячейки и обратно в ячейку. |
rviaInserted |
Событие происходит после вставки элемента в Sender (в RVData). Вы можете изменить Text. Это событие также происходит при перемещении элементов в редактор ячейки и обратно в ячейку. |
rviaMovingToUndoList |
Событие происходит при перемещении элемента (из RVData) в буфер отмены операций редактирования. Игнорируйте параметр Text. |
rviaDestroying |
Происходит при уничтожении элемента. Игнорируйте параметр Text. Если элемент находится в буфере отмены/возврата операций редактирования, RVData равен nil. В противном случае это объект, содержащий данный элемент. |
rviaTextModifying |
Событие происходит при изменении текста элемента (Text) в результате операции редактирования. Будьте осторожны при изменении текста. Настоятельно не рекомендуется вносить какие-либо изменения в Text, кроме замены одного символа на другой. |
Пример (преобразование всего текста в верхний регистр):
procedure TForm1.RichViewEdit1ItemAction(Sender: TCustomRichView;
ItemAction: TRVItemAction; Item: TCustomRVItemInfo;
var Text: TRVUnicodeString; RVData: TCustomRVData);
begin
if (ItemAction in [rviaInserting, rviaTextModifying]) and
(Item.StyleNo>=0) then
Text := AnsiUpperCase(Text);
end;
Внимание: это событие может быть вызвано из деструктора TRichView (при очистке документа перед уничтожением). Будьте осторожны при обращении к другим компонентам в обработчике этого события: они могут быть уже уничтожены!
См. также события:
См. также методы:
▪GetItem;