CDCオブジェクトの作成について
// あまり意味はないのですが、
//CDCのオブジェクトを宣言して、
//そこへ図形を描画して、
//クライエント領域にBitBltするときは、
//どうすればいいですか?
//CreateCompatibleDCが関係していると思っています。
//ですが、上手く描画できません。
//教えてください、
//お願いします。
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);
for(int i=0;i<100;i++)
{
for(int j=0;j<100;j++)
{
imageDC.SetPixel(i,j,RGB(128,0,0));
}
}
oldpen=imageDC.SelectObject(&pen);
imageDC.Rectangle(50,50,400,300);
pDC->BitBlt(0,0,600,600,&imageDC,0,0,SRCCOPY);
imageDC.SelectObject(oldpen);
//////////////////////////////////////////////////////
}
お礼
UpdateAllViews() を使えばよいことが分かり、本当に助かりました!! 私の場合 UpdateAllViews(NULL) とすることで所望の機能を実現できました。 本当に助かりました。