CreateCompatibleDCでコミットチャージが増加する – プログラミング – Home

通知
すべてクリア

[解決済] CreateCompatibleDCでコミットチャージが増加する


bb
 bb
(@bb)
ゲスト
結合: 20年前
投稿: 18
Topic starter  

VC++ 6.0 WindowsXP
下記のプログラムを繰り返すと、コミットチャージが増加してしまいます。
どうやらCreateCompatibleDC()がうまく破棄できないことが原因のようです。
ためしに、この行をコメントアウトすると同現象は起きません。
どなたかアドバイスをお願いします。

{
 CDC* mDC = this->GetDC();
CClientDC dc( this );

mDC->CreateCompatibleDC( &dc );
CBitmap *pBmp = mDC->SelectObject( CBitmap::FromHandle( m_hbBitmap ) );
dc.BitBlt(0, 0, IMAGESIZE_AD_X, IMAGESIZE_AD_Y, mDC, 0, 0, SRCCOPY);
mDC->SelectObject( pBmp );

pBmp->DeleteObject();
mDC->DeleteDC();
ReleaseDC( mDC );
}


引用未解決
トピックタグ
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

>CDC* mDC = this->GetDC();

CDC mDC;

でよいのでは?

>ReleaseDC( mDC );
も不必要になりそう。


返信引用
bb
 bb
(@bb)
ゲスト
結合: 20年前
投稿: 18
Topic starter  

Blue様 ありがとうございました。
正常に動作ができ、解決です。
この理由については、この後勉強したいと思います。
朝早くからありがとうございました。御礼申し上げます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました