消息映射 (MFC)
这个部分的饮用列出了所有的message mapping macros和所有的CWnd消息,映射的实例与函数实例一致。
类别 |
说明 |
---|---|
控件WM_COMMAND信息由用户菜单选项或用户菜单访问键生成。 |
|
处理来自子窗口的通知消息。 |
|
处理WM_消息,例如WM_PAINT。 |
|
处理用户定义的消息。 |
(在引用中使用的术语和公约的例子请参见How to Use the Message Map Cross-Reference。)
因为 windows 是面向消息操作系统,Windows环境下编程的一大部分参与消息处理。 每次使用诸如击键或鼠标单击时,信息会发送到应用程序,然后必须处理事件。
Microsoft 基础类库提供基于消息编程的编程模型优化。 在此模型中,“消息映射”用于指定哪些函数用于为特定的类处理多种消息。 消息映射包含一个或多个宏用于指定哪些函数处理哪些消息。 例如,一个消息映射包括一个ON_COMMAND宏,会像这样:
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
ON_COMMAND宏用于处理由菜单、按钮、和加速键生成的命令消息。 Macros可用于映射如下的:
Windows消息
控件通知
用户定义的消息
命令消息
注册用户定义消息
用户界面更新消息
消息的范围
命令
更新处理程序消息
控件通知
虽然消息映射宏很重要,但您通常不会直接使用它们。 这是因为当你使用消息关联消息处理函数时,属性窗口在源文件自动创建消息映射项。 任何时候你需要编辑或添加消息映射项,可以使用属性窗口。
备注
属性窗口不支持消息映射排序。必须自己编写这些消息映射项。
但是,消息映射是Microsoft 基础类库的重要组成部分。 您应了解他们做了什么,并且文档是为他们提供的。