请看下面的两段代码:
代码一:
CBitmap bmp;
HBITMAP hBitmap = NULL;
hBitmap = (HBITMAP)LoadImage(NULL, "c:\\temp\\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
bmp.Attach(hBitmap);
......代码二:
CBitmap bmp;
bmp.LoadBitmap(IDB_TEST);
......接着用几乎完全一样的代码对bmp进行打印(用的是StretchBlt()),用代码一的方法得到的bmp打印完全没问题,但是用代码二的方法得到的bmp却打印不出,两者的区别只是一个从bitmap文件中读取位图,另一个是从资源中读取位图。不知为什么?谢谢!
代码一:
CBitmap bmp;
HBITMAP hBitmap = NULL;
hBitmap = (HBITMAP)LoadImage(NULL, "c:\\temp\\test.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
bmp.Attach(hBitmap);
......代码二:
CBitmap bmp;
bmp.LoadBitmap(IDB_TEST);
......接着用几乎完全一样的代码对bmp进行打印(用的是StretchBlt()),用代码一的方法得到的bmp打印完全没问题,但是用代码二的方法得到的bmp却打印不出,两者的区别只是一个从bitmap文件中读取位图,另一个是从资源中读取位图。不知为什么?谢谢!
http://expert.csdn.net/Expert/topic/1503/1503423.xml?temp=.7094232
如这样bool b = bmp.LoadBitmap(IDB_TEST);
................
看看资源中的bitmap能不能在窗口上显示了?xixi, 可能需要把你的代码简化一下贴出来,要不别人根本看不出来
总之了还是楼上的大大说的对,得测一下
IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
ASSERT(hbmp != NULL);
CBitmap bmp;
bmp.Attach(hbmp);
也谢谢大家!