为什么pDC 只能作一次图?
定义了如下 CDC * pDC, CDC memDC,CBitmap memBitmap ,CRect r;的public变量,在初始化函数中初始化:
pDC = GetWindowDC();
GetClientRect(r);
memDC.CreateCompatibleDC(pDC);
memBitmap.CreateCompatibleBitmap(pDC,r.Width(),r.Height());
memDC.SelectObject(&memBitmap);
另定义一个FunDraw()函数,在其中用 memDC.SetPixel()作图,在此函数结束处用: pDC->BitBlt(r.left,r.top,r.Width(),r.Height(),&memDC,0,0,SRCCOPY); 显示图形,用一定时器调用 FunDraw() ,定时器的时间大于作图时间,不会起冲突。但只能显示第一次调用的图形,以后就不显示了,在FunDraw()加入了一个MessageBox("in draw");也能定时出现,说明FunDraw()函数也调用了,但为什么只显示一次呢? 若将上面的四个变量的定义和初始化放在FunDraw()的开头则一切正常