⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_37691.htm

📁 vc
💻 HTM
字号:
<p>
序号:37691 发表者:风吹沙 发表日期:2003-04-27 14:35:09
<br>主题:如何消除闪烁?
<br>内容:这是我编写的一个实现字幕滚动的小程序,运行时发现屏幕闪烁得很厉害,请问大侠们如何消除产闪烁?谢谢。<BR>void CHelloView::OnDraw(CDC* pDC)<BR>{<BR>  //TRACE("This is a little app.");<BR>   CRect re;<BR>   GetClientRect(re);<BR>   pDC-&gt;TextOut(0,y,"hello");<BR>   y=y-10;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(y==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y=re.bottom;<BR>} <BR>void CHelloView::OnTimer(UINT nIDEvent) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;Invalidate();<BR>}<BR>void CHelloView::OnTest() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your command handler code here<BR>&nbsp;&nbsp; SetTimer(1,10,NULL);<BR><BR>}<BR>&nbsp;&nbsp;&nbsp;&nbsp;
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:neilgan 回复日期:2003-04-27 15:00:33
<br>内容:you should do this function in OnTimer. use CClientDC to get the DC.<BR><BR>if you use TextOut, it will still flash. you should create a memory DC and TextOut to the memory dc. Then use BitBlt to copy the content to the screen.<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:风吹沙 回复日期:2003-04-27 16:00:15
<br>内容:我看得不大懂,你能教我具体怎么做吗?谢谢。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-04-27 16:54:59
<br>内容:neilgan,我还是又来给你当翻译吧:)<BR>你应该避免在OnTimmer里面调用你的Invalidate()函数,你应在用CClientDC来得到DC(设备上下文)<BR><BR>如果你用TextOut,他还是要闪烁的.你应该建立一个内存中的DC,然后在这个DC上用TextOut来输出,然后再用BiltBlt把这块内存拷贝到你的屏幕上去.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:风吹沙 回复日期:2003-04-27 17:25:00
<br>内容:服了你了,英语也好,vc 也强,不知道你是男是女,男的就叫你一声大哥,女的就叫一声大姐,200分给你了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:碧落 回复日期:2003-04-27 21:09:01
<br>内容:you should do this function in OnTimer. <BR>你应该避免在OnTimmer里面调用你的Invalidate()函数,<BR><BR>这句话这样翻译?<BR>应该是你应该在OnTimer()里面做这个函数。<BR>我认为neilgan 的本意应该是把在OnDraw()函数里面做的程序放到OnTimer()函数里来做。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2003-04-27 22:20:59
<br>内容:/*<BR>you should do this function in OnTimer. <BR>你应该避免在OnTimmer里面调用你的Invalidate()函数,<BR><BR>这句话这样翻译?<BR>应该是你应该在OnTimer()里面做这个函数。<BR>我认为neilgan 的本意应该是把在OnDraw()函数里面做的程序放到OnTimer()函数里来做。 <BR>*/<BR><BR>sorry,water_make说的是对的.<BR>其实最主要的是要先在内存上作图,然后拷贝过去.<BR>或者用双缓冲.<BR>参考这个<BR>http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=676<BR><BR>给分你应该给neilgan了,我们都是跑腿的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:风吹沙 回复日期:2003-04-28 15:20:01
<br>内容:高手就是高手,不管分给谁了,都要感谢你们。顺便说一声,我的问题已圆满解决了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -