在视图中显示一幅位图

 

 

位图的显示

采用MFC方法编程时,显示一个DDB位图执行以下几个步骤。

(1)声明一个CBitmap类的对象,使用LoadBitmap()函数将位图装入内存。

(2)声明一个CDC类的对象,使用CreatCompatibleDC()函数创建一个与显示设备环境兼容的内存设备环境。

CreateCompatibleDC()函数的原型为:

     virtual Bool CreateCompatibleDC(CDC *pDC);

   其中,参数pDC是指向设备环境的指针。如果pDC为NULL,则创建与系统显示器兼

空的内存设备环境。

(3)使用CDC::SelectObject()函数将位图对象选入设备环境中,并保存原来设备环境的

指针。

(4)利用CDC的相关输出函数位图。

(5)使用CDC::SelectObject()函数恢复原来设备环境。


测试例子如下:

 

void CTestView::OnDraw(CDC* pDC)
 
{
 
       CLi3_11Doc* pDoc = GetDocument();
 
       ASSERT_VALID(pDoc);
 
       // TODO: add draw code for native data here
 

 
    CBitmap Bitmap;     //将位图装入内存
 

 
    Bitmap.LoadBitmap(IDB_BITMAP1);
 

 
    CDC     MemDC;      //创建内存设备环境
 

 
    MemDC.CreateCompatibleDC(pDC);
 

 
    CBitmap *OldBitmap=MemDC.SelectObject(&Bitmap);     //将位图装入内存DC中 

 
    BITMAP bm; //创建BITMAP结构变量
 

 
    Bitmap.GetBitmap(&bm);   //获取位图信息
 

 
    pDC->BitBlt(10,10,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY); //从内存中往屏幕输出 

 
    pDC->SelectObject(OldBitmap);   //恢复设备环境
 
} 
 
参考资料:
 
 
http://hi.baidu.com/126_/blog/item/07351a730d28a7188601b0bd.html

你可能感兴趣的:(编程,测试,null,mfc)