#包含“resource.h”
# include & ltatlimage.h & gt//CImage的頭文件
# include & ltstring.h & gt
# include & ltstdio.h & gt
#定義MAX_ARRAY 50
////全局變量////
tchar sztlitlename[max _ array]= text(" game ");////標題
TCHAR SZ class name[MAX _ ARRAY]= TEXT(" SZ class name ");////類名
tchar szreclaerror[max _ array]= text("窗口註冊失敗!");
HDC BGbmpDC = NULL
hbit map bgb MP 1 = NULL;
HBITMAP BGbmp2 = NULL
LRESULT回調MyWndPoc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(h instance h instance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{
HWND hWnd
MSG消息;
/////定義窗口類////
WNDCLASS wndclass
wnd class . cbclsextra = 0;
wnd class . cbwndextra = 0;
wnd class . HBR background =(HBRUSH)GetStockObject(BLACK _ BRUSH);
wnd class . hcursor = load cursor(h instance,IDC _ ARROW);
wnd class . hicon = load icon(h instance,IDI _應用);
wnd class . h instance = h instance;
wndclass.lpfnWndProc = MyWndPoc
wnd class . lpsz class name = SZ class name;
wndclass.lpszMenuName = NULL
wnd class . style = CS _ HREDRAW | CS _ VREDRAW;
////註冊窗口類////
如果(!register class(& amp;wndclass))
{
MessageBox(NULL,szReClaError,szClassName,MB _ icon error);
}
/////創建壹個窗口類////
hWnd = CreateWindow(szClassName,
szTitleName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
414,
460,
空,
空,
hInstance,
NULL);
HDC window DC = GetDC(hWnd);
BGbmpDC = CreateCompatibleDC(windowDC);
//bgb MP 1 = CreateCompatibleBitmap(windowDC,414,460);
bgb MP 2 =(hbit map)LoadImage(h instance,MAKEINTRESOURCE(IDB_BG),IMAGE_BITMAP,0,0,
/* LR _ LOADFROMFILE | */LR _ CREATEDIBSECTION);
//SelectObject(BGbmpDC,bgb MP 2);
// BitBlt(BGbmpDC,0,0,414,460,windowDC,0,0,SRCCOPY);
////顯示更新窗口////
ShowWindow(hWnd,nShowCmd);
更新窗口(hWnd);
////消息循環////
while (1)
{
if(PeekMessage(& amp;messag,NULL,0,0,PM_REMOVE))
{
if (WM_QUIT==messag.message)
{
PostQuitMessage(0);
打破;
}
翻譯消息(& ampmessag);
dispatch message(amp;messag);
}
}
return(int)messag . wparam;
}
////窗口過程函數////
LRESULT回調MyWndPoc(HWND hWnd,UINT消息,WPARAM wParam,LPARAM lParam)
{
HDC hdc
PAINTSTRUCT ps
RECT矩形;
開關(消息)
{
案例WM_CREATE:
打破;
案例WM_PAINT:
hdc = begin paint(hWnd & amp;PS);
SelectObject(BGbmpDC,bgb MP 2);
BitBlt(hdc,0,0,414,460,BGbmpDC,0,0,SRCCOPY);
面漆(hWnd & amp;PS);
ReleaseDC(hWnd,hdc);
返回0;
打破;
案例WM_KEYDOWN:
開關(wParam)
{
案例VK _ numpa 1:
MessageBox(hWnd,szTitleName,szTitleName,MB _ OK);
打破;
案例VK _越獄:
PostQuitMessage(0);
打破;
}
打破;
案例WM_DESTROY:
PostQuitMessage(0);
打破;
默認值:
返回DefWindowProc(hWnd,message,wParam,lParam);
打破;
}
}