CDialogEx 備忘録続き
CDialogExクラスのvoid SetBackgroundImage(HBITMAP hBitmap, BackgroundLocation location, BOOL bAutoDestroy, BOOL bRepaint);とBOOL SetBackgroundImage(UINT uiBmpResId, BackgroundLocation location, BOOL bRepaint);を使用して、背景画を描画したのち画像をクリアする方法がMSDNの記述では分かりずらいのでソースを確認した結果をメモしておきます。この2つのオーバーロード関数の違いは前者がビットマップオブジェクトを直接指定指定で後者はリソースIDでの指定です。ソースをみると、後者はリソースからビットマップオブジェクトを作成後に前者の関数を呼び出しています。クリアする方法は、 SetBackgroundImage(NULL);です。オーバーロード関数なので、戻り値を取らない場合,解釈があいまいになるので、このままではコンパイラに怒られます。 SetBackgroundImage((HBITMAP)NULL); か、 SetBackgraoudImage((UINT)NULL);とやれば、クリアされます。(第2パラメータ以降はデフォルト値でOK)