TCustomRichView.OnItemAction

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

TCustomRichView.OnItemAction

Происходит при вставке, удалении и некоторых других изменениях элемента документа.

type

  TRVItemAction = (rviaInserting, rviaInserted,

    rviaTextModifying, rviaDestroying, rviaMovingToUndoList)

 

  TRVItemActionEvent = procedure (Sender: TCustomRichView

    ItemAction: TRVItemAction; Item: TCustomRVItemInfo

    var Text: TRVUnicodeString; RVData: TCustomRVDataof object;

 

property OnItemAction: TRVItemActionEvent;

Параметры:

Item элемент документа, для которого генерируется это событие.

Text текст элемента. Для текстовых элементов этот текст отображается в TRichView.

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

ItemAction идентифицирует операцию, из-за которой вызвано это событие.

ItemAction

Описание

rviaInserting

Событие происходит до вставки элемента в SenderRVData). Вы можете изменить Text.

Это событие также происходит при перемещении элементов в редактор ячейки и обратно в ячейку.

rviaInserted

Событие происходит после вставки элемента в SenderRVData). Вы можете изменить 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>=0then

    Text := AnsiUpperCase(Text);

end;

 

Внимание: это событие может быть вызвано из деструктора TRichView (при очистке документа перед уничтожением). Будьте осторожны при обращении к другим компонентам в обработчике этого события: они могут быть уже уничтожены!

 

См. также события:

OnControlAction.

См. также методы:

GetItem;

GetItemNo.