如何解决MFC单文档滚动条拖动时的重影问题(高分) 100

本工程中添加滚动条的方法为:第一步:视图类VIEW的基类选择ScrollView;第二步:在ScrollView类中添加OnInitialUpdate(),并在响应函数中... 本工程中添加滚动条的方法为:
第一步:
视图类VIEW的基类选择ScrollView;
第二步:
在ScrollView类中添加OnInitialUpdate(),并在响应函数中添加 SetScrollSizes(MM_TEXT, CSize(1600, 900));
此后,运行程序,拖动滚动条时下方或右方会出现重影。目前网上找不到详细答案,求详细解决方法。
补充:
我的视图类里有一些画图的程序。因此拖动滚动条时,这些图案就发生了重影。不可能是系统问题。而是逻辑坐标与设备坐标,由于滚动条下啦后,设备坐标没有更改的问题。但我不知道具体的解决方法。
展开
 我来答
bhtzu
2013-08-27 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4213万
展开全部
问题描述不完整,不能判定原因。
一般MFC滚动造成重影,要么是系统问题(非代码),要么是OnDraw函数处理问题,这两个情况比较多,当然还有更多因素,比如自己处理了On..Scroll或者其它相关响应函数造成的。
如果只有描述中的代码(其它只是MFC默认工程代码),那么和代码无关了,应该是win系统或者VC系统有问题。
追问
我的视图类里有一些画图的程序。因此拖动滚动条时,这些图案就发生了重影。不可能是系统问题。而是逻辑坐标与设备坐标,由于滚动条下啦后,设备坐标没有更改的问题。但我不知道具体的解决方法。
追答
上面说过了,问题代码最可能出现在OnDraw函数和滚动处理函数的代码上,需要具体问题具体分析,这样笼统的说没办法解决。
归悦欣cf
2013-08-27 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1325万
展开全部
换一台电脑试一试,我按照你的要求建了一个一样的工程,没有你说的现象.
追问
我的视图类里有一些画图的程序。因此拖动滚动条时,这些图案就发生了重影。是逻辑坐标与设备坐标,由于滚动条下啦后,设备坐标没有更改的问题。但我不知道具体的解决方法。不可能是电脑的问题。
追答
是重影还是闪烁?我按照你的要求建了一个一样的工程,加载了一个大图,拖动滚动条时边框出现一些闪烁,没有重影.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
资深搬砖人YG
2013-08-27 · 超过17用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:19.4万
展开全部
这个问题我也遇到过,解决办法如下

int m_Max; //为获取计数范围和计数值定义变量
int m_Min;
GetDlgItem(IDC_EDIT)->GetScrollRange(SB_VERT,&m_Min,&m_Max);
GetDlgItem(IDC_EDIT)->SetScrollPos(SB_VERT,m_Max+1,true);
((CEdit*)GetDlgItem(IDC_EDIT))->SetSel(strlen(m_commbuf),strlen(m_commbuf),false); //自动滚屏
GetDlgItem(IDC_EDIT)->SetFocus();
m_commbuf为控件IDC_EDIT对应的变量。
追问
你这个IDC_EDIT是什么控件?我的是单文档工程,不是对话框。是在视图窗口右侧与低栏的滚动条,就像浏览器右侧的滚动条一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式