Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подтверждение перед закрытием программы

7.7K
10 апреля 2008 года
g3n3s1s
30 / / 28.10.2005
Нужно сделать подтверждение перед закрытием программы. Не подскажете как? Обрабатывать OnClose а в нем MessageBox()?
8.4K
10 апреля 2008 года
Zor
104 / / 23.04.2006
OnCloseQuery + CanClose
7.7K
10 апреля 2008 года
g3n3s1s
30 / / 28.10.2005
Цитата: Zor
OnCloseQuery + CanClose



Программа закрывается по нажатию на крестик.

8.4K
10 апреля 2008 года
Zor
104 / / 23.04.2006
:)
а должна петь и танцевать?

CanClose управляет возможностью закрытия - можно или нет.
Спроси в MsgBox - и результат в переменную.
7.7K
11 апреля 2008 года
g3n3s1s
30 / / 28.10.2005
Цитата: Zor
:)
а должна петь и танцевать?

CanClose управляет возможностью закрытия - можно или нет.
Спроси в MsgBox - и результат в переменную.



Возможно, я чего-то не понимаю. Если можно, с примером

33K
11 апреля 2008 года
seska
26 / / 10.04.2008
 
Код:
void __fastcall TForm1::ExitClick(TObject *Sender)
{
 if (MessageDlg("Выйти из приложения?", mtConfirmation,TMsgDlgButtons() << mbYes <<mbNo, 0) == mrYes )
 {
  Close();
 }
}


У меня вот так работает.

Только такой вариант не работает, если код вставить в событие OnFormClose!!! Тока если ты собираешься закрывать через другие события.
8.4K
11 апреля 2008 года
Zor
104 / / 23.04.2006
В событии OnCloseQuery пишешь:

 
Код:
void __fastcall TMainForm::FormCloseQuery (TObject *Sender, bool &CanClose)
{
CanClose = (MessageBox(Handle, "Уверен?", "Вопрос", MB_YESNO | MB_ICONQUESTION) == IDYES);
}
//---------------------------------------------------------------------------
33K
11 апреля 2008 года
seska
26 / / 10.04.2008
Ну да, как посоветовал Zor получше буит ;)
7.7K
11 апреля 2008 года
g3n3s1s
30 / / 28.10.2005
Цитата: Zor
В событии OnCloseQuery пишешь:

 
Код:
void __fastcall TMainForm::FormCloseQuery (TObject *Sender, bool &CanClose)
{
CanClose = (MessageBox(Handle, "Уверен?", "Вопрос", MB_YESNO | MB_ICONQUESTION) == IDYES);
}
//---------------------------------------------------------------------------



Благодарю вас, буду дальше разбираться

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог