CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,_T("*.bmp|*.bmp"),this);
if(dlg.DoModal()==IDOK)//获取图片路径
fname=dlg.GetPathName();
BITMAPINFO bitInfo;
//此处省略代码,获取文件头信息到bitInfo
//创建绘画DC和位图
CDC MemDC;
CBitmap bitmap;
//下面代码为自适应画图区域大小,如果固定可以不要
CRect rectTemp;
st->GetWindowRect(rectTemp);
int wid=rectTemp.Width();
int hig=rectTemp.Height();
//绘图
CClientDC dc(st);
bitmap.CreateCompatibleBitmap(&dc,wid,hig);//分配位图内存
MemDC.CreateCompatibleDC(&dc);
MemDC.SelectObject(&bitmap);//填充位图到DC
//下边三个函数不说了,介绍很多
SetStretchBltMode(MemDC.m_hDC,BLACKONWHITE);
StretchDIBits(MemDC.m_hDC,0,0,wid,hig,0,0,bwidth,bheight,ImgBuf,&bitInfo,DIB_RGB_COLORS,SRCCOPY);
dc.BitBlt(0,0,wid,hig,&MemDC,0,0,SRCCOPY);
MemDC.DeleteDC();