深入浅出MFC——消息映射与命令传递(六)

时间:2022-07-29 17:21:43

1. 消息分类:

深入浅出MFC——消息映射与命令传递(六)

2. 万流归宗——Command Target(CCmdTarget):

深入浅出MFC——消息映射与命令传递(六)

3. "消息映射"是MFC内建的一个信息分派机制。通过三个宏(DECLARE_MESSAGE_MAP/BEGIN.../ON.../END...)完成消息网的建构。

4. 注意:CWinThread派生自CCmdTarget,但没有DECLARE_/BEGIN_/END_宏组。

深入浅出MFC——消息映射与命令传递(六)

5. 消息映射与虚函数:

深入浅出MFC——消息映射与命令传递(六)

深入浅出MFC——消息映射与命令传递(六)

6.MFC2.5在AfxWinInit之中,自动为程序注册四个Windows窗口类,并且把窗口函数一致设为AfxWndProc(MFC2.5的CWinApp::Run调用PumpMessage,后者又调用::DispatchMessage,把消息源源推往AfxWndProc,最后留向pWnd->WindowProc去)。MFC4.x中仍然保有和MFC2.5相同的AfxWndproc,仍然保有AfxCallWndProc,而且它们扮演的角色也没有变。这其中,MFC4.x利用了 —— 钩子hook——滤网函数:

深入浅出MFC——消息映射与命令传递(六)

深入浅出MFC——消息映射与命令传递(六)

7. 消息的传递:

深入浅出MFC——消息映射与命令传递(六)

8. 消息上溯(一般Windows消息):
深入浅出MFC——消息映射与命令传递(六)

9. 拐弯上溯(WM_COMMAND命令消息):

深入浅出MFC——消息映射与命令传递(六)

深入浅出MFC——消息映射与命令传递(六)

10. AfxSig_xx的奥秘:

深入浅出MFC——消息映射与命令传递(六)

深入浅出MFC——消息映射与命令传递(六)

深入浅出MFC——消息映射与命令传递(六)

11.