消息类别

哪种消息的是您编写处理程序? 有三种主要类别:

  1. Windows 消息

    这包括以 WM_ 前缀开头的这些主消息,除了 WM_COMMAND。 窗口消息由窗口和视图的各个处理。 这些消息通常具有用于确定如何处理消息的参数。

  2. 控件通知

    这包括来自控件和其他子窗口的 WM_COMMAND 通知消息到其父窗口。 例如,编辑控件发送其父控件通知包含 EN_CHANGE 代码的 WM_COMMAND 消息,当用户执行了可能修改了编辑控件的文本操作。 消息的窗口处理程序响应通知消息用某个适当方式,如检索控件中的文本。

    框架发送与其他 WM_ 消息相似的的控件通知消息。 但是,在用户单击它们时,引发异常,该按钮发送的 BN_CLICKED 控件通知信息。 此消息为专门将命令发送消息并与任何其他命令。

  3. 命令消息

    这包括从用户界面对象的 WM_COMMAND 通知消息:菜单、工具栏按钮和快捷键。 框架处理命令与其他消息不同,并且,它们可以通过更多对象处理,如 命令目标说明。

窗口消息和控件通知消息

在类别 1 和 2 的消息 - Windows 消息和通知控件 - 由窗口操作:从类派生类的对象 CWnd。 这包括 CFrameWndCMDIFrameWndCMDIChildWndCViewCDialog,并拥有这些基类派生的类。 这样的对象封装 HWND,一个窗口的句柄。

命令消息

在类别 3 的消息 - 命令 - 可由对象的处理:文档、文档模板和应用程序对象以及窗口和视图之外。 当命令直接影响一些特定对象时,对象处理命令很有意义。 例如,在"文件"菜单中打开命令与应用程序相结合:应用程序打开指定文档时将收到命令。 由于打开命令的处理程序为应用程序类的成员函数。 有关更多有关命令和它们路由到对象的信息,请参见 Framework 如何通知处理程序

请参见

概念

框架中的消息和命令