読者です 読者をやめる 読者になる 読者になる

OnIdle

アイドル処理OnIdleを実装する・・・。

オリジナルと同じ・・・。

ウィンドウハンドルは、InitInstance内で取得し、OnIdleで使うので、グローバル変数g_hWndに格納する・・・。

InitInstance内のCreateWindowで作成したウィンドウのハンドルをg_hWndに格納・・・。

OnIdleでは、TextOutで引数lCountの値を表示している・・・。
ここで、デバイスコンテキストhDCが必要なので、g_hWndを使ってGetDCでhDCを取得している・・・。

Run内で、PeekMessageでメッセージが来ていないとき、OnIdleを呼ぶ・・・。
戻り値がTRUEなら、OnIdleに渡すlCountを増やし続ける・・・。
今回はFALSEにはならないので増え続ける・・・。
ウィンドウメッセージが来たら、lCountを0にリセットする・・・。

実行すると、

f:id:BG1:20150503222031p:plain

lCountが増え続ける・・・。
マウスを動かすと、ウィンドウメッセージが発生し、リセットされるので、また0からのスタート・・・。

https://github.com/bg1bgst333/Test/blob/master/winapi/OnIdle/OnIdle/src/OnIdle/OnIdle/WinMain.cpp