5. Сообщения. Цикл сообщений, основные компоненты (Ответы на вопросы билетов)
Описание файла
Файл "5. Сообщения. Цикл сообщений, основные компоненты" внутри архива находится в следующих папках: Ответы на вопросы билетов, WinAPI - Ответы на вопросы билетов. PDF-файл из архива "Ответы на вопросы билетов", который расположен в категории "". Всё это находится в предмете "api windows" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "api windows" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
1.Сообщения. Цикл сообщений, основные компоненты.Сообщение - это извещение о некотором имевшем место событии, посылаемое системой Windows –они информируют Windows или приложение, что произошло какое-то событие (например, произошлонажатие клавиши). Также сообщение может быть послано или получено от другого пользователя илиWindowsДля каждого приложения создается своя очередь сообщений. Очередь сообщения приложенийможет пополняться не только из системной очереди сообщений. Любое приложение можетпослать сообщение любому другому сообщению, в том числе и само себе.Основная работа, которую должно выполнять приложение, заключается в обслуживаниисобственной очереди сообщений.
Обычно приложение в цикле, называемом циклом сообщений,опрашивает свою очередь сообщений (каждая программа должна иметь функцию обработкисообщений).Функция WinMain в цикле обработки сообщенийс помощью функции GetMessage выбираетсообщения из очереди сообщений приложения ираспределяет их функциям окон, вызывая функциюDispatchMessage.Функция GetMessage предназначена длявыборки сообщения из очереди приложения.Сообщение выбирается из очереди и записывается вобласть данных, принадлежащую приложению.Функция TranslateMessage занимаетсяобработкой клавишных команд.Функция DispatchMessage предназначена дляраспределения выбранного из очереди сообщениянужной функции окна (определяет, какой функцииокна отправить сообщение).
Так как приложение обычно создает много окон и эти окна используютразличные функции окна, необходимо распределить сообщение именно тому окну, для которого онопредназначено. Поэтому приложение должно распределить сообщение после его выборки из очередиприложения, в котором находятся сообщения для всех окон. Затем управление передается Windows, и онвызывает обработчик. Обработчик дополняется кодом и начинает работать в составе ОС.Типичный цикл сообщений:MSGmsg;// Структура для временного хранения информации о сообщении.while(GetMessage(&msg, 0, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;.