首頁>科技>

以前一直不懂,人怎麼會依賴一支香菸,後來才明白,在一個人感到煩惱無助的時候,那手指上的一點點光真的很溫暖。。。

---- 網易雲熱評

一、先在視窗畫一個圓

//定義圓的直徑和座標#define 直徑 100int g_x = 100;int g_y = 100;​​case WM_PAINT:              繪圖(hWnd);              break;​​void 繪圖(HWND hWnd){       PAINTSTRUCT p = { 0 };//建立畫筆       HDC hdc = BeginPaint(hWnd, &p);       Ellipse(hdc, g_x, g_y, g_x + 直徑, g_y + 直徑);       EndPaint(hWnd, &p);}

二、建立定時器

case WM_CREATE://建立定時器              SetTimer(hWnd, 10001, 10, NULL);              break;

三、設定定時器的操作

int 左往右 = 1;int 右往左 = 0;int 上往下 = 1;int 下往上 = 0;case WM_TIMER:              定時器視窗處理(hWnd, wParam);              break;void 定時器視窗處理(HWND hWnd, WPARAM wParam){       if (wParam==10001)       {              //獲取當前客戶區空間,20毫秒獲取一次,因為視窗隨時變化              RECT rc = {0};              GetClientRect(hWnd, &rc);              //如果移動到下面邊緣,就往上走              if (g_y >= rc.bottom -  直徑)              {                     下往上 = 1;                     上往下 = 0;              }              //如果移動到上面邊緣,就往下走              if (g_y <= rc.top)              {                     下往上 = 0;                     上往下 = 1;              }              //如果移動到右面邊緣,就往左走              if (g_x >= rc.right - 直徑)              {                     右往左 = 1;                     左往右 = 0;              }              //如果移動到左面邊緣,就往右走              if (g_x <= rc.left)              {                     右往左 = 0;                     左往右 = 1;              }              if (左往右)              {                     g_x++;              }              if (右往左)              {                     g_x--;              }              if (上往下)              {                     g_y++;              }              if (下往上)              {                     g_y--;              }              InvalidateRect(hWnd, NULL, FALSE);       }}

執行結果:

8
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 蘋果和起亞的合作伙伴,你知道嗎?