|
Шаг 60 - Сообщение WM_DESTROY.
Это сообщение посылается когда необходимо уничтожить окно. После удалении его с экрана. Посылается сообщение сначала главному окну, а потом дочерним окнам. После принятия этого сообщения необходимо вызывать функцию PostQuitMessage(). Сообщение о разрушении окна поступит именно оконной процедуре, а не в стандартной очереди сообщения. Общий вид обработки этого сообщения такой:
case WM_DESTROY:
PostQuitMessage( 0 );
break;
В ответ на это сообщение мы должны поместить в очередь сообщение WM_QUIT. Это и делает функция PostQuitMessage() посылая в очередь это сообщение и говоря, что процесс должен быть завершен.
VOID PostQuitMessage
(
int nExitCode // код возврата
);
Смотрите на рисунок. Сообщение WM_DESTROY поступает сразу в оконную процедуру. Теперь оконная процедура вызывает PostQuitMessage(), которая и помещает сообщение WM_QUIT в очередь сообщений. В последствии его отловит GetMessage() и программа прекратит работу. WM_QUIT может посылать только WinMain() и должна это делать. И Windows и Вы сами не должны посылать сообщение WM_QUIT. Это сделано для того, чтобы окно могло освободить все использованные им ресурсы.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|