Окт 13

Цикл обработки сообщений

Непременным компонентом всех Windows-приложений является цикл обработки сообщений. У приложения всегда есть главная функция WinMain. Обычно она содержит вызовы функций для инициализации и создания окон, после чего следует цикл обработки сообщений и необходимый код для закрытия приложения.
Что происходит в цикле обработки сообщений? Как известно, все сообщения, адресованные приложению, Windows записывает в очередь сообщений приложения. Извлечение сообщения из этой очереди осуществляет функция GetMessage.
Если очередное сообщение имеет код WM_QUIT, то происходит выход из цикла, после чего приложение завершает свою работу.
Если очередное сообщение не является сообщением WM_QUIT, то оно передается функции DispatchMessage, которая возвращает сообщение обратно в Windows. Windows отправляет сообщение для его обработки соответствующей оконной процедуре — иными словами, Windows вызывает оконную процедуру. После возврата из оконной процедуры Windows передает управление оператору, который расположен после DispatchMessage, и работа цикла продолжается.
Все... Почва вспахана, взборонена, унавожена, увлажнена... Осталось опустить в нее первое зернышко...