if(bmp24.LoadBitmap(IDB_BITMAP24)) // 判断LoadBitmap返回值是否为真
{
BITMAP bmpInfo; // 声明BITMAP 实例 bmpInfo
bmp24.GetBitmap(&bmpInfo); // 执行GetBitmap,获取的map放进bmpInfo
CDC dcMemory; //和上面一样,声明实例
dcMemory.CreateCompatibleDC(pDC); // 用这个实例做个啥兼容,pDC是啥我还要问你呢
CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp24); // 这一看就是获取新对象的固定套路嘛
CRect rect;//实例
GetClientRect(&rect);// 传实例的地址进去,基本就是期望对这个实例做了相应操作
int nX = rect.left + (rect.Width() - bmpInfo.bmWidth) / 8;// 计算剩余带宽啥的
int nY = rect.top + (rect.Height() - bmpInfo.bmHeight) /2;// 计算剩余高度?
pDC->BitBlt(nX, nY, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory,
0, 0, SRCCOPY);// 貌似这里是关键操作啊
dcMemory.SelectObject(pOldBitmap);// 擦,这里容我猜一下,难道判断pOldBitma不为NULL即是delete对象,我真实太聪明了.
}