Situation: CreateCompatibleDC出来的HDC都是有值的 但是就是无法写入图片文字都没有办法可是GetDC出来的就是可以 今天调试了好久都不知道是什么问题 Quetion: 如何使用CreateCompatibleDC来创建缓沖绘图? Solution: 除了CreateCompatibleDC之外 还要给DC配备点画布来绘图啊! 自然要SelectObject喽! 代码如下 HDC hdc = GetDC( hwnd ); HDC CanvasDC = CreateCompatibleDC( hdc ); HBITMAP CanvasBMP = CreateCompatibleBitmap( hdc ); /* */ /*这句话很重要相当于绑定*/ /*这些就可以轻松绘制啦! */ /* */ SelectObject( CanvasDC CanvasBMP) /* */ /*别忘记最后要绘制到屏幕上哦!*/ /* */ BitBlt( hdc GetMetrics(SX_SCREEN) GetMetrics(SX_SCREEN) CanvasDC SRCCOPY ); PS: 我的KeyBoardMenu的Show()的Draw居然放在Delay里怪不得这样写屏幕还是一闪一闪的 放出来就好了~我可不吝啬写屏幕呢!因为Game类的MainLoop已经控制FPS啦~ |