공부/과거

MFC로 좌표때려박기로 구현

Im_꿀통 2013. 10. 1. 00:36
반응형

이번에 레포트 자료로 MFC자율과제로 아무거나 그려오라해서 무엇을 그릴까 고민을하다가...

페북에서 아주아주아주아~주 쓸만한 그림하나를 발견!!


바로 이사진이다!!

아주 심플하고 간단하다고 생각해서 바로 구현해보기로 해봄..허접하지만..

 소스코드는 다각형 그리는  키워드를 이용



void C연습용MFView::OnDraw(CDC* pDC)

{

C연습용MFDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

if (!pDoc)

return;

 

 

// TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다.

CBrush backBrush(RGB(255, 255, 0));

CBrush* tOldBrush = pDC->SelectObject(&backBrush);

CRect rect; pDC->GetClipBox(&rect);

pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);

pDC->SelectObject(tOldBrush);

 

 

CBrush solidBKBrush;

CBrush solidYLBrush;

CBrush* pOldBrush;

 

solidBKBrush.CreateSolidBrush(RGB(0, 0, 0));

solidYLBrush.CreateSolidBrush(RGB(255,255,0));

 

pOldBrush = pDC->SelectObject(&solidBKBrush);

 

pDC->Ellipse(300,100,400,200);

pDC->Ellipse(150,250,250,350);

 

pDC->SetBkColor(RGB(255,255,0));

 

POINT brPt[12] = {{140,500},{200,500},{400,210},{460,210},{660,500},{720,500},

{720,540},{620,540},{520,400},{340,400},{240,540},{140,540}};

pDC->Polygon(brPt,12);

 

solidBKBrush.DeleteObject();

 

pOldBrush = pDC->SelectObject(&solidYLBrush);

 

pDC->SetBkColor(RGB(255,255,0));

POINT arPt[3] = {{425,270},{365,360},{485,360}};

pDC->Polygon(arPt,3);

pDC->SelectObject(pOldBrush);

solidYLBrush.DeleteObject();

}