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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 22:47   #1
Deface87
 
Регистрация: 17.05.2010
Сообщений: 3
По умолчанию MessageBox или как возвратить назад форму при отмене?

Доброго времени суток!
Есть типовая команда
if MessageBox(0,PChar('Выйти из программы?'),PChar('Вы уверены, что хотите выйти из программы?'),MB_ICONQUESTION+MB_OKC ANCEL+MB_DEFBUTTON2) = IDOK then Application.Terminate

которая спрашивая пользователя хочет он или не хочет выйти,
вопрос заключается в том что при использовании этого кода в главной форме у меня все работает, а если в другой форме
при нажатии на Cancel форма с сообщением исчезает и форма которая сообщение вызывала тоже исчезает!!! при использовании кода в главной форме, такого не происходит...
Подскажите, что можно сделать? Кто может сталкивался с такой ситуацией?
Deface87 вне форума Ответить с цитированием
Старый 17.05.2010, 23:04   #2
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

У меня всё работает. Ничего не исчезает. Проверьте код программы.
На крайний случай:
Код:
if MessageBox(0,PChar('Выйти из программы?'),
PChar('Вы уверены, что хотите выйти из программы?'),
MB_ICONQUESTION+MB_OKCANCEL+MB_DEFBUTTON2) = IDOK then
Application.Terminate
Else
Form2.Show;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 18.05.2010, 12:42   #3
Deface87
 
Регистрация: 17.05.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
У меня всё работает. Ничего не исчезает. Проверьте код программы.
На крайний случай:
Код:
if MessageBox(0,PChar('Выйти из программы?'),
PChar('Вы уверены, что хотите выйти из программы?'),
MB_ICONQUESTION+MB_OKCANCEL+MB_DEFBUTTON2) = IDOK then
Application.Terminate
Else
Form2.Show;
procedure TForm6.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageBox(0,PChar('Выйти из программы?'),PChar('Вы уверены, что хотите выйти из программы?'),MB_ICONQUESTION+MB_OKC ANCEL+MB_DEFBUTTON2) = IDOK then
begin Dwrite; Application.Terminate; end else Form6.Show;
end;
Не идет, тоже самое

Последний раз редактировалось Deface87; 18.05.2010 в 12:45.
Deface87 вне форума Ответить с цитированием
Старый 18.05.2010, 13:35   #4
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

C учётом того, что Вы используйте обработчик события FormClose, Вы можете сделать так:
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageBox(0,PChar('Выйти из программы?'),
PChar('Вы уверены, что хотите выйти из программы?'),
MB_ICONQUESTION+MB_OKCANCEL+MB_DEFBUTTON2) = IDOK then
begin
Application.Terminate; end
else
Action:=CaNone;
end;
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 18.05.2010, 21:43   #5
Deface87
 
Регистрация: 17.05.2010
Сообщений: 3
По умолчанию

Спасибо, работает
Deface87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать форму, по которой можно листать список назад и вперед мария2507 Microsoft Office Excel 13 14.03.2010 08:12
Одну и ту же форму использовать как MDI-child форму и как модальную форму? PrimaryPro Общие вопросы Delphi 2 10.03.2010 20:52
Как закрыть форму при показе RIO Общие вопросы Delphi 4 28.08.2009 07:54
Что означает HWND_DESKTOP или Handle в функции MessageBox prikolist Общие вопросы C/C++ 5 18.03.2009 20:47
как задается действия работа кнопок или переход на другую форму. HIP Общие вопросы Delphi 6 21.06.2007 11:02