MFC 双缓冲加载背景

首先定义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);

文章出处:http://www.cnblogs.com/chentongxin 作者:陈同心 QQ:2407669556
原文地址:https://www.cnblogs.com/chentongxin/p/3403631.html