自绘CSliderCtrl的一个问题

幻灵小龙 2011-07-29 06:38:07


如图,自绘在OnPaint消息中绘制,滑块移动后会出现严重的重影!请说明怎么解决,谢谢!
...全文
203 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
redgrain 2013-06-07
  • 打赏
  • 举报
回复
今天也遇到这个问题了,把滑块的rect缩小一点,或者加Invalidate()都可以。 至于原因,有哪位知道的说以下。
微wx笑 2012-06-30
  • 打赏
  • 举报
回复
拖动滑块的时候没有重绘背景,
这几天我这在做这方面的东西,也遇到过一样的问题
猿创日记 2011-07-30
  • 打赏
  • 举报
回复
你看看用其他界面遮住你的界面然后是不是就好了。
如果是的话就跟我的问题一样了,我当时用的GetPatrent()->RedrawRect()好像,或者Invali....那个也可以。。不记得怎么拼写了。


[Quote=引用楼主 tilongzs 的回复:]
如图,自绘在OnPaint消息中绘制,滑块移动后会出现严重的重影!请说明怎么解决,谢谢!
[/Quote]
幻灵小龙 2011-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 blowlow 的回复:]
这个是不是应该在OnEraseBackground里面直接return TRUE?
[/Quote]
不是,OnEraseBackground里面我已经return TRUE了。

[Quote=引用 2 楼 gibsonboy 的回复:]
自绘CSliderCtrl,要看你是怎么自绘。
最简单的一个例子,一条背景,一条进度,一个滑块。你的背景的rect肯定要包含进度的rect,滑块的rect的top和bottom可以和背景一样。假如你进度rect超过了背景的rect,就会出现这样的情况,背景的rect小于滑块的rect也会这样。当然我说的只是我遇到过的,假如你的情况不是这样,那我们可以再做讨论。
[/Quote]
背景就是如图的黑色,进度是蓝色,滑块是白色,所以按照Z轴顺序绘制。
gibsonboy 2011-07-30
  • 打赏
  • 举报
回复
仔细地看了你的图。
感觉是滑块的在OnSize里边设置的rect位置不对或者是rect大于背景的rect,你多试一下rect的值,应该可以解决的。
gibsonboy 2011-07-29
  • 打赏
  • 举报
回复
自绘CSliderCtrl,要看你是怎么自绘。
最简单的一个例子,一条背景,一条进度,一个滑块。你的背景的rect肯定要包含进度的rect,滑块的rect的top和bottom可以和背景一样。假如你进度rect超过了背景的rect,就会出现这样的情况,背景的rect小于滑块的rect也会这样。当然我说的只是我遇到过的,假如你的情况不是这样,那我们可以再做讨论。
blowlow 2011-07-29
  • 打赏
  • 举报
回复
这个是不是应该在OnEraseBackground里面直接return TRUE?

15,979

社区成员

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

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