| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1353 人关注过本帖
标题:[求助]如何画移动的矩形(移动总是有痕迹)
只看楼主 加入收藏
bclt1984
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-4-6
收藏
 问题点数:0 回复次数:7 
[求助]如何画移动的矩形(移动总是有痕迹)
请问各位,我用vc画了一个移动的矩形,当然这个矩形是按一定速度移动,但是矩形移动时会产生走过的痕迹,我用了Invalidate()刷新,但是界面又太闪,看不清,各位有没有什么好办法。谢谢!

搜索更多相关主题的帖子: 矩形 痕迹 
2007-05-14 16:50
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
用局部刷新
InvalidateRect函数

2007-05-14 18:30
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
同上,可以只重画之前的部分。

对了,楼上的bz,怎么用InvalidateRect函数?

我对这类问题都是手动重画局部区域!

Fight  to win  or  die...
2007-05-14 23:24
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
CRect rect(0,0,100,100);
InvalidateRect(&rect);
重画rect区域

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-05-15 08:14
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用wfpb在2007-5-15 8:14:37的发言:
CRect rect(0,0,100,100);
InvalidateRect(&rect);
重画rect区域

这样做是先使那部分矩形区域无效吧,然后再重画?
这样跟直接重画有什么不同?


还有个问题哈,就算这样做,也只能使屏幕不整体闪烁,但是局部仍然有闪。
有没有办法把这种闪所减小到最小?
谢谢,苦恼着呢!


Fight  to win  or  die...
2007-05-15 11:39
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
顶一下,来看看嘛!

Fight  to win  or  die...
2007-05-15 21:14
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
收藏
得分:0 
采用双重缓寸,可以解决这个问题

2007-05-15 21:20
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用余来在2007-5-15 21:20:13的发言:
采用双重缓寸,可以解决这个问题

再详细点嘛!

我也描述下我的问题,我用静态的连续位图实现动态效果,就要擦去之前的位图。

我用的就是局部重画,但是图多了,看着始终有点……闪

我是把位图先选进内存,在bitblt这样画的,每画一次,创建位图的ID加1!


Fight  to win  or  die...
2007-05-15 22:18
快速回复:[求助]如何画移动的矩形(移动总是有痕迹)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022812 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved