Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2006, 09:17   #1
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
По умолчанию нажатие кнопки "X" на форме

Приветствую всех! Подскажите как отловить нажатие (да и вообще любое событие) на системной кнопке заголовка формы-проще крестик.
Заранее спасибо!
Границы расширяет тот, кто выходит за них.
strannik вне форума Ответить с цитированием
Старый 11.12.2006, 10:24   #2
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

А чем OnClose не подходит?
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 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
RammFan
Пользователь
 
Регистрация: 26.11.2006
Сообщений: 18
По умолчанию

не могли бы вы подробнее расписать, как предотвратить закрытие программы?
RammFan вне форума Ответить с цитированием
Старый 12.12.2006, 07:05   #5
oLMeR
Повелитель Тьмы
Пользователь
 
Аватар для oLMeR
 
Регистрация: 29.10.2006
Сообщений: 95
Счастье

На ивнт OnCloseQuery твоей главной формы пишеш различные условия, и если ты хочешь чтобы форма могла закрытся пишешь canclose:=true а если нет то canclose:=false вот пример
Код:
if MessageDlg('Вы уверены?',mtConfirmation,mbYesNoCancel,0)=mrYes then CanClose:=true else CanClose:=false;
Мож глянуть как работает на примере таком Budilnic.rar
Я учусь как положено, а положено у меня на всё
oLMeR вне форума Ответить с цитированием
Старый 12.12.2006, 07:39   #6
Dunpeal
Пользователь
 
Регистрация: 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, там ещё какие-то два значения, но я не помню что они делают... проверять лениво...
Dunpeal вне форума Ответить с цитированием
Старый 09.05.2011, 02:42   #7
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Dunpeal Всё правильно говоришь и пишешь
xxbesoxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так,чтобы на форме отображалось свободное место диска "С"???? 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