Вы можете использовать функцию 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;
Дополнительные материалы на сайте: