我想做坦克游戏中子弹击中刷新,请问MFC中如何在自己的类中或全局函数中调用OnDraw()刷新屏幕?

2025-01-07 11:17:26
推荐回答(2个)
回答1:

OnDraw函数是由系统在需要重画窗口的时候调用的,如果需要自己调用,需要自行产生OnDraw函数需要的参数,即CDC* pDC。
一般来说调用刷新需要知道需要刷新的窗口,有了窗口句柄就可以用GetDC获得对应的DC了,然后就可以调用OnDraw函数了。

回答2:

调用CWnd::Invalidate可以使窗口无效,从而刷新窗口。
GetActiveView是用于获取活动的视图的指针。
GetActiveDocument()是用于获取活动的文档指针。
这两个函数都是CFrameWnd的成员函数,就是说,要调用这两个函数必须是先获取框架窗口的指针。
至于你的程序是不是视图-文档结构,并且这两个函数调用对不对,不知道。