• 締切済み

CreateCompatibleDCが返した値の開放

hdc = CreateCompatibleDC( GetDC(hWnd) ); //色々な条件による処理 SelectObject( hdc, hbitmap ); //hdcを使った処理 DeleteDC( hdc ); というソースで、「色々な条件による処理」によって処理を中止する場合 つまり、SelectObject()は実行していないけど、CreateCompatibleDC()は 実行済みの場合、DeleteDC(hdc);は必要ですか? もし必要でない場合、DeleteDC(hdc);を実行してはいけないですか?

みんなの回答

noname#30727
noname#30727
回答No.1

CreateCompatibleDC で DC を作成したら、DeleteDC は必用です。 ただし、DeleteDC をする前に、SelectObject で変更したものを全て元に戻さないと DeleteDC が失敗することがあったと記憶しています。

A__
質問者

お礼

ありがとうございます。 別の話で、元ソースの1行目がいけないことをしていました。 これではGetDC(hWnd)の開放ができません。

関連するQ&A

専門家に質問してみよう