1.在StartupView的时候,我想在OnPaint中绘图,结果屏幕闪得厉害,在OnEraseBkgnd就不闪,后来才知道,其实窗口的设备上下文分两层,一层是背景,一层是前景,如果你不重写OnEraseBkgnd函数的话,每次窗口需要重绘时都会首先用默认背景笔刷擦掉背景(一般是白色或黑色),然后再绘制前景,在OnDraw,OnPaint中取得的设备上下文都是前景,所以看起来会闪。
所以,在绘图的时候,你首先要想好哪些应该作为背景画,哪些作为前景画,两者是有区别的,呵呵。
比如背景图片你就只能当作背景画,否则就没法解决闪动问题。
所以,在绘图的时候,你首先要想好哪些应该作为背景画,哪些作为前景画,两者是有区别的,呵呵。
比如背景图片你就只能当作背景画,否则就没法解决闪动问题。