Просмотр полной версии : Не однократная отмена действий [Delphi]
Народ подскажите, как реализовать кнопку "назад" для TRichEdit, но так, что бы она отменяла допустим, на 5 шагов назад, а не на 1 ??
Jingo Bo
08.02.2010, 22:25
Сам реализовывай
Jingo Bo
не можешь не чего путного сказать, промолчал бы уже, умнее показался
Собственно говоря Jingo Bo прав. тут тока самому делать.
Вся фишка что отмена - это обычная виндовая фишка.
Верне сообщение WM_UNDO по этому больше 1 не сможешь сделать.
По этому самому нужно будет это делать.
А делается это примерно так:
1) отрабатываешь изменение текса в richedit
2) сравниваешь что изменилось и запоминай это в TStringList к примеру.
Запоминать примерно так: Кол-во букв, добавлено или удалено, с какой позиции и что за буквы.
3) обрабатывай изменения и попутно анализируй последюю запись логов. Если это одно место то просто правь предыдущую запись лога.
4) когда нужно отменить чтото, то просто забирай записи из лога и восстанавливай по ним данные
Jingo Bo
09.02.2010, 14:56
не можешь не чего путного сказать, промолчал бы уже, умнее показался
Я тебе сказал как сделать, а slesh разжевал
если текста немного, можешь весь сохранять
Jingo Bo
не можешь не чего путного сказать, промолчал бы уже, умнее показался Хамишь.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot