我在CMineView::OnDraw()里面设置了pDC->SetViewportOrg(1000,1000);可是鼠标移动到左上角的时候坐标还是(0,0),是为什么呢???
鼠标移动的代码:void CMineView::OnMouseMove(UINT nFlags, CPoint point)  //显示坐标
{
    CString str;
str.Format("当前坐标 X: %d,Y: %d\n",point.x,point.y);
AfxGetMainWnd()->SetWindowText(str);
CView::OnMouseMove(nFlags, point);
}

解决方案 »

  1.   

    http://hi.baidu.com/kingacq/blog/item/f1fdbc02320e760d4bfb51d5.html
    裡面有說到
    一旦设置了设备环境的映射模式,大多数CDC函数就可以使用逻辑坐标,但是一些函数不能,如:从Windows的鼠标消息获得的鼠标坐标。这就涉及到了组跑表转换。这就用到了CDC的LptoDP和DptoLP函数,就想下面这样:
      

  2.   

    楼主pDC->SetViewportOrg参数设小点,屏幕能显示的.然后在设置代码后面画一个CRect(0, 0, 100, 100);就看得到效果了
      

  3.   

    鼠标消息用的是屏幕坐标,需要先转换到客户区坐标ScreenToClient
    如果改了映射模式想显示逻辑坐标,还得DPToLP