恩?你又问了一次?
重载WM_SIZE在其中UpdataWindow(GetSafeHwnd());重画一下。

解决方案 »

  1.   

    PreTranslateMessage?谁道什么意思啊,就是TranslateMessage前面加个Pre呗
      

  2.   

    那OnSize里面
    ::SendMessage(GetSafeHwnd(),WM_PAINT,::GetDC(this->m_hWndMDIClient),NULL);这样成不成呢?
      

  3.   

    111222:上述问题,我找到了一个解决的实例。可有些看不懂为什么这样做,(结果是正确的,我调试过了)。
    1、在CMainFrame类声明中加入:virtual BOOL PreTranslateMessage();
    2、在CMainFrame类实现文件中加入:
       BOOL CMainFrame::PreTranslateMessage(MSG* pMsg) { if(pMsg->hwnd==m_hWndMDIClient && pMsg->message==WM_PAINT) PostMessage(WM_PAINT);return CMDIFrameWnd::PreTranslateMessage(pMsg);
    }就这以简单,能不能解释一下为什么要这样做?
        
      

  4.   

    1。没有必要那么复杂吧?把dc.BitBlt改成dc.StretchBlt试试。
    2。PreTransMessage()是对具有消息机制的类进行消息的重新分派,如你可以在该函数中拦截WM_LBUTTONDOWN消息,修改成WM_MYMESSAGE后再dispatch,就可以达到一些自己的目的??试试看!!