TCustomRichViewEdit.BeginUndoGroup2, EndUndoGroup2

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

TCustomRichViewEdit.BeginUndoGroup2, EndUndoGroup2

Альтернативные методы группировки операций в буфере отмены с присвоением им идентификатора типы операции.

procedure BeginUndoGroup2(UndoType: TRVUndoType);
procedure EndUndoGroup2(UndoType: TRVUndoType);

Рекомендуемый и эффективный способ группировки операций (дающий возможность отменить их за один шаг):

Edit.TopLevelEditor.BeginUndoGroup(UndoType);
Edit.TopLevelEditor.SetUndoGroupMode(True);
<Операции>
Edit.TopLevelEditor.SetUndoGroupMode(False);

BeginUndoGroup2 и EndUndoGroup2 предоставляют альтернативный способ. Вызовите BeginUndoGroup2, затем операции, которые нужно сгруппировать, затем EndUndoGroup2 (с тем же UndoType):

Edit.BeginUndoGroup2(UndoType);
<Операции>
Edit.EndUndoGroup2(UndoType);

BeginUndoGroup2 и EndUndoGroup2 делают ту же работу, что и BeginUndoCustomGroup2 and EndUndoCustomGroup2, но вместо имени присваивают группе операций идентификатор типа операции.

Этот способ группировки менее эффективен и требует больше памяти, однако позволяет объединять в одну операцию изменения, выполненные в нескольких ячейках таблицы (например, замену всех вхождений текста в документе).

Для работы этих методов требуется неограниченный буфер отмены (UndoLimit должен быть равен -1). В противном случае методы не выполняют никаких действий.

В отличие от первого набора методов (которые должны вызываться для TopLevelEditor), эти методы необходимо вызывать для корневого редактора.

Вызовы BeginUndoGroup2..EndUndoGroup2 могут быть вложенными, однако это не рекомендуется.

Внутри блока BeginUndoGroup2..EndUndoGroup2 можно использовать методы BeginUndoGroup, BeginUndoCustomGroup и SetUndoGroupMode, но не наоборот.

См. также:

Отмена и возврат операций.