为什么我的MFC程序刷新10次就不行了?

代码如下voidC修改框架View::OnShowactive(){//TODO:在此添加命令处理程序代码m_nShowActiveStage=1;Invalidate(... 代码如下
void C修改框架View::OnShowactive()
{
// TODO: 在此添加命令处理程序代码
m_nShowActiveStage = 1 ;
Invalidate(false) ;
UpdateWindow() ;
AABB3 *head = m_nActiveData ;
CClientDC pDC( this ) ;
while(1)
{
switch( head->ID )
{
case 1 :
case 2 :
case 3 :
case 4 :
{
head->draw2D(&pDC) ;
break ;
}
case 0 :
{
Sleep( 30 ) ;
Invalidate(false) ;
UpdateWindow() ;
break ;
}
default :
{
exit(0) ;
}
}
head = head->next ;
if( head == NULL )
{
break ;
}
}
m_nShowActiveStage = 0 ;
}
draw2D是虚函数调用。怎样查看GDI?
展开
 我来答
百度网友1cf58ab
2012-08-21 · TA获得超过343个赞
知道小有建树答主
回答量:276
采纳率:50%
帮助的人:365万
展开全部
draw2D(&pDC) ;

Invalidate(false) ;
UpdateWindow() ;
注意查看这三个函数都分配了什么GDI资源,用过后释放了吗?
我看你的程序中主要是第一个函数问题大,GDI资源非常少,用过后一定要释放,象递归调用函数不停地分配GDI资源的事就不要干了。
其他情况一般不会造成这种现象。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式