//-----------------------------------【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; //正常退出 }
//-------------------------------------【 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; //正常退出 }