MFC消息处理机制

Posted _xiaohaige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC消息处理机制相关的知识,希望对你有一定的参考价值。

1、如果要在一个代表窗口的类(代表窗口的类,都派生于CWnd)中处理消息,那么:

  1.1、如果处理的Windows消息是WM_XXX,那么可以在MSDN中通过ON_WM_XXX来查找到相关说明。

  1.2、将和ON_WM_XXX消息关联的函数声明,写到类方法中,这个方法就对应于Windows的WM_XXX消息,响应该消息就会调用该方法。

  1.3、在代表窗口类中,添加一个宏:DESCLARE_MESSAGE_MAP();声明类定义了消息映射, 每个 CCmdTarget(在程序的派生类必须提供消息映射到处理消息。

  1.4、在类的实现代码源文件中,添加以下宏:   

      BEGIN_MESSAGE_MAP()
        ON_WM_XXX()
      END_MESSAGE_MAP()

  1.5、实现代表窗口的类中,实现类中对应于每个消息的函数,这些函数也就是窗口的消息处理代码。

以上是关于MFC消息处理机制的主要内容,如果未能解决你的问题,请参考以下文章

MFC宏消息处理机制的原理

MFC自定义消息的实现方法

如何实现消息机制

windows下的MFC消息映射机制

windows下的MFC消息映射机制

MFC_消息处理