1 BOOL CGraphicView::OnEraseBkgnd(CDC* pDC) 2 { 3 // TODO: 在此添加消息处理程序代码和/或调用默认值 4 CBitmap bitmap; 5 bitmap.LoadBitmapA( IDB_BITMAP1 ); 6 7 BITMAP bmp; 8 bitmap.GetBitmap( &bmp ); // 该结构体bmp可以获取有关位图的信息 9 10 11 CDC dcCompatible; 12 dcCompatible.CreateCompatibleDC( pDC ); // 创建与当前DC(pDC)兼容的DC 13 dcCompatible.SelectObject( &bitmap ); 14 15 CRect rect; 16 GetClientRect( &rect ); 17 18 /** 法一:将兼容DC中的位图复制到目的DC中,该函数是1:1复制的,不会伸缩和压缩位图; 19 pDC->BitBlt( 0, 0, rect.Width(), rect.Height(), &dcCompatible, 0, 0, SRCCOPY ); 20 */ 21 22 // 法二:可以按照指定大小实现位图的伸缩和拉伸 23 pDC->StretchBlt( 0, 0, rect.Width(), rect.Height(), &dcCompatible, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY ); 24 25 // return CView::OnEraseBkgnd(pDC); // 不要调用基类的方法,否则会擦除背景 26 return TRUE; 27 }
位图显示基本程序
最新推荐文章于 2024-07-25 23:22:43 发布