在视图中显示一幅位图

来源:互联网 发布:营销网络的建立 编辑:程序博客网 时间:2024/04/29 23:48

 

 

位图的显示

采用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
原创粉丝点击