在对话框上放置了一个picture控件,将一组坐标点显示在连成线显示在上面。为了防止置闪烁,现在内存里作图。 在默认映射模式下,很成功,但是改变坐标的映射模式后,很奇怪。
            CRect rect;
CWnd* pWnd = GetDlgItem(IDC_STATIC);
pDC=pWnd->GetDC();

GetClientRect(&rect);

         Graphics graphics(pDC->m_hDC);
graphics.SetSmoothingMode(SmoothingModeHighQuality); Pen redpen(Color(255,255,0,0));
redpen.SetWidth(3);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetViewportOrg(rect.right/2,rect.bottom);
pDC->SetViewportExt(rect.right,rect.bottom);         pDC->SetWindowOrg(0,0);
pDC->SetWindowExt(300,300); PointF points[]={PointF(0.0,0.0),PointF(100.5,100.5), PointF (50.0,300.0),PointF(100.0,300.0)}; 
         graphics.DrawCurve(&redpen,points,4); 

}
显示出来的是:原来的picture控件上什么也没有了,在picture控件上就什么也没有了。如果把设置原点的两句注释掉,控件上左上角出现一个小窗口,显示了一个小图。
到底是哪里的问题?