视图不显示的内容,移动滚动条后显示不正常

robbi666 2013-07-01 04:43:56
从CScrollView派生出一个子类CTestFrameView
void CTestFrameView::OnInitialUpdate()
{
CView::OnInitialUpdate();
SetScrollSizes(MM_TEXT,CSize(800,600));//设置滚动条范围
}
用OnDraw画一个图形,然后缩小视图,这个图形的一部分隐藏起来,我移动滚动条时,隐藏的部分显示不出来,是一团乱的颜色,请问怎么解决这个问题?
...全文
162 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-08-05
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
robbi666 2013-07-04
  • 打赏
  • 举报
回复
使用双缓冲显示图片,只要缩小,使用滑动条,隐藏的部分是空白的,或者乱的
robbi666 2013-07-04
  • 打赏
  • 举报
回复
OnDraw的代码如下: CRect rect; GetClientRect(&rect); //CPoint pt = GetScrollPosition(); //rect.OffsetRect(pt); CDC dcMem; CBitmap bmp; dcMem.CreateCompatibleDC(pDC); bmp.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height()); dcMem.SelectObject(&bmp); CBrush brush; brush.CreatePatternBrush(&m_pBitmap); //创建模式画刷 dcMem.FillRect(&rect,&brush); pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,SRCCOPY); dcMem.DeleteDC(); bmp.DeleteObject(); m_pBitmap这个是一个bmp图片
robbi666 2013-07-04
  • 打赏
  • 举报
回复
没有重绘图像
robbi666 2013-07-02
  • 打赏
  • 举报
回复
就没人知道这个问题的解决方法吗?
wjjll123 2013-07-02
  • 打赏
  • 举报
回复
你拖动滚动条的时候也同时重绘图像了?

15,979

社区成员

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

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