|
<< Нажмите, чтобы показать Содержание >> TCustomRichViewEdit.BeginUndoCustomGroup2, EndUndoCustomGroup2 |
Альтернативные методы группировки операций в буфере отмены с присвоением им названия.
procedure BeginUndoCustomGroup2(const Name: TRVUnicodeString);
procedure EndUndoCustomGroup2(const Name: TRVUnicodeString);
Рекомендуемый и эффективный способ группировки операций (дающий возможность отменить их за один шаг):
Edit.TopLevelEditor.BeginUndoCustomGroup(OperationName);
Edit.TopLevelEditor.SetUndoGroupMode(True);
<операции>
Edit.TopLevelEditor.SetUndoGroupMode(False);
BeginUndoCustomGroup2 и EndUndoCustomGroup2 предоставляют альтернативный способ. Вызовите BeginUndoCustomGroup2, затем операции, которые нужно сгруппировать, затем EndUndoCustomGroup2 (с тем же названием операции):
Edit.BeginUndoGroup2(OperationName);
<операции>
Edit.EndUndoGroup2(OperationName);
BeginUndoCustomGroup2 и EndUndoCustomGroup2 делают ту же работу, что и BeginUndoGroup2 и EndUndoGroup2, но позволяют дать название группе операций.
Этот способ группировки менее эффективен и требует больше памяти, однако позволяет объединять в одну операцию изменения, выполненные в нескольких ячейках таблицы (например, замену всех вхождений текста в документе).
Для работы этих методов требуется неограниченный буфер отмены (UndoLimit должен быть равен -1). В противном случае методы не выполняют никаких действий.
В отличие от первого набора методов (которые должны вызываться для TopLevelEditor), эти методы необходимо вызывать для корневого редактора.
Вызовы BeginUndoCustomGroup2..EndUndoCustomGroup2 могут быть вложенными, однако это не рекомендуется.
Внутри блока BeginUndoCustomGroup2..EndUndoCustomGroup2 можно использовать методы BeginUndoGroup, BeginUndoCustomGroup и SetUndoGroupMode, но не наоборот.
См. также: