拦截WM_SYSCOMMAND消息若wParam=SC_CLOSE
则转换为SC_MINIMIZE或SC_ICON都可以

解决方案 »

  1.   

    CYourDlg::OnClose()
    {
      this->ShowWindow(SW_MINIMIZED);
    }
      

  2.   

    BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
    //{{AFX_MSG_MAP(CChildFrame)
    .....................................
    ON_WM_SYSCOMMAND()
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()void CChildFrame::OnSysCommand(UINT nID, LPARAM lParam) 
    {
    if (nID==SC_CLOSE)
    {
    ...............
    }

    CMDIChildWnd::OnSysCommand(nID, lParam);
    }