Отмена последних действий в Memo
Копирую текст из Memo2 (Первую строку Memo2) в Memo1 туда где установлен курсор - мышки.
Memo1.SetFocus;
Memo1.SetSelTextBuf(PWideChar(Memo2.Lines[0]));
Возник вопрос: Как отменить последнее действие ? То есть после нажатия на кнопку последнее действие должно отмениться.
Пробовала через (но это отмена только ручных действий и не срабатывает):
Memo1.Undo;
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Можно просто запоминать Memo1.Lines.
Вторая строчка,кстати, может выглядеть попроще.
При действии, изменяющем Memo1.Lines:
TempList.Assign(Memo1.Lines);
Memo1.SelText := Memo2.Lines[0];
Восстановление:
Memo1.Lines.Assign(TempList);
Более продвинутый метод - запоминать только изменения - для этого понадобится какая либо diff-библиотека (TDiff, некое обновление), тогда можно не один шаг запоминать.