用LoadImage就可以了。
CBitmap m_bitmap;
HBITMAP hBmp;
hBmp=(HBITMAP)LoadImage(AfxGetInstanceHandle(),strfilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
m_bitmap.DeleteObject();
m_bitmap.Attach(hBmp);
CPaintDC dc(this);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&m_bitmap);
CRect rect;
GetWindowRect(&rect);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
CBitmap m_bitmap;
HBITMAP hBmp;
hBmp=(HBITMAP)LoadImage(AfxGetInstanceHandle(),strfilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
m_bitmap.DeleteObject();
m_bitmap.Attach(hBmp);
CPaintDC dc(this);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&m_bitmap);
CRect rect;
GetWindowRect(&rect);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
再次谢谢!
bitmap.LoadBitmap(IDB_BITMAP1);
CClientDC dc(this);
CDC dcmem;
dcmem.CreateCompatibleDC((CDC*)&dc);
dcmem.SelectObject(bitmap.m_hObject);
dc.BitBlt(0,0,200,100,&dcmem,1,0,SRCCOPY);
如果改写成这个样子,就可以正常显示了。为什么呢?