如何动态显示一张位图不闪烁的
我想让一张图从左边移动到右边,我在ONTIMER定时的刷新屏幕,不过会很出很平生的闪烁现像,求哪位大虾帮我解决一下! 问题点数:30、回复次数:9Top
1 楼surstar(我要写个操作系统出来……)回复于 2005-04-02 21:06:40 得分 0
VC 技术内幕(第5版) 第10 章有一个 用鼠标移动 位图 ,防止闪烁现像的, 你看看吧
一两句也说不清
VC 技术内幕(第5版) www.9soho.com 有下栽(中文版)Top
2 楼dfyang()回复于 2005-04-02 23:04:44 得分 0
在内存DC中绘制、移动,再BitBlt出来问题就解决了Top
3 楼jx_lin()回复于 2005-04-03 17:47:29 得分 0
在内存DC中绘制的话效果也不是很好的,我试过了Top
4 楼fanqing(火影忍者+28%(准备学习进程/线程))回复于 2005-04-03 18:04:17 得分 0
在onerasebkgnd中画Top
5 楼wh_2008()回复于 2005-04-03 18:55:59 得分 0
在onerasebkgnd中画
可以做到Top
6 楼moon_rao(达头)回复于 2005-04-04 15:36:29 得分 0
我最近也在学搞一个类似的程序
就是载入一张位图
再让其从左到右移动
但是要在基于对话框的程序中显示
我怎么改写了OnPaint都没用呢?
对话框中nothingTop
7 楼jx_lin()回复于 2005-04-04 21:38:48 得分 0
嗯,先谢谢了,我晚上试一下
Top
8 楼zhaotao0982(victor)回复于 2005-04-04 21:44:35 得分 30
就是在内存中画,然后bitblt出来,在OnEraseBakground中返回TRUE,什么也不要做,所以在OnDraw中就要多做一些事情,肯定没有问题,我们都是这么做得,你自己看看吧!Top
9 楼jx_lin()回复于 2005-04-05 21:31:16 得分 0
嗯,只要在OnEraseBakground中画就行了,不要再在内存画的,我做出来,谢谢!!
还有,请问你们加OnEraseBakground的,我找不到那个EVENT,就只有跟着别人的代码加的地方加一下了Top




