//函数参数是图片路径 支持bmp格式的
//加载的图片缩小并且显示在IDC_STATIC_PIC 控件框内
void ShowPic(CString PicturePath)
{
if (PicturePath!="")
{
CDC memdc;
CWnd *cwnd=GetDlgItem(IDC_STATIC_Show);
CRect DlgRect;
cwnd->GetClientRect(&DlgRect); //获得显示位置
CClientDC dc(cwnd);
HBITMAP hbmp;
CBitmap m_bmp;
hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
PicturePath, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
if( hbmp == NULL ) {AfxMessageBox("为空");}
m_bmp.Attach( hbmp );
DIBSECTION ds;
BITMAPINFOHEADER &bminfo = ds.dsBmih;
m_bmp.GetObject( sizeof(ds), &ds );
ASSERT(memdc.CreateCompatibleDC(&dc)); //创建CDC设备
ASSERT(memdc.SelectObject(&m_bmp)); //连接位图
ASSERT(dc.SetStretchBltMode(HALFTONE));
ASSERT(dc.StretchBlt(0,0,DlgRect.Width(),DlgRect.Height(),&memdc,0,0,bminfo.biWidth,bminfo.biHeight,SRCCOPY));
ReleaseDC(&memdc);
bitmap=NULL;
ASSERT(dc.StretchBlt(0,0,DlgRect.Width(),DlgRect.Height(),&memdc,0,0,bminfo.biWidth,bminfo.biHeight,SRCCOPY));
ReleaseDC(&memdc);
bitmap=NULL;
}
}