Поделиться через


Отправка и получение сообщений

Рассмотрите возможность отправки части процесса и реагирования платформы.

Большинство сообщений результатом взаимодействия пользователя с программой. Команды создаются щелчками мыши в меню или кнопках панели инструментов или нажатием клавиш акселератора. Пользователь также создает сообщения Windows, например перемещение или изменение размера окна. Другие сообщения Windows отправляются при возникновении таких событий, как запуск или завершение программы, так как окна получают или теряют фокус и т. д. Сообщения с уведомлениями об элементе управления создаются щелчками мыши или другими взаимодействиями пользователей с элементом управления, например кнопкой или элементом управления "Список" в диалоговом окне.

Функция-член Run класса CWinApp извлекает сообщения и отправляет их в соответствующее окно. Большинство сообщений команд отправляются в главное окно фрейма приложения. Предопределенная WindowProc библиотекой классов получает сообщения и направляет их по-разному в зависимости от категории полученного сообщения.

Теперь рассмотрим получение части процесса.

Первоначальный получатель сообщения должен быть объектом окна. Сообщения Windows обычно обрабатываются непосредственно этим объектом окна. Сообщения команд, которые обычно возникают в главном окне фрейма приложения, направляются в цепочку целевых команд, описанную в разделе "Маршрутизация команд".

Каждый объект, способный получать сообщения или команды, имеет собственную карту сообщений, которая связывает сообщение или команду с именем обработчика.

Когда объект командной цели получает сообщение или команду, он выполняет поиск в сопоставлении сообщений. Если он находит обработчик для сообщения, он вызывает обработчик. Дополнительные сведения о том, как выполняются поиски карт сообщений, см. в разделе "Как Карты поиска в Платформе". Еще раз обратитесь к командам рисунка в Платформе.

См. также

Вызовы обработчика со стороны платформы