在静态控件上显示图片(用BitBlt的方法), 该怎么重绘? 怎么解决重绘闪烁有关问题

在静态控件上显示图片(用BitBlt的方法), 该如何重绘? 如何解决重绘闪烁问题!
>>> 在静态控件上显示图片(用BitBlt的方法), 该如何重绘? 如何解决重绘闪烁问题!

我要在静态控件上显示图片, 方法是在内存中将图片绘制好,然后在用BitBlt绘制到指定的区域,

但现在有个问题,这样绘制的图象,当显示区域被其他窗口覆盖后,图象会被擦除,我在OnPaint()中重绘,但当有窗口在其上经过的话,闪的厉害!

请问该如何解决!!!



------解决方案--------------------
OnEraseBkgnd()
{
return TRUE;
}
是在内存中绘好
------解决方案--------------------
给点代码你参考:
例子:
CMyPaintView::onpaint()
{
CClientDC dc(this);

//创建内存DC
//CClientDC dc(this);
pDLMemDC.CreateCompatibleDC(&dc);

CBitmap bmap;
CRect rect;
GetClientRect(&rect);
bmap.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
pDLMemDC.SelectObject(&bmap);

//用白色填充当前画布
pDLMemDC.FillSolidRect(&rect, 0x00FFFFFF);

//画图
CMyPaintView::MDrawCompontToDC();
//画线
CMyPaintView::MDrawLine();

//将内存DC中的图像显示到客户区
dc.BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),
&pDLMemDC,rect.left,rect.top,SRCCOPY);

//删除pDLMemDC
pDLMemDC.DeleteDC();
//删除bmap
bmap.DeleteObject();
}
如果还是闪烁,定义一个定时器试下,每秒钟显示20次,可能是你刷新的地方没有控制好
------解决方案--------------------
我一般图形处理都在写在Timer定时器中...