IT Note/기타언어

[MFC] Graphic 출력

seunggwon 2008. 11. 24. 14:26

 왼쪽 마우스 클릭 시,  View에 꽉 찬 타원 그리기 
1. View에서 WM_LBUTTONDOWN의 handler 추가
2. CClientDC 생성, CDC::Ellipse를 이용하여 타원 출력
현재 client 영역 좌표 
CWnd::GetClientRect
빨간색 라인, 파란색으로 내부가 칠해진 타원 그리기
CPen, CBrush 생성, 대체, 반환


void  CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
   CClientDC dc(this);
   CRect rect;
   GetClientRect(rect);
   
   CPen MyPen,*OldPen;
   MyPen.CreatePen(PS_SOLID,2,RGB(255,0,0));
   OldPen=dc.SelectObject(&MyPen);
 
   CBrush MyBr,*OldBr;    

   MyBr.CreateHatchBrush(HS_DIAGCROSS,RGB(0,0,255));
   OldBr=dc.SelectObject(&MyBr);
 
   dc.Ellipse(rect);
    
   dc.SelectObject(OldPen);
   dc.SelectObject(OldBr);
 
   CView::OnLButtonDown(nFlags, point);
}