#pragma once #include // CMMTimer command target class CMMTimer : public CObject { public: CMMTimer(); virtual ~CMMTimer(); //タイマーの設定 UINT_PTR SetTimer(UINT uDelay,LPTIMECALLBACK lpTimeCallBack=0,DWORD_PTR dwUser=0,UINT fuEvent=TIME_PERIODIC); //インターバルタイマーの設定 UINT_PTR SetIntervalTimer(UINT uDelay,LPTIMECALLBACK lpTimeCallBack=0,DWORD_PTR dwUser=0); //マルチメディアタイマーの停止 void KillTimer(); protected: //スタティックタイマーイベント処理 static void __stdcall StaticOnTimer(UINT uTimerID,UINT uMsg,DWORD_PTR dwUser, DWORD_PTR dw1,DWORD_PTR dw2); //マルチメディアタイマーイベント関数 //このクラスを基底クラスとして継承した派生クラスで、 //タイマー起動時にユーザー定義のコールバック関数を指定しない場合は、 //この関数をオーバーライドしてタイマーイベントを処理して下さい。 virtual void OnTimer(); public: TIMECAPS m_TimeCaps; //最大/最小タイマー分解能を格納した構造体 UINT m_uTimerID; //タイマーID private: BOOL m_bKillTimer; //タイマーの破棄フラグ BOOL m_bDestruct; //デストラクターが呼び出された。 };