首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

想不明白为什么画不出来 帮忙

2012-02-20 
想不明白为什么画不出来 各位大哥帮忙我在View里写了这样一个函数想在View中把位图显示出来,代码如下:CDCd

想不明白为什么画不出来 各位大哥帮忙
我在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()里试试看

热点排行