mfc 想让窗体不断重画 程序就死 画面定格不动了
一个单文档mfc应用程序(有view和Doc类)在菜单里加了一项“运行”,其处理函数,就是引起view类的不断重画类似while(--i>0)//i是一个很大的数,如:1...
一个单文档mfc应用程序(有view和Doc类)
在菜单里加了一项“运行”,其处理函数,就是引起view类的不断重画
类似
while(--i>0) // i是一个很大的数,如:100000
{
...;
Invalidate(); //这两句就是想让view类重画
UpdateWindow();
}
view类中,onDraw就是画一幅图
当“运行”时,闪烁的非常厉害,十有八九会死掉,
而且,当还在“运行”时,若进行拖动,改变窗体大小,最大化等其它引起重画的操作时,程序基本上会死。
说明:我的程序死是指,在view类窗体上看不到它重画了(不闪烁了),定格在一个画面上。程序内部还是能正常运行。结束后,让窗体重绘一下,最后一次画面是对的(说明程序运行正确)。
所以感觉问题是:程序一直要重绘,OnDraw函数一直被调用,它反应不过来了???
如何让这个重绘过程一直跟上,从而让我看到不断变化的图,不要闪烁的太厉害最好了????
诚望赐教!!! 展开
在菜单里加了一项“运行”,其处理函数,就是引起view类的不断重画
类似
while(--i>0) // i是一个很大的数,如:100000
{
...;
Invalidate(); //这两句就是想让view类重画
UpdateWindow();
}
view类中,onDraw就是画一幅图
当“运行”时,闪烁的非常厉害,十有八九会死掉,
而且,当还在“运行”时,若进行拖动,改变窗体大小,最大化等其它引起重画的操作时,程序基本上会死。
说明:我的程序死是指,在view类窗体上看不到它重画了(不闪烁了),定格在一个画面上。程序内部还是能正常运行。结束后,让窗体重绘一下,最后一次画面是对的(说明程序运行正确)。
所以感觉问题是:程序一直要重绘,OnDraw函数一直被调用,它反应不过来了???
如何让这个重绘过程一直跟上,从而让我看到不断变化的图,不要闪烁的太厉害最好了????
诚望赐教!!! 展开
2个回答
展开全部
while(--i>0) // i是一个很大的数,如:100000
{
...;
Invalidate(); //这两句就是想让view类重画
UpdateWindow();
Sleep(50);
}
{
...;
Invalidate(); //这两句就是想让view类重画
UpdateWindow();
Sleep(50);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询