掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SetTimerを使用して一定時間後にコールバック関数を呼ぶには? (ID:71227)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
static メンバー経由でもできますね。 ただしインスタンスは1こしか許されないけど(^^;)。 class Freq { protected: UINT_PTR m_Timer_ID; // タイマーID public: // タイマーのの開始 void TimerStart() { // static のタイムアウト関数にthisを渡す f_TimeOut(( HWND)( -1), 0, ( UINT_PTR)this, 0); // タイマーを開始する m_Timer_ID = ::SetTimer( NULL, 0, 1000_sec, ( TIMERPROC)f_TimeOut); } // static のタイマーコールバック protected: static VOID CALLBACK f_TimeOut( HWND hwnd, UINT uMsg, // WM_TIMER メッセージ UINT_PTR idEvent, // タイマの識別子 DWORD dwTime) // 現在のシステム時刻 { static Freq * st_Instance; if( ( int)hwnd == -1){ st_Instance = ( Freq *)idEvent; return; } st_Instance->Inst_TimeOut(); // インスタンスのタイマーコールバックを呼ぶ } // インスタンスのタイマーコールバック void Inst_TimeOut() { // ここに来る } };
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.