vc++ 动态加载位图
有兩種方法:
1 靜態(tài)加載,定義資源IDB_BITMAP1 BITMAP "相對路徑"
2動態(tài)加載,用::LoadImage()API然后CBitmap::Attach()即可
LoadBitmap是從EXE、DLL文件中加載,不是從硬盤加載!
DrawPicture(hwnd)
{
PAINTSTRUCT ps;
HDC hdc;
HDC hdcmem;
HBITMAP hBm;
BITMAP bm;
//hBm=::LoadBitmap(NULL,"D:\\Test.bmp");
//hBm=::LoadBitmap(IDB_BITMAP1);
//hBm=::LoadBitmap("D:\\Test.bmp");
//HINSTANCE hInst=GetModuleHandle(this);
hBm?? =??(HBITMAP)LoadImage(NULL,"d:\\Test.bmp",IMAGE_BITMAP,640,480,LR_LOADFROMFILE);??
//hBm=::LoadBitmap(GetModuleHandle(this),MAKEINTRESOURCE(IDB_BITMAP1));
//獲取位圖尺寸
GetObject(hBm,sizeof(BITMAP),(LPVOID)&bm);
hdc=GetDC(hwnd);
hdcmem=CreateCompatibleDC(hdc);
ReleaseDC(hwnd,hdc);
hdc=BeginPaint(hwnd,&ps);
SelectObject(hdcmem,hBm);? //將位圖選入內(nèi)存設(shè)備環(huán)境中
BitBlt(hdc,180,90,bm.bmWidth,bm.bmHeight,hdcmem,0,0,SRCCOPY);
EndPaint(hwnd,&ps);
DeleteObject(&hBm);
DeleteDC(hdcmem);
}
總結(jié)
以上是生活随笔為你收集整理的vc++ 动态加载位图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs2008生成安装部署文件的步骤
- 下一篇: VC++ 使用导入位图创建工具栏