//游戏编程的基本框架
//2016年6月19日
//描述:用代码勾勒出游戏开发所需要的程序框架
//
#include<windows.h>
#define WINDOW_WIDTH 800
#define WINDOW_HEIGHT 600
#define WINDOW_TITLE L"【游戏开发梦想】程序核心框架"
//窗口过程函数
LRESULT
CALLBACK
WndProc(
HWND
hwnd,
UINT
message,
WPARAM
wParam,
LPARAM
lParam);
int
WINAPI
WinMain
(
HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,
LPSTR
lpCmdLine, int
nShowCmd)
{
//【1】窗口创建四步曲:开始设计一个完整的窗口类
WNDCLASSEX
wndClass = { 0 };//定义一个窗口类
wndClass.
cbSize
= sizeof(
WNDCLASSEX
);//设置结构体的字节数大小
wndClass.
style
=
CS_HREDRAW
|
CS_VREDRAW
;//设置窗口的样式
wndClass.
lpfnWndProc
= WndProc;//设置指向窗口过程函数的指针
wndClass.
cbClsExtra
= 0;//窗口类的附加属性,设置为0
wndClass.
cbWndExtra
= 0;//窗口类的附加内存,设置为0
wndClass.
hInstance
= hInstance;//指定包含窗口过程的程序的实例句柄
//加载本地自定义的ico图标
wndClass.
hIcon
= (
HICON
)::
LoadImage
(
NULL
, L"Icon.ico",
IMAGE_ICON
, 0, 0,
LR_DEFAULTSIZE
|
LR_LOADFROMFILE
);
wndClass.
hCursor
=
LoadCursor
(
NULL
,
IDC_ARROW
);//指定窗口类的光标句柄。
wndClass.
hbrBackground
= (
HBRUSH
)
GetStockObject
(
GRAY_BRUSH
);//指定一个灰色画刷句柄
wndClass.
lpszMenuName
=
NULL
;//字符串,指定菜单资源的名字
wndClass.
lpszClassName
= L"ForTheDreamOfGameDevelop";//窗口类的名字
//【2】窗口创建四步曲,注册窗口类
if (!
RegisterClassEx
(&wndClass))//设计后,需要对窗口进行注册,才能创建该类的窗口
return -1;