CString str = fd.GetPathName();
HBITMAP bitmap;
bitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),str,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_LOADFROMFILE);
ASSERT(bitmap);//这里的str没有问题的,我是通过CFILEDIALOG打开的
CBitmap bmp;
bmp.Attach(bitmap);
DIBSECTION ds;
BITMAPINFOHEADER &bminfo = ds.dsBmih;
bmp.GetObject( sizeof(ds), &ds );
int cx=bminfo.biWidth;
int cy=bminfo.biHeight;
SetWindowPos(&m_list,0,0,cx,cy,SWP_NOMOVE|SWP_NOZORDER);//
本来这里是调整LIST的大小的,结果没有反应
m_list.GetWindowRect(&m_rect);
ScreenToClient(&m_rect);
// m_list.MoveWindow(rect.left,rect.top,cx,cy,true);
HBITMAP OldBitmap;
CDC MemDC;
MemDC.CreateCompatibleDC(&dc);
OldBitmap=(HBITMAP)MemDC.SelectObject(bitmap);
dc.BitBlt(m_rect.left,m_rect.top,m_rect.Width(),m_rect.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(OldBitmap);
此外还有个问题,就是当我显示这副图片的时候,有时候一下子不能够完全显示出来,多打开几次后可以,是不是因为
图片尺寸太大?也或者是我在显示图片的时候没有对图片分层,都是在第0层的原因呢?