主题:在OnPrepareDC()种设置映射模式后为什么在窗口滚动时图形模糊
在CMyView中重载了OnPrepareDC()函数,并在其中设置了映射模式,代码如下:
void CMyView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
///////////////////////
CRect rect;
GetClientRect(&rect);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(50,50);
pDC->SetViewportExt(rect.Width(),rect.Height());
///////////////////////////////
// CScrollView::OnPrepareDC(pDC, pInfo);
}
然后在OnDraw()中进行绘图操作
{
...
...
pDC->MoveTo(0,0);
pDC->LineTo(50,50);
...
}
运行显示没有问题,可是当我用鼠标拉动窗口的滚动条移动图形时,发现图形在客户区会形成一些拖动的痕迹,很模糊,这是怎么回事呢?是不是我缺少什么操作了,怎么解决这个问题呢?
void CMyView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{
// TODO: Add your specialized code here and/or call the base class
///////////////////////
CRect rect;
GetClientRect(&rect);
pDC->SetMapMode(MM_ISOTROPIC);
pDC->SetWindowExt(50,50);
pDC->SetViewportExt(rect.Width(),rect.Height());
///////////////////////////////
// CScrollView::OnPrepareDC(pDC, pInfo);
}
然后在OnDraw()中进行绘图操作
{
...
...
pDC->MoveTo(0,0);
pDC->LineTo(50,50);
...
}
运行显示没有问题,可是当我用鼠标拉动窗口的滚动条移动图形时,发现图形在客户区会形成一些拖动的痕迹,很模糊,这是怎么回事呢?是不是我缺少什么操作了,怎么解决这个问题呢?