|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.12.2006, 09:17 | #1 |
python developer
Пользователь Подтвердите свой е-майл
Регистрация: 30.11.2006
Сообщений: 81
|
нажатие кнопки "X" на форме
Приветствую всех! Подскажите как отловить нажатие (да и вообще любое событие) на системной кнопке заголовка формы-проще крестик.
Заранее спасибо!
Границы расширяет тот, кто выходит за них.
|
11.12.2006, 10:24 | #2 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
А чем OnClose не подходит?
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
11.12.2006, 13:00 | #3 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
Доброго всем времени суток!
Ответов на этот вопрос, я думаю, может быть несколько. Это связано с тем, зачем нам это нужно. 1) Если требуется отловить попытку закрытия программы и предотвратить ее закрытие, то нам нужно OnCanClose 2) Если просто по закрытии надо чего-то сделать, то OnClose 3) Допустим, у нас создан объект, который надо уничтожить из памяти, чтобы все остальные программы и система работала корректно, то мы уже будем использовать OnDestroy На 3х вариантах остановимся, пожалуй, остановлюсь...
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
12.12.2006, 01:02 | #4 |
Пользователь
Регистрация: 26.11.2006
Сообщений: 18
|
не могли бы вы подробнее расписать, как предотвратить закрытие программы?
|
12.12.2006, 07:05 | #5 |
Повелитель Тьмы
Пользователь
Регистрация: 29.10.2006
Сообщений: 95
|
На ивнт OnCloseQuery твоей главной формы пишеш различные условия, и если ты хочешь чтобы форма могла закрытся пишешь canclose:=true а если нет то canclose:=false вот пример
Код:
Я учусь как положено, а положено у меня на всё
|
12.12.2006, 07:39 | #6 |
Пользователь
Регистрация: 16.11.2006
Сообщений: 28
|
Я пользуюсь такой конструкцией.
Вешается на OnClose begin if MessageDlg('Хотите закрыть программу?',mtConfirmation,[mbYes,mbNo],1)=mrYes then Action:=caFree //закрыть прогу else Action:=caNone; // незакрывать прогу end; В OnClose можно впихнуть любое условие, например проверку даты и времени, чтобы прогу можно было закрыть раз в году 8-) Главное тут Action:=caFree и Action:=caNone, там ещё какие-то два значения, но я не помню что они делают... проверять лениво... |
09.05.2011, 02:42 | #7 |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,389
|
Dunpeal Всё правильно говоришь и пишешь
E_MAIL: rijgvina7@yahoo.com
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так,чтобы на форме отображалось свободное место диска "С"???? | Alexij | Общие вопросы Delphi | 4 | 11.07.2008 23:21 |
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует | skobets | Общие вопросы C/C++ | 2 | 03.06.2008 06:51 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |
Как вырезать на форме область определенной формы ("что то вроде ножниц") | dimfil | Общие вопросы Delphi | 9 | 10.11.2007 08:51 |
Прцедура для Кнопки "Отмена" | Inbox | Общие вопросы Delphi | 4 | 04.06.2007 01:32 |