MFC 双缓冲自绘背景和控件,XP下刷新迟缓,win7win8下没问题

捡了一棵小白菜 2015-06-01 02:09:17
求大神指教,我使用GDI+ 双缓冲在OnPaint中自绘窗口背景,OnEraseBkgnd()中直接返回true,控件采用一样方式绘制,目前在win7win8上运行很好,但是在xp系统中,如果我的界面(A)被其他窗口(B)遮挡,拖动B一直在A上移动 ,会发现,我的界面A背景被覆盖的部分恢复的很慢,而且覆盖过的控件都没显示出来,直到这个窗口B停止拖动后,我的窗口中的控件才显示出来,请问这个是什么原因,改怎么解决呢?
...全文
302 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2015-07-09
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
  • 打赏
  • 举报
回复
@赵4老师 还能@啊,不错。
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
楼主学会使用Spy++软件正当时。
这个软件我之前接触过,可以抓取到我界面上的各个控件,但是像QQ、金山、360 之类的界面就只能抓到整个界面,其中的控件都获取不到,不知道是怎么弄得,希望告知一二。 还有,这个和我的问题有什么联系吗,我要怎么使用Spy++呢。 @zhao4zhong1
赵4老师 2015-06-08
  • 打赏
  • 举报
回复
楼主学会使用Spy++软件正当时。
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
控件中加入一个定时器,定时为自己发送一个WM_PAINT试试?
引用 3 楼 worldy 的回复:
时间不要需要太短,比如给个1000ms
xp系统下如果A窗口,被B窗口覆盖,拖动B的话就会一直发送wm_paint 消息吧,如果这样,我自己再多搞个定时器发送消息就没有意义了。 我现在的问题是Xp下,拖动会出现这个问题,但是win7win8下没有出现,这个是什么原因,有什么解决方式呢,求指导。
worldy 2015-06-01
  • 打赏
  • 举报
回复
时间不要需要太短,比如给个1000ms
worldy 2015-06-01
  • 打赏
  • 举报
回复
控件中加入一个定时器,定时为自己发送一个WM_PAINT试试?
  • 打赏
  • 举报
回复
我尝试把窗口属性设置WS_CLIPCHILDREN 属性后发现控件位置变成白色了,没有显示控件,设置WS_CLIPSIBLINGS属性后没有效果。

15,978

社区成员

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

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