如何在滚动以后,往CScrollView的DC上贴图

梧桐168 2003-09-08 09:37:10
我在鼠标绘图时候用脏矩形技术,先在自定义的DC中绘图,然后往CScrollView的DC中贴图不滚动或者少许滚动都不存在问题,可是滚动距离较大时,发现我在自定义的DC中绘图无效,而且往CScrollView的DC中贴图也无效,不知什么原因,还望高手多多指教。代码如下:
{
ASSERT_VALID( pDC );
CCompatibleDC dcResult(pDC);
m_pcView->OnPrepareDC( pDC );
dcResult.SelectClipRgn( NULL );
CSelBitmap cResultBmp(&dcResult, pDC, rc.Width(), rc.Height());
AddjustRect( rc );
// 将移动图形对象之前的屏幕内容拷贝到dcResult中
CRect rc1 = rc;
m_pcView->DocToClient( rc1 );
CScreenManager::Instance().CopyTo( 0, 0, rc1.Width(), rc1.Height (), &dcResult, rc1.left, rc1.top );
// 计算绘制当前移动的图形对象在dcResult的位置
CPoint pt = -rc.TopLeft();
// 绘制当前移动的图形对象
CShapeListHelper::DrawShapes( m_cShapes, &dcResult, pt );
// 刷新屏幕
VERIFY( pDC->BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), &dcResult, 0, 0, SRCCOPY) );
}

...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaolunyuan 2003-09-16
  • 打赏
  • 举报
回复
不会,帮你顶

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧