|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.07.2010, 22:24 | #1 |
Регистрация: 30.05.2010
Сообщений: 9
|
Закрытие приложения в Visual C++ 2008
Добрый день.
Столкнулся с проблемой завершения программы. Например, перед ее закрытием нужно выполнить ряд условий. Если я ее закрываю через меню файл -> закрыть, то в обработчике события "закрыть", я пишу : if (uslovie) { this -> Close(); // Закрываю форму, если "uslovie == true" . } Можно ли создать такую же обработку закрытия программы, при нажатии на крестик в правом верхнем углу ? И где находится сам обработчик такого события (закрытия) ? Заранее благодарен. |
04.07.2010, 22:42 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Видимо надо угадывать что за библиотеку (если вообще) вы используете. Но все же, ловить OnClose сообщение (ивент в используемой библ.) там обычно есть параметр входящий/исходящий в котором как раз это можно установить.
p.s. опять не ясно, причем тут .NET |
05.07.2010, 04:06 | #3 |
Регистрация: 18.09.2009
Сообщений: 3
|
мм.. C++/CLI похоже
Вариантов много: например события FormClosing и FormClosed, или перекрытие функции OnClosing. Они все сработают при вызове this->Close() Последний раз редактировалось HIMen; 05.07.2010 в 04:16. |
05.07.2010, 21:34 | #4 |
Регистрация: 30.05.2010
Сообщений: 9
|
Спасибо. Буду отталкиваться от FormClosing и FormClosed
(пока не понятно как до них добраться, но разберусь). Вообще, это задумано для того, что если ряд определенных условий не выполнен, то программа не закрывается, а просит их выполнить перед закрытием, например как сохранить файл перед выходом и пр. (слово файл здесь - только как пример). |
06.07.2010, 13:35 | #5 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
Есть проще вариант. Подписываешься на FormClosing, в обработчике:
Код:
|
06.07.2010, 19:15 | #6 |
Регистрация: 30.05.2010
Сообщений: 9
|
Событие FormClosing :
if (uslovie) { e -> Cancel = true; // Отменяем закрытие, если "uslovie == true" } Вот точно, спасибо. Этот вариант у меня сегодня и заработал. Разобрался. Событие FormClosing срабатывает до закрытия формы, и ее закрытие можно отменить, FormClosed - после закрытия. В общем, все классно и все работает !!! Спасибо. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) | cherw9!40k | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 14.01.2010 20:51 |
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? | Casper-SC | Софт | 4 | 31.12.2009 11:46 |
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ | Эйнж | Общие вопросы C/C++ | 0 | 27.12.2009 20:39 |
Сборка standalone приложения в Visual Studio 2008 | Sparxy | Visual C++ | 2 | 06.11.2009 15:06 |
Закрытие приложения | Лёка | Общие вопросы Delphi | 7 | 09.03.2008 15:50 |