![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
python developer
Пользователь Подтвердите свой е-майл
Регистрация: 30.11.2006
Сообщений: 81
|
![]()
Приветствую всех! Подскажите как отловить нажатие (да и вообще любое событие) на системной кнопке заголовка формы-проще крестик.
Заранее спасибо!
Границы расширяет тот, кто выходит за них.
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
![]()
А чем OnClose не подходит?
Програмисты - единственные люди, которым платят за исправления их же ошибок
![]() |
![]() |
![]() |
![]() |
#3 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
![]()
Доброго всем времени суток!
Ответов на этот вопрос, я думаю, может быть несколько. Это связано с тем, зачем нам это нужно. 1) Если требуется отловить попытку закрытия программы и предотвратить ее закрытие, то нам нужно OnCanClose 2) Если просто по закрытии надо чего-то сделать, то OnClose 3) Допустим, у нас создан объект, который надо уничтожить из памяти, чтобы все остальные программы и система работала корректно, то мы уже будем использовать OnDestroy На 3х вариантах остановимся, пожалуй, остановлюсь...
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 26.11.2006
Сообщений: 18
|
![]()
не могли бы вы подробнее расписать, как предотвратить закрытие программы?
|
![]() |
![]() |
![]() |
#5 |
Повелитель Тьмы
Пользователь
Регистрация: 29.10.2006
Сообщений: 95
|
![]()
На ивнт OnCloseQuery твоей главной формы пишеш различные условия, и если ты хочешь чтобы форма могла закрытся пишешь canclose:=true а если нет то canclose:=false вот пример
Код:
![]()
Я учусь как положено, а положено у меня на всё
![]() |
![]() |
![]() |
![]() |
#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, там ещё какие-то два значения, но я не помню что они делают... проверять лениво... |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 10.08.2010
Сообщений: 1,401
|
![]()
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 |