//-----------------------------------【WndProc( )函数】--------------------------------------
//	描述:窗口过程函数WndProc,对窗口消息进行处理
//------------------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )      
{
	PAINTSTRUCT paintStruct;			//定义一个PAINTSTRUCT结构体来记录一些绘制信息

	switch( message )						//switch语句开始
	{
	case WM_PAINT:						// 若是客户区重绘消息
		g_hdc = BeginPaint( hwnd, &paintStruct );  //指定窗口进行绘图工作的准备,并用将和绘图有关的信息填充到paintStruct结构体中。
		Game_Paint( hwnd);
		EndPaint( hwnd, &paintStruct );			//EndPaint函数标记指定窗口的绘画过程结束
		ValidateRect(hwnd, NULL);		// 更新客户区的显示
		break;									//跳出该switch语句

	case WM_KEYDOWN:					// 若是键盘按下消息
		if (wParam == VK_ESCAPE)    // 如果被按下的键是ESC
			DestroyWindow(hwnd);		// 销毁窗口, 并发送一条WM_DESTROY消息
		break;									//跳出该switch语句

	case WM_DESTROY:					//若是窗口销毁消息
		Game_CleanUp(hwnd);			//调用自定义的资源清理函数Game_CleanUp()进行退出前的资源清理
		PostQuitMessage( 0 );			//向系统表明有个线程有终止请求。用来响应WM_DESTROY消息
		break;									//跳出该switch语句

	default:										//若上述case条件都不符合,则执行该default语句
		return DefWindowProc( hwnd, message, wParam, lParam );		//调用缺省的窗口过程
	}

	return 0;									//正常退出
}
Exemple #2
0
//-------------------------------------【 WndProc() 函数 】---------------------------------------------------------------
// 描述:窗口的过程函数,对窗口消息进行处理
//------------------------------------------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	PAINTSTRUCT paintStruct;	//记录一些绘制信息

	switch (message)
	{
	case WM_PAINT:	//若是客户区域重绘信息
		g_hdc = BeginPaint(hwnd, &paintStruct);		//指定窗口进行绘图工作的准备,并将和绘图有关的信息填充到 paintStruct 结构体中去。
		Game_Paint(hwnd);
		EndPaint(hwnd, &paintStruct);	//标记指定窗口绘图工作的结束
		ValidateRect(hwnd, NULL);	//更新客户区的显示
		break;
	case WM_KEYDOWN:	//若是键盘按下消息
		if (wParam == VK_ESCAPE)	//若是按下的键是 ESC
		{
			DestroyWindow(hwnd);	//销毁窗口,并发送一条 WM_DESTORY 消息
		}
		break;
	case WM_DESTROY:	//若是窗口的销毁消息
		Game_CleanUp(hwnd);
		PostQuitMessage(0);		//向系统表明有个线程有终止请求,用来响应 WM_DESTORY 请求
		break;
	default:
		return DefWindowProc(hwnd, message, wParam, lParam);
	}

	return 0;	//正常退出
}
//-----------------------------------【WndProc( )函数】--------------------------------------
//	描述:窗口过程函数WndProc,对窗口消息进行处理
//------------------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )      
{

	switch( message )						//switch语句开始
	{
	case WM_KEYDOWN:					//按键消息
		if(wParam==VK_ESCAPE)		//按下【Esc】键
			PostQuitMessage(0);
		break;

	case WM_DESTROY:					//若是窗口销毁消息
		Game_CleanUp(hwnd);			//调用自定义的资源清理函数Game_CleanUp()进行退出前的资源清理
		PostQuitMessage( 0 );			//向系统表明有个线程有终止请求。用来响应WM_DESTROY消息
		break;									//跳出该switch语句

	default:										//若上述case条件都不符合,则执行该default语句
		return DefWindowProc( hwnd, message, wParam, lParam );		//调用缺省的窗口过程
	}

	return 0;									//正常退出
}