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

在SDK中加载图片代码解决方案

2012-01-20 
在SDK中加载图片代码caseWM_PAINT:hdcBeginPaint(hWnd,&ps)HBITMAPhbmhbmLoadBitmap(hInstance,MAKEIN

在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());
}

热点排行