想不明白为什么画不出来 各位大哥帮忙
我在View里写了这样一个函数 想在View中把位图显示出来,代码如下:
CDC dcImage;
CBitmap bitMap;
CBitmap* oldBitmap;
BITMAP bm;
HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "c:\\test\\test.bmp ",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION|LR_DEFAULTSIZE|LR_LOADFROMFILE);
bitMap.Attach(hBitmap);
if(hBitmap == NULL)
return;
if(!dcImage.CreateCompatibleDC(pDC))
return;
bitMap.GetBitmap(&bm);
oldBitmap = dcImage.SelectObject(&bitMap);
if(!pDC-> BitBlt(0,0,bm.bmWidth,bm.bmHeight,&dcImage,0,0,SRCCOPY))
return;
dcImage.SelectObject(oldBitmap);
dcImage.DeleteDC();
pDC-> DeleteDC();
请问有何不对之处 ,非常感谢各位大哥!
[解决办法]
bmWidth,bm.bmHeight为0,不要那样取,应该这样::GetObject(hBitmap, sizeof(BITMAP), &bm)
[解决办法]
把它放到OnEraseBkgnd()里试试看