如何加载位图文件
//**************************************
. S, m: I5 ?7 N% |6 A6 W0 G p// 3 _6 R5 y- s& A
// Name: 如何加载BMP文件
, h7 r9 E, h1 U1 P- p/ g// Description:这段代码示范了如何加载位图文件,然后用bitblt将它显示到一个窗口。
( p! O' N, u8 H, C% q# v, E! y T//
" C. `7 @/ i" P! K6 U, V// 3 @; @% N, ^ u# w
; p% A, m' R7 E/ U//用这个函数加载位图
3 ?9 X4 t6 n# x! p# Lint LoadBitmapFile(char* FileName, int x, int y, HWND hwnd)
' Y) M& M, T4 O3 @* [' V: S{: [: a% B0 l2 W& z
BITMAP bm;# N2 S3 O) f7 ]9 a5 w; P
HDC hdc = GetDC(hwnd);! P$ _& x# a x
BitHandle = (HBITMAP)LoadImage(NULL, FileName, IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);
* p& c+ q+ J% z' O; P if(BitHandle == NULL)1 Z+ ^3 T2 G! ]6 v H4 y! B% f- P7 a
{
8 c( a5 k* g" N5 l MessageBox(0, "加载指定的位图文件出错", "程序错误!",
( ?! X4 M- G8 X7 N6 }/ @9 I MB_ICONERROR | MB_SYSTEMMODAL | MB_OK);
( h% D! P1 M5 o, \& p' j/ { \ }9 C! u% M p$ N- U# i$ Y, t& w
HDC dc = CreateCompatibleDC(hdc);8 A+ s" h4 H1 c
SelectObject(dc, BitHandle);3 [/ D/ ]1 }! z. _9 ?
GetObject(BitHandle, sizeof(BITMAP), &bm);0 U1 b% X/ x/ i# W* j) m! H( l
BitBlt(hdc, x, y, bm.bmWidth, bm.bmHeight, dc, 0,0, SRCCOPY);5 w4 Y0 l4 S& p. u q1 ?
ReleaseDC(hwnd, hdc);
7 ]# U$ M) n) E* b2 p: S M return(0);
6 D, f+ L% _, s9 n6 L g. W}
8 L8 x+ \2 P. L( s/ Q' V3 x/* 函数调用方法: . L3 l' Q4 E' P$ L2 R+ i4 p, d; q& r
LoadBitmapFile("bitmap.bmp",50,50,hwnd);
" S7 w/ m# y9 N3 W" e3 u* q*/