WM_TIMERではなく、SetTimerにコールバック関数をセットして、そこでタイマーイベントの処理を実行することもできる・・・。
コールバック関数TimerProcについては以下を参照のこと・・・。
2つのタイマーを用意して、カウントするペースを変えてみる・・・。
resource.hは
ID_TIMER1, ID_TIMER2, と2つのタイマーIDを用意・・・。
TimerProc.rcは、
メニューの[Timer1]-[Start]と、[Timer2]-[Start]を用意・・・。
TimerProcは1つ・・・。
countとcount2というカウントするスタティック変数は2つ・・・。
メニューTimer1(ID_ITEM_TIMER1_START)のStartを選択されたら、1000ミリ秒(1秒)でID_TIMER1をセット・・・。
メニューTimer2(ID_ITEM_TIMER2_START)のStartを選択されたら、10000ミリ秒(10秒)でID_TIMER2をセット・・・。
どちらも第4引数のコールバック関数はTimerProcでいい・・・。
TimerProcは、
idEventで、どのタイマーIDのイベントが発生したかわかるので、それで振り分ける・・・。
ID_TIMER1ならcount、ID_TIMER2ならcount2を増やす・・・。
カウントを増やしたら、画面を更新・・・。
WM_PAINTで、それぞれのカウントを表示・・・。
ちなみにWM_TIMERは、
何もしていない・・・。
最初この状態で、
Timer1をStart・・・。
上の数値が1秒ずつカウントされる・・・。
上が10となったところで、Timer2をStart・・・。
Timer2は、Timer1が10の時に開始で10秒ごとなので、Timer1が20の時の途中で1になる・・・。
(ここでは21の時は確実に1なので、そこでスクリーンショットを撮っている・・・。)
Timer1は1秒ごと、Timer2は10秒ごとに発生していることがわかる・・・。
Sample/TimerProc.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/TimerProc.rc at master · bg1bgst333/Sample · GitHub