Категории сообщений
Каких типов сообщений создавать обработчики? 3 Основные категории:
Сообщения Windows
Сюда входят в основном эти сообщения начиная с префиксом WM_, за исключением WM_COMMAND. Сообщения Windows обрабатываются окнами и представлениями. Эти сообщения часто содержат параметры, которые используются для определения способов обработки сообщения.
Уведомления элемента управления
Это включает сообщения уведомления WM_COMMAND из дочерних элементов управления и других окон к их родительскому окна. Например, элемент управления "Поле ввода" родительский отправляет сообщение WM_COMMAND, содержащий код элемента управления уведомления EN_CHANGE, когда пользователь принимал действия, которые могут изменять текст в элементе управления "Поле ввода". Обработчик окна для сообщений отвечает на сообщение уведомления каким-либо соответствующим образом, как извлечь текст в элементе управления.
Платформа направляет сообщения в элементе управления уведомления так же, как и другие сообщения WM_. Существует одно исключение, сообщение в элементе управления BN_CLICKED уведомлений, отправляемых при нажатии пользователем кнопки. Особенно это сообщение обрабатывается как сообщение направлено как команды и другие команды.
Сообщения команды
Это включает сообщения уведомления WM_COMMAND из объектов пользовательского интерфейса: меню, кнопки панели инструментов и сочетания клавиш. Иначе, чем команд процессов платформы другие сообщения, и они могут обрабатываться несколько типов объектов, как описано в разделе Конечные объекты command.
Сообщения Windows и сообщения уведомления элементов управления
В списке категорий сообщения 1 и 2 — сообщения Windows и уведомления элемента управления — обрабатываются окнами: объекты классов, производных от класса CWnd. Это позволяет CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog и собственные классы, производные от этих базовых классов. Такие объекты инкапсулируют HWND, дескриптором окна Windows.
Сообщения команды
Сообщения в категории 3 — команды — могут обрабатываться более широким разнообразием объектов: документы, шаблоны документов, и сам объект приложения в дополнение к окнам и представления. При выполнении команды непосредственно влияет на некоторый указанный объект, имеет смысл использовать, что обработка объекта команды. Например, открытая команды в меню "Файл" логический связанной с приложением. приложение будет открыт указанный документ при получении команды. Поэтому обработчик для открытой команды функции-члена класса приложения. Дополнительные сведения о командах и их направляются к объектам см. в разделе Как .NET Framework вызывает обработчик.