消息处理和映射

本文章系列介绍 MFC 框架如何处理消息和命令以及您如何将这些消息和命令与其处理程序函数相关联。

在传统的 Windows 程序中,Windows 消息在窗口过程中的大型 switch 语句中处理。 MFC 则不同,它使用消息映射将直接消息映射到不同的类成员函数。 从这方面来看,消息映射比虚函数效率更高,并且前者可让消息由最合适的 C++ 对象(应用程序、文档、视图等)处理。 您可以映射单个消息,或者映射一系列消息、命令 ID 或控件 ID。

WM_COMMAND 消息(通常会由菜单、工具栏按钮或快捷键生成)也使用消息映射机制。 MFC 在程序中定义应用程序、框架窗口、视图和活动文档之间的命令消息的标准路由。 如果需要,您可以重写此路由。

消息映射还提供了一种更新用户界面对象(如菜单和工具栏按钮)的方法,即启用或禁用这些对象以适应当前上下文。

有关 Windows 中的消息和消息队列的常规信息,请参阅 Windows SDK 中的消息和消息队列

你想进一步了解什么

另请参阅

概念
常规 MFC 主题
CWnd 类
CCmdTarget 类