• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CDCオブジェクトの作成について)

CDCオブジェクトの作成について

このQ&Aのポイント
  • CDCオブジェクトを使った図形の描画方法について教えてください。
  • CreateCompatibleDC関数を使用してCDCオブジェクトを作成し、図形を描画した後にクライアント領域にBitBltする方法を教えてください。
  • このコードでは、CDCオブジェクトとCreateCompatibleDC関数を使用して図形を描画し、BitBlt関数を使用してクライアント領域に描画していますが、うまく描画されません。どうすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

こちらを参照 http://www.expertmg.co.jp/html/cti/vctips/others.htm#仮想画面で高速描画

参考URL:
http://www.expertmg.co.jp/html/cti/vctips/others.htm#仮想画面で高速描画
thulala
質問者

お礼

回答ありがとうございました。 一応以下のようにする事で出来ました。 void CProject1View::OnDraw(CDC* pDC) { CProject1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; ////////////////////////////////////////////////////// CDC imageDC; CPen pen,*oldpen; pen.CreatePen(PS_SOLID,3,RGB(255,0,0)); imageDC.CreateCompatibleDC(pDC); CBitmap bmp; bmp.CreateCompatibleBitmap(pDC,600,600); imageDC.SelectObject(&bmp); for(int i=0;i<100;i++) { for(int j=0;j<100;j++) { imageDC.SetPixel(i,j,RGB(0,0,255)); } } oldpen=imageDC.SelectObject(&pen); imageDC.Rectangle(50,50,400,300); imageDC.Ellipse(100,100,600,600); pDC->TransparentBlt(0,0,600,600,&imageDC,0,0,600,600,RGB(0,0,0)); imageDC.SelectObject(oldpen); ////////////////////////////////////////////////////// }