本帖最后由 takpod 于 2014-07-01 08:51:21 编辑

解决方案 »

  1.   

    BOOL CFixSplitterWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    {
        if(!m_block)
            return CSplitterWnd::OnSetCursor(pWnd, nHitTest, message);
    //    else
            return TRUE;// CWnd::OnSetCursor(pWnd, nHitTest, message);
    }
    不要调 CWND
      

  2.   


    BOOL CFixSplitterWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    { return CSplitterWnd::OnSetCursor(pWnd, nHitTest, message);
    }
    就是这样也会出现错误,捕捉到鼠标就出现致命错误
      

  3.   

    void CMyView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    /*
    CDC *pDC=GetDC();
    CRect rect;
    GetClientRect(rect);
    pDC->SetMapMode(MM_LOMETRIC); //设置坐标系单位
    pDC->SetViewportOrg(50,rect.bottom-50);//原点
    pDC->DPtoLP(&point);
    point.x=point.x*MUL;
    point.y=point.y*MUL;
    CString strPos;
    strPos.Format("X:%d""Y:%d",point.x,point.y);
    CMainFrame *pMF=(CMainFrame *)AfxGetApp()->m_pMainWnd;
    CStatusBar *pS=&pMF->m_wndStatusBar;
    pS->SetPaneText(1,strPos);
    strPos.Empty();
    */
    CView::OnMouseMove(nFlags, point);
    }注掉这些就可以了
      

  4.   

    事实上去掉这个就可以了,求原因  
    strPos.Empty();
      

  5.   

        pS->SetPaneText(1,strPos);
        strPos.Empty();   状态条 还在 用 ?
      

  6.   

    "CString strPos;" 改 全局的试试