Google

2007年9月4日火曜日

PopClock作成の軌跡~その2

続いてその2

Windowsプログラム。イベントに対応して処理をする・・・なわけですが、
今作ろうとしているのは、決まった時間間隔で繰り返し処理を行う必要がある、と。

繰り返し処理としてタイマー関数を使いました。
初期処理部分にSetTimer関数を置くと、指定した間隔でWM_TIMERイベントが発生するんですな。
で、WM_TIMER内に繰り返し処理を記述です。

繰り返す内容としては、基本的には画像の描画処理になります。
表示すべき位置を計算した後、画像の表示処理を行う、と。

というわけで、描画の基本となるわけですが、
描画を行うのはこれもイベント発生に応じて行うことになりまして、WM_PAINTイベント内で記述することになります。
簡単に書くと、
// 描画処理イベント時に
case WM_PAINT: {
// 描画開始
hdc = BeginPaint(hWnd, &ps);
// 描画処理書いて
(色々)
// 描画終了
EndPaint(hWnd, &ps);
} break;

で、この描画開始終了関数間にテキスト書いたりとか、図形描いたりとか、画像貼り付けたりとかするわけです。
ちなみに、WM_PAINTイベントを発生させるのにWM_TIMERイベント内で、InvalidateRect関数とUpdateWindow関数を順に呼んでおります。

描画処理の中身については次っ。

0 件のコメント: