中易网

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

答案:3  悬赏:80  
解决时间 2021-02-28 13:50
本工程中添加滚动条的方法为:
第一步:
视图类VIEW的基类选择ScrollView;
第二步:
在ScrollView类中添加OnInitialUpdate(),并在响应函数中添加 SetScrollSizes(MM_TEXT, CSize(1600, 900));
此后,运行程序,拖动滚动条时下方或右方会出现重影。目前网上找不到详细答案,求详细解决方法。

补充:
我的视图类里有一些画图的程序。因此拖动滚动条时,这些图案就发生了重影。不可能是系统问题。而是逻辑坐标与设备坐标,由于滚动条下啦后,设备坐标没有更改的问题。但我不知道具体的解决方法。
最佳答案
问题描述不完整,不能判定原因。
一般MFC滚动造成重影,要么是系统问题(非代码),要么是OnDraw函数处理问题,这两个情况比较多,当然还有更多因素,比如自己处理了On..Scroll或者其它相关响应函数造成的。
如果只有描述中的代码(其它只是MFC默认工程代码),那么和代码无关了,应该是win系统或者VC系统有问题。
全部回答
这个问题我也遇到过,解决办法如下 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对应的变量。
关联控件成员变量 m_clist,初始化的时候加入代码; m_clist.showscrollbar(sb_horz, false); 这个你可能试过,可以隐藏到水平滚动条,但是如果你界面太小,或者你拖拽了列宽... 这个水平滚条还是会出来,似乎没有什么很好的解决办法; 建议你固定好每列的宽度,不要超过显示的页面,这样就不会出现滚动条了;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
甲状腺肿块必须摘除吗
600以内含有因数3或5的.数有.
求一块长900米宽30米的地的面积是多少
复试的时候第一志愿和调剂的学生是不是一起面
启东农商银行长江支行地址有知道的么?有点事
我无大专文凭,函授大专明年能报考一建吗?
莘县实验高中今年录取分数线是多少分
霍邱光明旅社地址在什么地方,想过去办事
求《我侬词》之全文
百味麻辣香锅天一店在什么地方啊,我要过去处
一元、五元、十元、二十元、五十元和一百元人
有一首英文歌 唱的一般 里边的女的很性?
许昌市阳光装饰有限公司地址在哪,我要去那里
每次电脑开机,屏幕右下角总能弹出一个窗口,
郎记老席在哪里啊,我有事要去这个地方
推荐资讯
张一山穿的这件衣服是什么牌子 哪一款
安亭怎么去啊,有知道地址的么
一醉西塘人文客栈地址在什么地方,想过去办事
口里发淡为什么?
江苏洪泽农村商业银行老子山支行地址有知道的
客所思声卡换了电脑为什么唱歌的声音和伴奏声
污水处理建在民房旁边怎么赔偿
中国移动手机直营店开源路店地址有知道的么?
求ilem新作《黑夜诗人》mp3下载
金融企业会计,高分急求详细答案
向阳大厦宾馆(东南门)地址在什么地方,想过去
市场利率和资本边际效率相等时,还值得企业去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?