是这样的,我在view类中,
void CZhView::OnDraw(CDC* pDC)中: CZhDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc); CRect rect;
GetClientRect(&rect);
pDC-> SetMapMode(MM_ANISOTROPIC);
pDC-> SetViewportOrg(rect.left+100,rect.bottom-100);//坐标对应
pDC-> SetViewportExt(rect.right,rect.bottom);// pDC-> SetWindowOrg(0,0); //窗口对应
pDC-> SetWindowExt(10000,-10000);
//设置了我的逻辑坐标系,然后紧接着我用MoveTo和LineTo画直线,结果是在我的逻辑坐标系下画的。但是,我在dialog类中定义了对话框,并设置一个按钮,在其响应函数中,比如OnButtonMy(),我调用了view的指针,即:
CFrameWnd *pFrame=(CFrameWnd*)AfxGetMainWnd();
CView* pView=pFrame-> GetActiveView();
CDC *pDC=pView-> GetDC();
接着用MoveTo和LineTo画直线,却画在了物理坐标系下。用LPtoDP也解决不了,我想画在我设置的逻辑坐标系下啊!!!!!!!!!!!!!!!!!
void CZhView::OnDraw(CDC* pDC)中: CZhDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc); CRect rect;
GetClientRect(&rect);
pDC-> SetMapMode(MM_ANISOTROPIC);
pDC-> SetViewportOrg(rect.left+100,rect.bottom-100);//坐标对应
pDC-> SetViewportExt(rect.right,rect.bottom);// pDC-> SetWindowOrg(0,0); //窗口对应
pDC-> SetWindowExt(10000,-10000);
//设置了我的逻辑坐标系,然后紧接着我用MoveTo和LineTo画直线,结果是在我的逻辑坐标系下画的。但是,我在dialog类中定义了对话框,并设置一个按钮,在其响应函数中,比如OnButtonMy(),我调用了view的指针,即:
CFrameWnd *pFrame=(CFrameWnd*)AfxGetMainWnd();
CView* pView=pFrame-> GetActiveView();
CDC *pDC=pView-> GetDC();
接着用MoveTo和LineTo画直线,却画在了物理坐标系下。用LPtoDP也解决不了,我想画在我设置的逻辑坐标系下啊!!!!!!!!!!!!!!!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货