subject_22870.htm
来自「一些关于vc的问答」· HTM 代码 · 共 36 行
HTM
36 行
<p>
序号:22870 发表者:atang 发表日期:2002-11-29 00:26:40
<br>主题:如何解决屏幕刷新太慢的问题?
<br>内容:一张100*100的棋盘,我想作出一些棋子在上面连续移动的效果.在用OnPaint重绘时,棋盘也进行了刷新,这样的结果是屏幕会一桢一桢地闪动.怎样避免这个问题?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:金鱼王 回复日期:2002-11-29 00:28:03
<br>内容:别用OnPaint,应该用OnDraw。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:atang 回复日期:2002-11-29 01:07:16
<br>内容:俺建立的是一个Win32 Application程序,怎样用OnDraw啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:herio0910 回复日期:2002-11-29 08:19:56
<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>回复者:74LS373 回复日期:2002-11-29 08:55:04
<br>内容:重绘的方法总是个猪一样的方法。<BR>实现局部重绘同样会闪,你可以试试这样的方法:<BR>1.你可以在每画一棋子之前,先取得目的地处棋子的屏幕位图,保存起来,要新画时,只要在原位置先画保存起来的屏幕位图,再在目的地处画一棋子。这样就可以避免重绘,闪动。<BR>2.如果只实现连续移动效果,且棋子形状大小不会变,可以每次画两个棋子,第一次在原地方用SRCINVERT(异或画法)方法画,用以抹掉原来的棋子,第二次在移动目的地用SRCCOPY方法画。<BR>3.如果你做游戏的话,建议你改用directdraw,直接显存操作。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:未出手的飞刀 回复日期:2002-11-29 09:19:04
<br>内容:<BR>directdraw,为什么不用。只要机器支持,肯定用directdraw好
<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 + =
减小字号Ctrl + -
显示快捷键?