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++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 60 - Сообщение WM_DESTROY / Win 32 API / Win32 API

Шаг 60 - Сообщение WM_DESTROY

Это сообщение посылается когда необходимо уничтожить окно. После удалении его с экрана. Посылается сообщение сначала главному окну, а потом дочерним окнам. После принятия этого сообщения необходимо вызывать функцию PostQuitMessage(). Сообщение о разрушении окна поступит именно оконной процедуре, а не в стандартной очереди сообщения. Общий вид обработки этого сообщения такой:

case WM_DESTROY: 
	PostQuitMessage( 0 ); 
	break;
В ответ на это сообщение мы должны поместить в очередь сообщение WM_QUIT. Это и делает функция PostQuitMessage() посылая в очередь это сообщение и говоря, что процесс должен быть завершен.
VOID PostQuitMessage
( 
	int nExitCode		// код возврата
);

60.gif (1434 b)

Смотрите на рисунок. Сообщение WM_DESTROY поступает сразу в оконную процедуру. Теперь оконная процедура вызывает PostQuitMessage(), которая и помещает сообщение WM_QUIT в очередь сообщений. В последствии его отловит GetMessage() и программа прекратит работу. WM_QUIT может посылать только WinMain() и должна это делать. И Windows и Вы сами не должны посылать сообщение WM_QUIT. Это сделано для того, чтобы окно могло освободить все использованные им ресурсы.


| |
Автор Каев Артем.
[AD]