SetTimerは、タイマーをセットするWindowsAPI・・・。
第3引数に、タイマーによるイベントが発生する時間をミリ秒で指定すると、その時間ごとにウィンドウメッセージWM_TIMERが発生し、そこで特定の処理をすることができる・・・。
また、第4引数にコールバック関数を渡して、タイマーによるイベント時にそれを処理するという方法もある・・・。
今回は、メニューを用意し、[Timer1]-[Start]を選択したら、下に表示された数字が0から1秒ずつ1カウントされていくような処理を作る・・・。
resource.hは、
どのタイマーかを識別するためのID、ID_TIMER1を定義・・・。
そして、SetTimer.rcは、
と[Timer1]、その下に[Start]というメニュー項目を作る・・・。
SetTimer.cppのWM_COMMANDで、
[Start]が選択されたら、第2引数にID_TIMER1、第3引数に1000(ミリ秒)を指定してSetTimer・・・。
これで1秒ごとにWM_TIMERが発生する・・・。
WM_TIMERは、
1秒ごとにカウントするスタティック変数countを1増やす・・・。
そして、InvalidateRectで画面を更新・・・。
WM_PAINTは、
countの値を文字列にして、TextOutで描画・・・。
実行すると、
最初は0、
[Start]を選択・・・。
1秒ごとに1増えていくのがわかる・・・。
Sample/SetTimer.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/SetTimer.rc at master · bg1bgst333/Sample · GitHub