![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Откат в сохранении настроек
МаксПла © (2007-09-08 16:57:00)Обычно у программы в настройках бывают две клавиши Ок, Отмена. При которых изменения либо сохраняются и вступают в силу, либо не сохраняются в случае отмены.
Но как такое организовать. Допустим у меня на форме есть два Edit'a, четыре ComboBox'a, и несколько CheckBox'oв.
Приходит пользователь набирает, клацкает, изменяет до него установленные параметры, а потом нажимает кнопку Отмена, как сделать откат. Точнее куда сохранять данные о состоянии компонентов до начала обращения с ними пользователя, что бы потом можно было оттуда извлечь прежние данные?
Anatoly Podgoretsky (2007-09-08 17:44:00) [1]> МаксПла (08.09.2007 17:40:04) [4]
Совсем не обязательно отслеживать состояние, можно применять и старые значения, ничего от этого не изменится, но смотри обработчик сообщения OnChanged, свойство Modified
Смотря что есть у компонент.
Но можно и не заморачиваться, пользователь знает, что делает.
Dib@zol (2007-09-08 17:42:00) [2]> есть более элегантное решение?
Есть. Не деактивировать эту кнопку совсем!
МаксПла (2007-09-08 17:40:00) [3]Ок, видимо смогу сделать спасибо.
Но у меня ещё один вопрос возник попутно.
Бывают ведь и такие настройки в которых есть ещё кнопка "применить". Которая остается неактивной до того момента, пока пользовтель не изменит какие либо установки. Как это корректно узнать?
Просто реагировать на изменения контролла и менять общую переменную: IsModified: Boolean; и в зависимости от этого активировать или не активировать кнопку применить? Или есть более элегантное решение?
Anatoly Podgoretsky (2007-09-08 17:07:00) [4]> МаксПла (08.09.2007 17:05:02) [2]
После закрытия, разрушь диалог, не хрен держать ресурсы, дольше чем требуется.
МаксПла (2007-09-08 17:05:00) [5]Ну я закрою диалог, но положение то например измененного CheckBox'a останется измененным. В след. раз пользователь открывает диалог и видит его же отменненные изменения, которые не вступили в силу.
Anatoly Podgoretsky (2007-09-08 16:59:00) [6]> МаксПла (08.09.2007 16:57:00) [0]
Как положено просто закрыть диалог