タイマーについては以下ページにて使い方が説明されています。
http://www.hi-ho.ne.jp/hawk/mfc0401.html#timer
基本的にはウィンドウプロシージャ内でタイマーが投げるメッセージを受けとり、パラパラアニメのように描画すればアニメーションに見えます。
ただ、基本的に再描画はWM_PAINTが呼ばれたとき行うべきです。
これを実現する方法としては描画用のバッファ内にビットマップを書き込み、OnPaint()内で描画用バッファを実際にウィンドウに書き出すという方法か、表示領域を決める処理をOnPaint()内で行うのが一般的。
ゲームではちらつきを押さえるため前者が一般的ですが、ビットマップ1枚ならちらつきは出ないはずなので、座標計算のみタイマ内で行い、表示の時にその座標を使うというのがベストかと(WM_PAINTは他からも呼ばれる可能性があるから)
どちらにしてもOnPaint()内で描画を行うならタイマに制御が来たとき、座標計算やバックバッファへの書き込みをしてから、CWnd::InvalidateRect()を呼んでWM_PAINTが呼ばれるタイミングを作る必要があります。
他にも方法があったら・・・とのことですので一応書いておくと、ゲームだとメッセージループで処理してる事が多いです。
これはスピードを取るためで、この方法を使うアプリケーションはCPU使用率がかなり高めになります。
あまり高速な処理を求めないなら出来るだけタイマによる処理を選ぶべきです。