在SDK中加载图片代码
case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
HBITMAP hbm;
hbm=LoadBitmap(hInstance,MAKEINTRESOURCE( "11.bmp "));
mdc=CreateCompatibleDC(hdc);
SelectObject(mdc,hbm);
BitBlt(hdc,0,0,1024,768,mdc,0,0,SRCCOPY);
EndPaint(hWnd,&ps);
return 0;
结果是什么也不显示,我看过LoadBitmap的参数,第二个参数是一个图片的ID,我不知道该怎样做这个ID,图片在程序目录下,叫11.bmp,请问如何制作这个ID?做好后是否就能正确显示了?
[解决办法]
你先把位图作为一种资源insert进你的工程里面,然后VC就给分配个ID了,当然你手工编辑RC文件也可以,但不建议你这样做,用资源编辑器更方便,你要是想直接加载文件的方式可以这样:
HBITMAP hBitmap=HBITMAP(LoadImage(hInstance,TEXT( "11.BMP "),IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_DEFAULTCOLOR));
有了位图句柄你显示就没问题了....
[解决办法]
hImageBMP = (HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE | LR_CREATEDIBSECTION);
[解决办法]
CBitmap bm;
bm.m_hObject=::LoadImage(NULL,FilePath,IMAGE_BITMAP,80, 80,LR_LOADFROMFILE);
if(bm.m_hObject!=NULL)
{
//你自己的处理m_pic.SetBitmap((HBITMAP)bm.Detach());
}