图片闪的话,我知道的有三种方法...
1.用双缓存显示图片..
例子:
CPaint dc(this);
CRect rcWindow;
GetWindowRect(rcWindow);
CDC MemDC,CompatibleDC;
CBitmap *OldBitmap,MemBitmap,bitmap;
MemDC.CreateCompatibleDC(&dc);
MemBitmap.CreateCompatibleBitmap(&dc,rcWindow.Width(),rcWindow.Height());
OldBitmap=(CBitmap *)MemDC.SelectObject(&MemBitmap);
CompatibleDC.CreateCompatibleDC(&MemDC);
bitmap.LoadBitmap(位图ID);
CompatibleDC.SelectObject(&bitmap);
MemDC.Bitblt(........,&CompatibleDC,...);
dc.Bitblt(.........,&MemDC,.....);
2.就是使用InvalidateRect(..)这个函数设置要重绘的区域
3.用ExcludeClipRect(...)这个函数去剪切掉不需要重绘的区域..
再加上10楼的方法...这四种方法应该能解决你的图片闪的问题..
1.用双缓存显示图片..
例子:
CPaint dc(this);
CRect rcWindow;
GetWindowRect(rcWindow);
CDC MemDC,CompatibleDC;
CBitmap *OldBitmap,MemBitmap,bitmap;
MemDC.CreateCompatibleDC(&dc);
MemBitmap.CreateCompatibleBitmap(&dc,rcWindow.Width(),rcWindow.Height());
OldBitmap=(CBitmap *)MemDC.SelectObject(&MemBitmap);
CompatibleDC.CreateCompatibleDC(&MemDC);
bitmap.LoadBitmap(位图ID);
CompatibleDC.SelectObject(&bitmap);
MemDC.Bitblt(........,&CompatibleDC,...);
dc.Bitblt(.........,&MemDC,.....);
2.就是使用InvalidateRect(..)这个函数设置要重绘的区域
3.用ExcludeClipRect(...)这个函数去剪切掉不需要重绘的区域..
再加上10楼的方法...这四种方法应该能解决你的图片闪的问题..