使用C語言實現動態畫矩形

最近又把《windows程序開發 第5版》從新拾起來了,以前也學了一段時間,不過老是堅持不下去。呵呵,感受太枯燥,一個很簡單的功能要寫一堆代碼。不過要想了解底層的東西,使用C開發Windows程序是個不錯的選擇。windows

這兩天看到了GDI部分,今日就嘗試使用C語言繪製個矩形。ide

1.程序原理:使用C調用Windows的GDI函數,並使用定時器實現了動態的效果。函數

2.程序截圖spa

 

3.程序使用vc6開發。blog

4.源碼截圖開發

  
  
  
  
  1. VOID CALLBACK myTimerProc (  HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)     
  2. {  
  3.     HDC hdc = GetDC(hwnd);  
  4.       
  5.     while(x<160)  
  6.     {  
  7.         SetPixel(hdc, x, 60, RGB(255,0,0));  
  8.         x++;  
  9.  
  10.         setPos(hwnd, x, 60);  
  11.           
  12.         if(x%3==0)  
  13.             break;  
  14.     }  
  15.  
  16.     if(x==160)  
  17.     {  
  18.         while(y<200)  
  19.         {  
  20.             SetPixel(hdc, x, y, RGB(255,0,0));  
  21.             y++;  
  22.               
  23.             setPos(hwnd, x, y);  
  24.  
  25.             if(y%3==0)  
  26.                 break;  
  27.         }  
  28.     }  
  29.  
  30.     if(x==160 && y==200)  
  31.     {  
  32.         while(z>20)  
  33.         {  
  34.             SetPixel(hdc, z, y, RGB(255,0,0));  
  35.             z--;  
  36.  
  37.             setPos(hwnd, z, y);  
  38.  
  39.             if(z%3==0)  
  40.                 break;  
  41.         }  
  42.           
  43.     }  
  44.  
  45.     if(x==160 && y==200 && z==20)  
  46.     {  
  47.         while(k>60)  
  48.         {  
  49.             SetPixel(hdc, 20, k, RGB(255,0,0));  
  50.             k--;  
  51.  
  52.             setPos(hwnd, 20, k);  
  53.  
  54.             if(k%3==0)  
  55.             {  
  56.                 break;  
  57.             }  
  58.                   
  59.         }  
  60.     }  
  61.  
  62.     ReleaseDC(hwnd, hdc);  

源碼連接以下,感興趣能夠下載。get

歡迎你們批評指正。源碼

相關文章
相關標籤/搜索