![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1
CRect crect;
2 getclientdc( & dc);
3
4 // 使用API函数调用位图文件
5 HBITMAP hBitmap = (HBITMAP)SHLoadImageFile(filepath);
6 if (NULL == hBitmap) return ;
7 // CBitmap 对象关联HBITMAP
8 CBitmap bmp;
9 bmp.Attach(hBitmap);
10 // 获取高度和宽度
11 BITMAP bm;
12 bmp.GetObject( sizeof (BITMAP), & bm);
13 // 创建一个与pDC兼容的内存DC
14 CDC memDC;
15 memDC.CreateCompatibleDC(pDC);
16 // 将位图选入内存dc
17 CBitmap * pOldBitmap = memDC.SelectObject( & bmp);
18
19 // pDC->BitBlt(0,0,240,320,&memDC,0,0,SRCCOPY);
20 pDC -> StretchBlt( 0 , 0 ,crect.Width(),crect.Height(),
21 & memDC, 0 , 0 ,bm.bmWidth,bm.bmHeight,SRCCOPY);
22
23 // GDI释放内存
24 bmp.Detach();
25 memDC.SelectObject(pOldBitmap);
26 memDC.DeleteDC();
2 getclientdc( & dc);
3
4 // 使用API函数调用位图文件
5 HBITMAP hBitmap = (HBITMAP)SHLoadImageFile(filepath);
6 if (NULL == hBitmap) return ;
7 // CBitmap 对象关联HBITMAP
8 CBitmap bmp;
9 bmp.Attach(hBitmap);
10 // 获取高度和宽度
11 BITMAP bm;
12 bmp.GetObject( sizeof (BITMAP), & bm);
13 // 创建一个与pDC兼容的内存DC
14 CDC memDC;
15 memDC.CreateCompatibleDC(pDC);
16 // 将位图选入内存dc
17 CBitmap * pOldBitmap = memDC.SelectObject( & bmp);
18
19 // pDC->BitBlt(0,0,240,320,&memDC,0,0,SRCCOPY);
20 pDC -> StretchBlt( 0 , 0 ,crect.Width(),crect.Height(),
21 & memDC, 0 , 0 ,bm.bmWidth,bm.bmHeight,SRCCOPY);
22
23 // GDI释放内存
24 bmp.Detach();
25 memDC.SelectObject(pOldBitmap);
26 memDC.DeleteDC();