|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Отлов пользовательских изменений на форме
Приветствую.
Представим что на форме куча компонентов для получения от пользователя какой-то информации. Он открывает эту форму, но изменений не вносит. При нажатии кнопки закрыть, форма безропотно закрывается. Но если он вносит хот какое-то изменение в форму, то при закрытии должно появиться окно с предложением сохранить измененные данные. Вопрос, как вы решали эту обыденную задачу? На ум приходит два способа: 1) поставить событие на изменение каждого компонента и менять флаг; 2) сохранять данные в форме при старте и сравнивать их с данными на форме при выходе. Что предложите? |
#2
|
||||
|
||||
Если эти компоненты Edit'ы и/или Memo, то перед выходом можешь проверить состояние свойства CanUndo. Изначально, оно у всех равно false, но как только в каком нибудь компоненте изменилось содержимое, свойство CanUndo становится равным true. Вот и проверяй перед выходом, если хоть у одного CanUndo = true, то предлагай сохранить данные.
|
#3
|
|||
|
|||
Вдогонку к ответу Decoding'a - ответ верный, если компоненты, как он и сказал, так вот проверяй все это ИМЕННО в CloseQuery в форме, а не в Close!
|