机械时钟转动的程序

 

   关于时间的几个api

 

 

 
  
  1. case   WM_TIMER : 
  2.  
  3.     GetLocalTime (&st) ;  
  4.     fChange =st.wHour!=stPrevious.wHour||st.wMinute!=stPrevious.wMinute;  
  5.      
  6.  
  7.     InvalidateRect(hWnd,NULL,true); 
  8.     UpdateWindow(hWnd); 
  9.  
  10.     char str1[10]; 
  11.     char str2[10]; 
  12.     char str3[10]; 
  13.     memset(str1,'0',10); 
  14.     memset(str2,'0',10); 
  15.     memset(str3,'0',10); 
  16.      
  17.  
  18.     hdc = GetDC (hWnd); 
  19.      
  20.     wsprintf(str1," 小时:%d",st.wHour); 
  21.     wsprintf(str2," 分   :%d",st.wMinute); 
  22.     wsprintf(str3," 秒   :%d",st.wSecond); 
  23.     TextOut(hdc,10,10,str1,strlen(str1)); 
  24.     TextOut(hdc,10,30,str2,strlen(str2)); 
  25.     TextOut(hdc,10,50,str3,strlen(str3)); 
  26.  
  27.  
  28.     SetIsotropic(hdc, cxClient, cyClient); 
  29.     SelectObject (hdc, GetStockObject (WHITE_PEN)) ;  
  30.     DrawHands (hdc, &stPrevious, fChange); 
  31.     SelectObject (hdc, GetStockObject (BLACK_PEN)) ; 
  32.     DrawHands (hdc, &st, TRUE) ; 
  33.     ReleaseDC (hWnd, hdc) ; 
  34.  
  35.     if ( st.wMinute == 0 && st.wSecond == 0) 
  36.     { 
  37.         MessageBox(hWnd,str1,"定时",0); 
  38.     } 
  39.  
  40.     stPrevious = st ; 
  41.        return 0 ;