采用 MFC 方法编程时,显示一个DDB 位图需要执行以下几个步骤。
(1) 声明一个CBitmap 类的对象,使用LoadBitmap( )函数将位图装入内存。
(2) 声明一个CDC 类的对象,使用CreateCompatibleDC( )函数创建一个与显示设备环
境兼容的内存设备环境。
CreateCompatibleDC( )函数的原型为:
Virtual Bool CreateCompatibleDC(CDC *pDC);
其中,参数 pDC 是指向设备环境的指针。如果pDC 为NULL,则创建与系统显示器
兼容的内存设备环境。
(3) 使用CDC::SelectObject( )函数将位图对象选入设备环境中,并保存原来设备环境
的指针。
(4) 利用CDC 的相关输出函数输出位图。
(5) 使用CDC::SelectObject( )函数恢复原来设备环境。
——————————————————————————————————————————
CBitmap a;
a.LoadBitmap(IDB_BITMAP1);//将位图装入内存
CDC b;
b.CreateCompatibleDC(pDC);//创建内存设备环境
CBitmap *c=b.SelectObject(&a);
BITMAP d;//创建BITMAP 结构变量
a.GetBitmap(&d);//获取位图信息
pDC->BitBlt(10,10,d.bmWidth,d.bmHeight,&b,0,0,SRCCOPY);//显示位图
pDC->SelectObject(c);//恢复设备环境
——————————————————————————————————————
我把a作为CBitmap 类的对象
b作为CDC 类的对象
c作为原来设备环境的指针
d作为创建BITMAP 的结构变量