CWnd::OnPaintの不思議

ダイアログベースのアプリで、ダイアログ内にCWndから派生したウィンドウと、タブコントロールが貼り付けてあるんですが、タブを切り替えてもなぜか内容が表示されないバグに悩まされました。二度クリックすると表示されます。ちなみに、タブコントロール云々の詳細は、しばらく前に日記で書いたやつです。色々とソース書き換えてみたところ、なんだかCWnd派生クラスのOnPaint内でCPaintDCクラスのインスタンスを作らなかったことに原因があるようです。とても謎なバグでした。要するに、BeginPaintとEndPaintが必要ということなんだとは思いますが。ちなみに、CWnd派生クラスは、Direct3Dの表示先になってるので、CPaintDCなんか使う必要はないです。というわけで、{CPaintDC dc(this);}とか書いてインスタンスを即死させておきました。