2010-06-12 43 views
2

我的浏览按钮的代码是如何使用MFC来从文件加载图像

void CFileOpenDlg::OnBnClickedButton1() 
{ 
// TODO: Add your control notification handler code here 
CFileDialog dlg(TRUE); 
int result=dlg.DoModal(); 
if(result==IDOK) 
{ 
    path=dlg.GetPathName(); 
    UpdateData(FALSE); 
} 
} 

,这是加载从资源图像的代码,但不从文件加载图像工作。我知道LoadImage();用于此,但如何?我如何编辑此代码以从文件加载图像。 Plzz帮助.....

void CFileOpenDlg::OnBnClickedButton2() 
{ 
// TODO: Add your control notification handler code here 
CRect r; 
CBitmap* m_bitmap; 
CDC dc, *pDC; 
BITMAP bmp; 
m_bitmap = new CBitmap(); 
m_bitmap->LoadBitmapW(IDB_BITMAP1); 
m_bitmap->GetBitmap(&bmp); 
pDC = this->GetDC(); 
dc.CreateCompatibleDC(pDC); 
dc.SelectObject(m_bitmap); 
pDC->BitBlt(200, 200, bmp.bmWidth, bmp.bmHeight, &dc,0 , 0, SRCCOPY); 
m_bitmap->DeleteObject(); 
m_bitmap->Detach(); 
} 

回答

3

MSDN LoadImage

HANDLE hBitMap = ::LoadImage(0, "c:\\mybmp.bmp",IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 
CBitmap bmp; 
bmp.Attach((HBITMAP)hBitMap); 
2

如果你想打开.JPG,.PNG ......最终,你可以使用的CImage(是MFC和ATL之间共享类)

CImage image; 
image.Load ("picture.jpg"); 
image.Draw (pDC , 200, 200);