タイマー処理クラス
[詳解]
#include <TnbTimerDispatch.h>
タイマー処理クラス
指定の時間間隔ごとに処理をさせることが出来ます。
- 覚え書き
- 処理は、リスナーを実装したクラスを登録するか、本クラスを継承し OnTimer() をオーバーライドします。(推奨は前者)
-
リスナー内で SendMessage を使う場合、 ReferThreadStatus() で
関連ウィンドウ
を指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。
- 必要ファイル
- TnbTimerDispatch.h
- 日付
- 06/08/03 新規作成
-
06/10/25 OnSetup() メソッド追加。
-
10/03/19 ReferThreadStatus() 追加。
-
19/06/10 OnSetup() メソッドが機能していなかったのを修正。
TnbTimerDispatch.h の 42 行目に定義があります。
◆ CTimerDispatch()
◆ ~CTimerDispatch()
◆ KillTimer()
bool KillTimer |
( |
UINT_PTR |
uTimerId | ) |
const |
[設定] タイマー破棄
- 引数
-
- 戻り値
-
true | 成功。(不正な タイマーIDを指定しても成功になります) |
false | 失敗。( スレッドが動いていない) |
TnbTimerDispatch.h の 252 行目に定義があります。
◆ OnTimer()
virtual bool OnTimer |
( |
UINT_PTR |
uTimerId, |
|
|
LPARAM |
lParam |
|
) |
| |
|
virtual |
[通知] タイマー発生.
SetTimer() で指定した時間が経過するとコールされます。 KillTimer() するまで、 定期的にコールされます。
- 覚え書き
- リスナーを登録しないと、タイマー発生時このメソッドがコールされます。 本クラスを継承し、本メソッドを継承することでも、処理が実装できます。 (リスナーを使用するほうを推奨します)
- 引数
-
- 戻り値
-
TnbTimerDispatch.h の 282 行目に定義があります。
◆ ReferThreadStatus()
◆ SetListener()
◆ SetTimer()
UINT_PTR SetTimer |
( |
UINT |
uElapse, |
|
|
LPARAM |
lParam = 0 |
|
) |
| const |
◆ Start()
bool Start |
( |
LPCTSTR |
lpszName = NULL | ) |
|
[設定] スレッド開始
- 引数
-
lpszName | スレッドの名前(DEBUG以外では無視されます) |
- 戻り値
-
true | 成功。 |
false | 失敗(スレッド起動失敗/既にスレッド実行中) |
TnbTimerDispatch.h の 206 行目に定義があります。
◆ Stop()
[設定] スレッド停止
- 戻り値
-
true | 成功(スレッドを開始していない時やTerminateした時も成功としています) |
false | 失敗(リスナースレッド内で Stop() を使用すると失敗します) |
TnbTimerDispatch.h の 219 行目に定義があります。