比如说我在view类里面定义了一个用户消息,在mainfrm类里面实现它的映射函数可不可以

解决方案 »

  1.   

    windows消息是全局的,
    自定义的消息必须自己控制::SendMessage(hWnd,MESSAGE);
    hWnd为消息接收窗口句柄
      

  2.   

    消息的数据结构是{HWND   hwnd;
    UINT     message;//WM_xxxxx
    WPARAM 
    }主要是那个句柄hwnd,它标明了所属窗口,自然会送给窗口函数处理。
    对于向导生成的框架,因为是由模板生成,所以没有什么唯一窗口,消息流向为
    app->view->doc->frame
      

  3.   

    windows消息也是按窗口接收的。你建立一个消息映射时,系统会自动指定接收消息的接口。比如一个菜单click消息,你要是在frame和view中同时建立两个消息映射,只有view中的可以收到,因为系统把消息发给了view而不是frame。不论是windows还是你自己,一次只能把一个消息发给一个窗口。