次の方法で共有


CWinThread::OnIdle

アイドル処理を行う場合は、このメンバー関数をオーバーライドします。

virtual BOOL OnIdle(
   LONG lCount 
);

パラメーター

  • lCount
    スレッドのメッセージ キューが空のときに OnIdle 関数が呼び出されると、そのたびに増加されるカウンター。 このカウンターは、新しいメッセージが処理されるたびに 0 にリセットされます。 パラメーター lCount を使うと、スレッドがメッセージを処理せずにアイドル状態になっている時間の相対的な長さを調べることができます。

戻り値

さらにアイドル処理時間が必要な場合は 0 以外を返します。アイドル処理時間が必要ない場合は 0 を返します。

解説

スレッドのメッセージ キューが空だと、既定のメッセージ ループで OnIdle 関数が呼び出されます。 独自のバックグラウンド アイドル処理を呼び出すには、自身でオーバーライドした関数を使用します。

OnIdle 関数は、これ以上のアイドル処理時間を必要としないことを示すために 0 を返します。 パラメーター lCount は、メッセージ キューが空のときに OnIdle 関数が呼び出されるたびに増分され、新しいメッセージが処理されるたびに 0 にリセットされます。 このカウントに基づいて、別のアイドル処理ルーチンを呼び出すことができます。

このメンバー関数の既定の実装では、一時オブジェクトや未使用のダイナミック リンク ライブラリがメモリから解放されます。

このメンバー関数は、ユーザー インターフェイス スレッドでだけ使用されます。

OnIdle 関数から戻るまでアプリケーションはメッセージを処理できないので、この関数で長い処理を行わないようにしてください。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CWinThread クラス

階層図

CWinApp::OnIdle

その他の技術情報

CWinThread のメンバー