以前绘图时因为都是直接将图形输出到屏幕上,所以当窗口重绘时屏幕闪烁得特别厉害,后来查阅了一些资料,了解到可以采用双缓冲的技术解决这一问题。我的方法大致是在OnDraw()函数中添加如下代码:         CDC memoDC;
CBitmap m_bitmap,*oldBitmap;
oldBitmap=NULL; 
CRect rect;
GetClientRect(&rect);
m_bitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
memoDC.CreateCompatibleDC(pDC);

oldBitmap=memoDC.SelectObject(&m_bitmap);

memoDC.FillSolidRect(&rect,RGB(255,255,255)); ///////////////////// ReDrawGraph(&memoDC);  //实际的绘图函数 ///////////////////// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memoDC,0,0,SRCCOPY); memoDC.SelectObject(oldBitmap);

m_bitmap.DeleteObject(); memoDC.DeleteDC();按以上代码执行程序后,感觉并没有解决闪烁问题啊。因为我在拉动窗口边框改变窗口大小时图形还是会闪,而且我上面的代码也没问题啊,需要说明的是我并没有改变坐标系,用的就是MM_TEXT模式。这是怎么回事,谁能给我解答一下。怎么才能真正解决图形闪烁问题呢?