В общем приложение должно уничтожить все окна, создаваемые им. Это делается с помощью функции DestroyWindow . Когда окно уничтожается, система скрывает окно, если она видна, а затем удаляет все внутренние данные, связанные с окном. Это делает недействительным дескриптор окна, которые больше не могут использоваться приложением.
Приложение разрушает многие из windows, которые он создает вскоре после их создания. К примеру приложение обычно разрушает диалоговое окно поля после того, как приложение имеет достаточную ввод пользователя продолжать свою задачу. Приложение в конечном итоге разрушает главное окно приложения (перед завершением).
Прежде чем уничтожить окно, приложение должно сохранять или удалять любые данные, связанные с окном, и он должен освободить все системные ресурсы, выделенные для окна. Если приложение не освобождает ресурсы, система позволит освободить все ресурсы, не освобождены от применения.
Уничтожив окно не влияет на класс окна, из которой создается окно. Новые окна могут по-прежнему создаваться с помощью этого класса, и любые существующие окна этого класса продолжают действовать. Уничтожение окна также разрушает потомков окна windows. DestroyWindow функция отправляет сообщение WM_DESTROY сначала в окно, затем его дочерних окон и дочерние окна. Таким образом все дочерние окна окна уничтожаются также уничтожаются.
Окно с меню Окно получает сообщение WM_CLOSE , когда пользователь нажимает кнопку Закрыть. Путем обработки этого сообщения, приложение может предложить пользователю подтвердить, прежде чем уничтожить в окно. Если пользователь подтверждает, что окно должно быть уничтожено, приложение может вызвать функцию DestroyWindow для уничтожения в окно.
Если уничтожается это активное окно, как активный и внимание государства переносятся в другое окно. Окно, которое становится активным является следующее окно, как определено комбинацию клавиш alt + esc. Новое активное окно затем определяет, какое окно получает фокус клавиатуры.