ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MFC로 좌표때려박기로 구현
    공부/과거 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();

    }

    댓글

Designed by Tistory.