消息映射 (MFC)
此参考部分列出了所有消息映射宏和所有 CWnd
消息映射条目以及相应的成员函数原型:
类别 | 说明 |
---|---|
ON_COMMAND 消息处理程序 |
处理用户菜单选择或菜单访问键生成的 WM_COMMAND 消息。 |
子窗口通知消息处理程序 | 处理子窗口中的通知消息。 |
WM_ 消息处理程序 |
处理 WM_ 消息,例如 WM_PAINT 。 |
用户定义的消息处理程序 | 处理用户定义消息。 |
(有关本参考中使用的术语和约定的说明,请参阅如何使用消息映射交叉引用。)
由于 Windows 是面向消息的操作系统,因此 Windows 环境的大部分编程都涉及消息处理。 每次发生按键输入或鼠标单击等事件时,都会向应用程序发送一条消息,然后必须处理该事件。
Microsoft 基础类库提供了基于消息的编程而优化的编程模型。 在此模型中,“消息映射”用于指定哪些函数将处理特定类的各种消息。 消息映射包含一个或多个宏,这些宏指定将由哪些函数处理哪些消息。 例如,包含 ON_COMMAND
宏的消息映射可能如下所示:
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
该 ON_COMMAND
宏用于处理菜单、按钮和快捷键生成的命令消息。 宏可用于映射以下内容:
Windows 消息
控件通知
用户定义消息
命令消息
已注册的用户定义消息
用户界面更新消息
消息范围
命令
更新处理程序消息
控件通知
尽管消息映射宏很重要,但通常不必直接使用它们。 这是因为类向导将在你将其用于将消息处理函数与消息关联时,自动在源文件中创建时间映射条目。 每当需要编辑或添加消息映射条目时,均可使用类向导。
注意
类向导不支持消息映射范围。 必须自行编写这些消息映射条目。
但是,消息映射是 Microsoft 基础类库的重要组成部分。 你应该了解它们执行的操作,并为它们提供文档。