Структура приложения Windows
case WM_DESTROY :
{
// это сообщение приходит , когда пользователь закрывает окно
PostQuitMessage(0); // посылаем в очередь сообщение WM_QUIT
return 0 ;
}
}
// остальные сообщения обрабатываются по умолчанию
return DefWindowProc ( hwnd , msg , wParam , lParam );
}
Фактически функция окна представляет собой один большой оператор выбора из обрабатываемых функцией окна сообщений и содержит обработчики этих сообщений. Как правило, программист планирует обработку далеко не всех сообщений, поступающих в функцию окна. Поэтому, перед возвратом из функции необработанные сообщения передаются на обработку по умолчанию функции DefWindowProc. Значение, возвращаемое функцией окна в общем случае определяется тем, какое обрабатывалось сообщение. Обратим также внимание на обработку сообщения WM_DESTROY, которое поступает в функцию окна, когда пользователь закрывает окно. Если речь идет о главном окне приложения, то стандартно после закрытия этого окна приложение должно быть завершено. Для этого при помощи функции PostQuitMessage в очередь сообщений соответствующего потока посылается сообщение WM_QUIT. Это один из примеров посылки сообщения в собственную очередь.
предыдущаяследующая