请问如何在vc中用api显示一个已经载入的bmp资源?

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:29:40
如题,最好有代码实例,谢谢了

(1)加载位图
HANDLE LoadImage(HINSTANCE 来源实体,LPCTSTR 名称,UINT 位图类型, int 加载宽度,int 加载高度,UINT 加载方式);
位图类型:IMAGE_BITMAP、IMAGE_CURSOR、IMAGE_ICON
加载方式:从文件中加载LR_LOADFROMFILE
(2)建立内存DC
HDC CreateCompatibleDC(HDC hdc);
DeleteDC(HDC hdc);
(3)选用位图对象
HGDIOBJ SelectObject(HDC hdc, HGDIOBJ GDI对象);
(4)贴图
BOOL BitBlt(HDC destDC,int destX,int destY,int destWidth,int destHeight,HDC srcDc,int srcX,int srcY,DWORD 贴图方式);
贴图方式:
SRCCOPY 将来源位图贴到目的DC上
SRCAND 将来源位图与目的DC做“AND”运算
SRCPAINT 将来源位图与目的DC做“OR”运算

>回复:
//注意,hInst为当前程序实例句柄,如果是没用mfc的纯win32程序直接有

HBITMAP hBitmap ;
hBitmap = (HBITMAP)LoadImage(hInst, MAKEINTRESOURCE(IDC_BMP),IMAGE_BITMAP, 0, 0,LR_CREATEDIBSECTION);
HDC hmdc;
hmdc = CreateCompatibleDC(hdc);
SelectObject(hmdc,hBitmap);
BITMAP bmp;
GetObject(hBitmap,sizeof(bmp),&bmp);
BitBlt(hdc,0,0,bmp.bmWidth,bmp.bmHeight,hmdc,0,0,SRCCOPY);

请问来源实体是什