一.定时器
启动定时器
UINT_PTR SetTimer(HWND hWnd,UINT_PTR nlDEvent,
UINT uElapse,TIMERPROC lpTimerFunc)
返回值:成功返回非零
参数1:窗口句柄hWnd
参数2:定时器ID
参数3:间隔时间,毫秒
参数4:处理函数的地址,如果为NULL则定时产生WM_TIMER消息
关闭定时器
BOOL KillTimer(HWND hWnd,UINT_PTR ulDEvent);
返回值:成功返回非0,失败返回0
二.键盘消息
case WM_KEYDOWN:
switch(wParam){
case VK_RETURN:
OnReturn(hWnd);
break;
case VK_LEFT:
break;
case VK_RIGHT:
break;
case VK_UP:
break;
case VK_DOWN:
break;
}
break;
void OnReturn(HWND hWnd){SetTimer(hWnd,N_TIMER,T_TIMER,NULL);}
case WM_DESTROY:KillTimer(hWnd,N_TIMER);PostQuitMessage(0);break;
三.方块下落
void SquareDown(){ int i = 0; int j = 0; for(i=G_ARR_ROW-2;i>=0;i--) { for(j=0;j<G_ARR_RANK;j++) { if(1==g_arrBackGround[i][j]) { g_arrBackGround[i+1][j] = g_arrBackGround[i][j]; g_arrBackGround[i][j] = 0; } } }
}
void OnTimer(HWND hWnd){
//获取DC
HDC hDC = GetDC(hWnd);
// 方块下落
SquareDown();
// 显示方块
OnPaint(hDC);
//释放DC
ReleaseDC(hWnd,hDC);}