//在定义文件中
afx_msg void OnAppAbout();//在实现文件中
BEGIN_MESSAGE_MAP(CMyPadApp, CWinApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
END_MESSAGE_MAP()按我的想法,ID_APP_ABOUT 消息应发给 FrameWnd 或他的子类,可此处???我只能理解View和FrameWnd的接收消息,不明白App是如何接收消息的,
请大家帮我解释一下。

解决方案 »

  1.   

    实际上所有的消息先到CWinApp的消息循环,然后才会分配给Frame等窗口
      

  2.   

    看看《深入浅出MFC 第2版》第三章中的消息路由吧"按我的想法,ID_APP_ABOUT 消息应发给 FrameWnd 或他的子类"消息的流动路线,分两类, 如果是从子类流向父类(纵向流动),整个消息映射表已规划出十分明确的路线, 你这提的就属这类,就是从CMyPadApp流向CWinApp,即如果不在这响应ID_APP_ABOUT消息,那么消息将传递到CWinApp 进而一直到CCmdTarget为止,如果此消息没有相应的消息处理函数, 那么就会交给类的缺省处理函数
      

  3.   

    还有一类是横向流动, 如流向view类 document类