根据我理解,就是把一个窗口以一个窗口类进行处理,包括(消息、消息响应方法等),而这个窗口类一般来说是你生成的一个CWnd派生类。

解决方案 »

  1.   

    子类化相当于你可以对传递给窗口的消息进行预处理后,再由原窗口函数处理,如一个子类化的CEdit只接收数字输入.
      

  2.   

    简单地说就是拦截 WindProc 重新改写消息处理函数以处理特定的消息,对非特定消息继续调用原来的处理过程。
      

  3.   

    就是用自己的函数对消息进行处理.举个例子.要按钮按下时不发送BN_CLICKED消息.
    LRESULT CALLBACK BtnWndProc(HWND ,UINT ,WPARAM ,LPARAM) ;
    WNDPROC WndProc=(WNDPROC)SetWindowLong(hButton,GWL_WNDPROC,(LONG)BtnWndProc);
    LRESULT CALLBACK BtnWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
    {
      switch(msg)
     {
      case WM_LBUTTONDOWN:
    //  own function
      break;
     default:
     return  CallWindowProc(WndProc,hWnd,msg,wParam,lParam);
     }
    return 0;
    }
      

  4.   

    通常,MFC控件类有其自己的缺省消息处理函数。但如果由MFC控件类有特殊要求,并保留原有类的大部分功能,则没有必要自己生成一新类。只需派生一新类,在其过程处理函数或消息处理函数中加入自己的代码,子类化后,个人代码将先年一步截流此消息,从而达到自己的特殊要求。