做出windows那种无闪烁画图计算机等级考试

文章作者 100test 发表时间 2010:01:01 13:02:04
来源 100Test.Com百考试题网


  显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2 年多)使用MFC绘图的经验谈谈我的一些观点。

  1、显示的图形为什么会闪烁?

  我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。

  当然,这样做会使得窗口的显示乱成一团,因为重绘时没有背景色对原来绘制的图形进行清除,而又叠加上了新的图形。

  有的人会说,闪烁是因为绘图的速度太慢或者显示的图形太复杂造成的,其实这样说并不对,绘图的显示速度对闪烁的影响不是根本性的。例如在 OnDraw(CDC *pDC)中这样写:pDC-


相关文章


计算机二级辅导:C 迭代器简介计算机等级考试
使用Windows钩子获取丢失的密码计算机等级考试
VisualC ADO数据库编程入门汇总计算机等级考试
C 中const与static在面向过程代码中的异同计算机等级考试
做出windows那种无闪烁画图计算机等级考试
你应当如何学习C (以及编程)计算机等级考试
C 容器:顺序容器 关联容器计算机等级考试
计算机二级辅导:API函数大全(2)计算机等级考试
计算机二级辅导:API函数大全(1)计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛