这是对于MFC笔记的整理
在窗口上放置位图的步逐:
1.创建位图:
CBitmap bitmap;//创建视图对象
bitmap.LoadBitmap(IDB_BITMAP)//导入视图
2.创建兼容DC:
CDC dcCompatible;//创建设备对象
dcCompatible.CreateCompatibleDC(pDC);//创建兼容DC
ps: DC刚创建的时候是一个像素大小的DC
3.将位图选到兼容DC:
dcCompatible.SelectObject(&bitmap);
4.将兼容DC的位图,贴到当前DC中
pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Heigth(),&dcCompatible,0,0,SRCCOPY);
SRCCOPY 是指拷贝的模式 。 是拷贝原位图到目的位图
实际操作: OnEraseBkgnd 函数是一个窗口擦除时调用的
BOOL CLESSON10View::OnEraseBkgnd(CDC* pDC)//这个消息是当窗口擦擦除时发生编辑。。。
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CBitmap bitmap;//1.创建视图对象
bitmap.LoadBitmap(IDB_BITMAP2);//导入一张视图,(这是一张桌面视图)
//2.创建兼容DC
CDC dcCompatible;//创建设备对象
dcCompatible.CreateCompatibleDC(pDC);//创建兼容DC
dcCompatible.SelectObject(&bitmap);//3.将位图选到兼容DC
//获取目的DC的矩形窗口
CRect rect;
GetClientRect(&rect);
pDC->BitBlt(10, 10, rect.Width(), rect.Height(), &dcCompatible, 0, 0, SRCCOPY);
//SRCCOPY 是指拷贝的模式 。 是拷贝原位图到目的位图
return true;
//return CView::OnEraseBkgnd(pDC);
}
有图有真相