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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2012, 15:50   #1
Vavrenyuk
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 16
По умолчанию выход из программы...

Решил написать одну программу. Хотел сделать чтобы при нажатии на крестик вверху формы красный выходило сообщение о выходе с ответами Да и Нет. Когда нажимаю на этот крестик сообщение выходит (с ним всё нормально вроде) но когда нажимаю на Да то сообщение прячется и мгновенно включается (как бы перезапускается). Нажимая на Нет выходит из программы. Уважаемые программисты, помогите исправить эту ошибку.
Вот обработчик события OnClose главной формы:


Код:
  
if Application.MessageBox(PChar('Вы действительно хотите выйти из программы ?'), 'Внимание !',
    MB_YesNo)=id_Yes then
 Form1.Close;
end;

Последний раз редактировалось Vavrenyuk; 14.11.2012 в 15:55.
Vavrenyuk вне форума Ответить с цитированием
Старый 14.11.2012, 15:55   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Покажите Ваш код.
FaTaL вне форума Ответить с цитированием
Старый 14.11.2012, 15:56   #3
Vavrenyuk
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 16
По умолчанию

Смотрите выше
Vavrenyuk вне форума Ответить с цитированием
Старый 14.11.2012, 15:59   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

по уму этот вопрос надо в OnCloseQuery задавать

Код:
procedure TForm.CloseQuery(Sender: TObject; var CanClose: Boolean);
begin
Canclose:=false;
if Application.MessageBox(PChar('Вы действительно хотите выйти из программы ?'), 'Внимание !',
    MB_YesNo)=id_Yes then
 Canclose:=true;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 14.11.2012, 15:59   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Используй OnCloseQuery
Код:
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 CanClose:=MessageBox(GetForegroundWindow,'','',MB_YESNO)=ID_YES;
end;
Выход разрешается только если нажать Йес
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2012, 16:05   #6
Vavrenyuk
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Используй OnCloseQuery
Код:
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 CanClose:=MessageBox(GetForegroundWindow,'','',MB_YESNO)=ID_YES;
end;
Выход разрешается только если нажать Йес
О спасибо Вам большое. Всё получилось. Я просто только начинаю изучать по книге. Видимо там ошибка.

Извините, а не подскажите как сделать тоже самое на кнопку выход ? Ошибка при этом коде получается.

Последний раз редактировалось Stilet; 14.11.2012 в 16:42.
Vavrenyuk вне форума Ответить с цитированием
Старый 14.11.2012, 16:15   #7
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

здеся не смотрел http://programmersforum.ru/showthrea...20#post1129720
?
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 14.11.2012, 16:21   #8
Vavrenyuk
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Мне именно что-бы на кнопку "выход" сделанную мной. А не на крестик.
Vavrenyuk вне форума Ответить с цитированием
Старый 14.11.2012, 16:41   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как ты описал свою кнопку выхода?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2012, 16:48   #10
Vavrenyuk
Пользователь
 
Регистрация: 12.11.2012
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как ты описал свою кнопку выхода?
Сначала так как написали Вы (была ошибка). Потом как я писал сначала(вышло тоже самое как я и описал в начале).
Vavrenyuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка Выход(на выход Из программы)С++ Напишите код ProGec4 Общие вопросы C/C++ 3 19.02.2012 15:36
выход из программы без return SAMOUCHKA Общие вопросы C/C++ 6 04.10.2011 22:30
Выход программы. ZvEr_HaCkEr Свободное общение 26 16.10.2010 21:00
Выход из программы relav_ Общие вопросы Delphi 18 15.03.2008 01:36
Выход из программы Slash Общие вопросы Delphi 8 24.03.2007 07:53