首页 > 技术文章 > MFC 双缓冲加载背景

chentongxin 2013-11-02 13:18 原文

首先定义DCmemDc和Bitmap

CDC DCmemDc;

 CBitmap memBitmap;

 CBitmap *oldBitmap;

然后创建一个适应当前内存的DCmemDc

CDC * dc = GetDC();

 memDc.CreateCompatibleDC(dc);

然后创建一个适合当前设备的memBitmap

 memBitmap.CreateCompatibleBitmap(dc,SCREENX,SCREENY);

将memDc选中memBitmap,因为只有关联Bitmap后DC才能画图

 oldBitmap = memDc.SelectObject(&memBitmap);

然后就可以使用memDc了,往memDc中画图实际是画在了内存中

然后再把memDc中的图片拷贝到设备DC

CPaintDC dc(this);

dc.BitBlt(0,0,SCREENX,SCREENY,&tempDc,0,0,SRCCOPY);

推荐阅读