Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Какие виды сообщений вы пишете обработчики для трех основных категорий?
Сообщения Windows
Это включает в себя в первую очередь эти сообщения, начиная с префикса WM_ , за исключением WM_COMMAND. Сообщения Windows обрабатываются окнами и представлениями. Эти сообщения часто имеют параметры, используемые при определении способа обработки сообщения.
Управление уведомлениями
К ним относятся уведомления в форме сообщений WM_COMMAND от элементов управления и других дочерних окон к их родительским окнам. Например, элемент управления редактирования отправляет родительское сообщение WM_COMMAND, содержащее код уведомления EN_CHANGE, когда пользователь принял действие, которое могло изменить текст в элементе управления редактированием. Обработчик окна для сообщения отвечает на сообщение уведомления соответствующим образом, например, извлечение текста в элементе управления.
Фреймворк направляет сообщения управления уведомлениями аналогично другим сообщениям WM_. Однако одним из исключений является сообщение управляющего уведомления BN_CLICKED, отправляемое кнопками, когда пользователь нажимает их. Это сообщение обрабатывается специально как командное сообщение и направляется так же, как и другие команды.
Командные сообщения
К ним относятся WM_COMMAND сообщения уведомлений из объектов пользовательского интерфейса: меню, кнопки панели инструментов и клавиши акселератора. Платформа обрабатывает команды по-разному от других сообщений, и их можно обрабатывать другими типами объектов, как описано в разделе "Целевые объекты команд".
Сообщения Windows и сообщения Control-Notification
Сообщения в категориях 1 и 2 — сообщения Windows и уведомления управления обрабатываются окнами: объекты классов, производных от класса CWnd. К ним относятся CFrameWnd, , CMDIFrameWnd, CMDIChildWndCViewCDialogи собственные классы, производные от этих базовых классов. Такие объекты инкапсулируют HWNDдескриптор окна Windows.
Командные сообщения
Сообщения в категории 3 — команды — могут обрабатываться более широким спектром объектов: документов, шаблонов документов и самого объекта приложения в дополнение к окнам и представлениям. Если команда напрямую влияет на какой-то конкретный объект, то имеет смысл иметь этот объект для обработки команды. Например, команда Open в меню "Файл" логически связана с приложением: приложение открывает указанный документ после получения команды. Поэтому обработчик команды Open является функцией-членом класса приложения. Дополнительные сведения о командах и их маршрутизации в объекты см. в разделе "Как платформа вызывает обработчик".