初二生,感觉好小啊。不简单。不过不知道为什么不用MFC向导,而自己来创建框架呢?
代码比较乱,最好格式化一下。OnPaint中应该用CPaintDC获得的dc来绘图,否则,你没发现有什么不对吗?当然,你最后用ValidateRect()取消了无效矩形,程序流程是没有问题的,但是失去了系统对GDI的绘制优化,每次都全部重绘,降低了效率。你的画面应该会闪烁的吧。
另外你好像没有习惯使用switch/case,导致代码更乱。变量命名也是一个原因,按照习惯成员变量前面加上m_前缀看起来会清晰一些。

解决方案 »

  1.   

    同意一楼,楼主不简单,有前途。我高中才有机会摸一下电脑并做出第一个BASIC程序,用的还是APPLE II
      

  2.   

    我也是高中才用到Apple II啊。哪像现在的小孩,小学就学计算机了,真幸福啊。Basic绘图,完全就是一个字符一个字符填空,根本没有像素的概念呢,呵呵。那时候我最大的愿望就是用字符画一个美女,可惜工程量太大,一直没有完成……
      

  3.   

    不过不知道为什么不用MFC向导,而自己来创建框架呢?
    我喜欢自己动手..
    俗话说得好:自己动手,丰衣足食.
    有很多书因为太常用VC的资源编译器被我忽略...
      

  4.   

    恩..
    还有
    OnPaint中应该用CPaintDC获得的dc来绘图
    我看某书是用this->GetDC()所以我沿用了