请教图片框的抖动问题

muddled 2003-12-27 04:46:17
我在图片框里打印了几个字母,然后用timer
使它移动,可是闪烁的很厉害,请高手指点:
Private Sub Form_Load()
picture1.print "abcd"
end sub

Private Sub Timer1_Timer()
Call LockWindowUpdate(Me.hWnd)
picture1.top=picture1.top+50
picture1.left=picture1.left+50
Call LockWindowUpdate(0)
End Sub

form1 和picture1的autoredraw都设为true.
请各位高手指教,谢谢!
...全文
81 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
muddled 2003-12-28
  • 打赏
  • 举报
回复
能说详细一点吗?用什么实现?谢谢!
thirdapple 2003-12-28
  • 打赏
  • 举报
回复
可以,如果开了AutoReDraw的话
kmzs 2003-12-28
  • 打赏
  • 举报
回复
image不抖
muddled 2003-12-28
  • 打赏
  • 举报
回复
请教各位高手:bitblt能拷贝打印在图片框里的字符吗?
pigpag 2003-12-28
  • 打赏
  • 举报
回复
同意,这种现实内容不需要大量的后台缓冲运算,不需要缓冲的
thirdapple 2003-12-28
  • 打赏
  • 举报
回复
试试看,我以前用BitBlt做个Super Mario,卷轴的也没闪,双缓冲如果处理不当反而浪费时间和空间。
liyan010 2003-12-28
  • 打赏
  • 举报
回复
To thirdapple(陨落雕):

反对你的观点.我觉得还是需要缓冲的,否则只用BitBlt绝对会闪
thirdapple 2003-12-28
  • 打赏
  • 举报
回复
这个根本不用双缓冲,浪费
设置AutoReDraw为True,然后用BitBlt函数贴上去,没问题
fu0212 2003-12-27
  • 打赏
  • 举报
回复
在内存中 做缓冲 然后在拷贝出来打印在图片框中 会更快的
rainstormmaster 2003-12-27
  • 打赏
  • 举报
回复
他是指双缓冲

实际上,双缓冲技术是计算机动画的一项传统技术。造成屏幕闪烁的主要原因在于,画面在显示的同时,程序又在改变它,于是画面闪烁。解决办法就是在内存中开辟一片区域作为后台画面,程序对它更新,修改,完成后再显示它。这样被显示的图像永远是已经完全画好的图像,程序修改的将不是正在被显示的图像。当然还有其它方法可以解决屏幕闪烁问题,但使用双缓冲技术是一种值得推荐的解决方案
muddled 2003-12-27
  • 打赏
  • 举报
回复
再加一个图片框,两个轮流出现?
jjwwsb 2003-12-27
  • 打赏
  • 举报
回复
再加一个图片框,两个轮流出现
海牛 2003-12-27
  • 打赏
  • 举报
回复
呵呵,你是想做字幕吧!!俺有控件啊!!!
http://expert.csdn.net/Expert/topic/2416/2416623.xml?temp=.457699
要得话:EMail:Rick110A@Yahoo.com.cn

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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