win32強化練習3 3 定時器與彈球

2021-07-24 18:36:28 字數 827 閱讀 3636

已經簡單練習了鍵盤和滑鼠,接下來是定時器訊息:

所謂定時器就是在某乙個視窗設定乙個或多個鬧鐘,在鬧鐘響的時候做指定的事情。

啟動定時器:(如果第四項是null,則找wm_timer訊息處理)

定時器控制代碼定時器id時間間隔定時器處理函式指標

關閉定時器:

定時器控制代碼定時器id

這節來做乙個會在視窗中來回彈的球:

1. 球的位置:定義全域性變數gx,gy;

2. 球的方向和速度:定義全域性變數vx, vy;符號代表正向和負向,數值代表每次移動量即速度;

3. 處理wm_paint訊息,繪製乙個圓;

4. 在wm_create中開啟定時器,10ms間隔;

5. 在wm_timer中,首先獲取當前客戶區的矩形,判斷是否撞到邊框;

5. 球的位置+方向和速度,重新整理繪圖

int gx = 50,gy = 50;

int vx = 1,vy = 1; //x和y方向上的速度(可正可負)

case wm_paint:

case wm_create:

break;

case wm_timer:

break;

這個練習在判斷方向和速度上如果沒有清晰的概念很容易陷入混亂中,但如果把它和物理量的速度相結合就方便很多!

WIN32學習 定時器訊息

1 定時器訊息 可以在程式中設定定時器,當到達時間間隔時,定時器會向視窗傳送乙個wm timer訊息,定時器的精度為毫秒,但是精準度很低。2 訊息的引數 wparam 定時器id lparam 定時器處理函式的指標 3 定時器的使用步驟 a 建立定時器 uint settimer hwnd hwnd...

win32 程式中定時器的使用

1.settimer 在控制台應用程式中同樣可以用 settimer 實現定時器的效果。示例 include includeusing namespace std void callback timeproc hwnd hwnd,uint message,uint idtimer,dword dwt...

win32強化練習4 0 資源相關練習簡介

第4部分,我們對資源進行強化練習!資源簡單的講有abcdimst這幾類,這當然不包括全部,其中 a accelerator 快捷鍵 b bitmap 位圖 c cursor 游標 d dialog 對話方塊 i icon 圖示 m menu 選單 s stringtable 字串表 t 工具欄 我們...