C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 1.26.3 Разрушение окна / Окна… / Win32 API

1.26.3 Разрушение окна

Вы можете использовать функцию DestroyWindow, чтобы уничтожить окно. Как правило, прикладная программа перед разрушением окна посылает сообщение WM_CLOSE, давая окну возможность запросить у пользователя подтверждение перед разрушением его. Окно, которое включает в себя автоматически меню окна, принимает сообщение WM_CLOSE, когда пользователь выбирает команду Закрыть (Close) из меню. Если пользователь подтверждает, что окно должно быть разрушено, прикладная программа вызывает DestroyWindow. Windows посылает окну сообщение WM_DESTROY после удаления его с экрана. В ответ на WM_DESTROY, окно сохраняет свои данные и освобождает любые ресурсы, которые выделила ему система. Основное окно завершает свою обработку WM_DESTROY, вызывая функцию PostQuitMessage, чтобы выйти из прикладной программы.

Следующий пример показывает, как запросить подтверждение у пользователя перед разрушением окна. В ответ на WM_CLOSE, пример отображает на экране диалоговое окно, которое содержит кнопки Да (Yes) , OK и Прекратить (Cancel). Если пользователь щелкает мышью по кнопке Да (Yes), вызывается DestroyWindow; иначе, окно не разрушается. Поскольку разрушаемое окно - основное окно, пример вызывает PostQuitMessage в ответ на WM_DESTROY.

case WM_CLOSE:

// Создаем окно сообщений. Если пользователь щелкает мышью
// по кнопке Да (Yes), основное окна разрушается.

if (MessageBox(hwnd, szConfirm, szAppName,
MB_YESNOCANCEL) == IDYES)
DestroyWindow(hwndMain);
else
return 0;

case WM_DESTROY:

// Регистрирует сообщение WM_QUIT, чтобы завершить выход из программы.

PostQuitMessage(0);
return 0;

Дополнительные материалы на сайте:


| |
Автор Владимир Соковиков.
[AD]





Дебетовая карта Home Credit [CPS] RU