窗体重绘
我运行画图案的函数,在程序上显示某个图案,我操作另一个窗口覆盖这个窗口再移开到这个窗口之外,原来那个图形消失了。如何做才能显示原来的图像?(不要简单的说在onpaint(...
我运行画图案的函数,在程序上显示某个图案,我操作另一个窗口覆盖这个窗口再移开到这个窗口之外,原来那个图形消失了。如何做才能显示原来的图像?(不要简单的说在onpaint()中绘制,因为这个图像是变化的)
展开
3个回答
展开全部
加个定时器,在WM_TIMER事件的处理程序中,让窗体无效。
在WM_PAINT事件处理程序中,取当前时间,根据时间进行图案绘制。
考虑效率问题,图形画到内存DC中,然后BitBlt到窗体。
这样大概可以实现20+fps的动态图形绘制。
如果不满足要求的话,自己实现一个高精度定时器,在按照之前的方法绘制,可以达到100fps左右。
如果还不满足要求的话,只能考虑DirectX或者其他方法了。
在WM_PAINT事件处理程序中,取当前时间,根据时间进行图案绘制。
考虑效率问题,图形画到内存DC中,然后BitBlt到窗体。
这样大概可以实现20+fps的动态图形绘制。
如果不满足要求的话,自己实现一个高精度定时器,在按照之前的方法绘制,可以达到100fps左右。
如果还不满足要求的话,只能考虑DirectX或者其他方法了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用MFC自建的Doc-View框架下的程序,都会自动重画的。
你一定改了什么。
可以在CView 里什么地方 加上 调用语句
OnUpdate(NULL,0,NULL);
你一定改了什么。
可以在CView 里什么地方 加上 调用语句
OnUpdate(NULL,0,NULL);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询