自定义控件闪烁的问题

qjgdftxmu 2011-03-11 09:54:12
从CWnd类派出一个控件,在控件里画一些东西,是用双缓存画的。

把这个控件创造在一个视图类上,刷新的时候闪得会比较厉害。(我刷新是用调用文档类里的UpdateAllViews)

感觉是先视图的背景色先覆盖了整个视图,然后控件再自绘,然后引起了闪烁,这个应该怎么解决。

PS:是不是可以设置这个控件所在区域,一直不刷新啊?
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjgdftxmu 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xianglitian 的回复:]

控件父窗口设置WS_CLIPCHILDREN属性
[/Quote]

嗯,谢谢了。就是这样,已经解决
qjgdftxmu 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aa_qq110 的回复:]

你是在一个背景上放的控件?

倒是可以刷新局部,不过我估计你这问题不是这个引起的。
因为如果只是在显示时闪一下一般是看不出来的。
[/Quote]

控件是放在背景上,应该也没有别的地方可以放吧。

因为我是用文档类的UpdateAllViews来刷新的,我也不知道如何用局部刷新。

因为有时候刷新的比较快,闪烁得非常明显。就目测来说,估计是这个问题引起的。
qjgdftxmu 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lazy_2010 的回复:]

响应了 WM_ERASEBKGND 消息了么
[/Quote]

响应和不响应都有试过,不过都会闪烁
向立天 2011-03-12
  • 打赏
  • 举报
回复
控件父窗口设置WS_CLIPCHILDREN属性
lazy_2010 2011-03-11
  • 打赏
  • 举报
回复
响应了 WM_ERASEBKGND 消息了么
秦剑 2011-03-11
  • 打赏
  • 举报
回复
你是在一个背景上放的控件?

倒是可以刷新局部,不过我估计你这问题不是这个引起的。
因为如果只是在显示时闪一下一般是看不出来的。

15,982

社区成员

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

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