定时器循环问题
我在View类的OnCreate中加入一个定时器SetTimer(0,100,NULL),然后再View类的OnTimer函数中写入如下代码: for(int i=0;i<300;i++)
for(int j=0;j<400;j++)
{
if(((i-100)*(i-100)+(j-120)*(j-120))<100*100)
this->demdata->data[i][j]+=1;
}
CMainFrame *pMainFrm=(CMainFrame *)AfxGetMainWnd();
CMDIChildWnd *pChild = pMainFrm->MDIGetActive();
CLAIBINView *pView=(CLAIBINView*)pChild->GetActiveView();
if(maploadok)
pView->mapopen((this->demdata));
其中数组data[i][j]的值表示不同直线的长度,if语句是用来判断一个圆形区域,以data[100][120]为圆心,半径为100的圆面。data[i][j]+=1相当于使整个圆面同时抬高1个单位。但是在界面重绘时比较卡,而且不是满足条件的点抬高1个单位。程序循环好多次,最后出现内存不足的对话框,这是什么原因呢?我要怎样做才能实现使满足要求的点动态的抬高1个单位?