在窗口中贴图

为这个问题查阅了一天的资料,最终在孙鑫老师的视频教程里得到了类似的答案,做了一下简单修改,记

 

录如下:

 

我所用的是FormView,代码写在OnPaint中:

 

 CBitmap bitmap;//定义一个位图对象
 bitmap.LoadBitmap(IDB_BITMAP1);//载入位图
 CDC *pDC=CDC::FromHandle(::GetDC(GetDlgItem(IDC_PIC)->GetSafeHwnd()));//获取控件的DC

 

 BITMAP bmp;//定义一个BITMAP结构体变量
 bitmap.GetBitmap(&bmp);//获取位图对象的信息,保存在bmp这个结构体变量中

 

 CDC dcCompatible;//定义一个DC
 dcCompatible.CreateCompatibleDC(pDC);//创建一个内存上下文设备DC,该DC与pDC所指向的上下文DC是兼容的;
 

 dcCompatible.SelectObject(&bitmap);//将一个对象选入到上下文设备中,这里指兼容DC

 

 CRect rect;//定义一个矩形区域,用来保存显示区域大小
 GetDlgItem(IDC_PIC)->GetWindowRect(&rect);//保存显示区域大小
 

 pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
          0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);//绘图

 

 

 

 

你可能感兴趣的:(窗口)