void CMfcGDIView::OnDraw(CDC* pDC)
{
CMfcGDIDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rC;
GetClientRect(&rC);
//폰트 속성 설정 : dc가 새로운 폰트 선택, 기존 폰트 주소 보관
CFont font; //폰트 객체 생성
font.CreateFont(20, 0, 0, 0, 0, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 0, "궁서체");
//dc가 새로운 폰트 선택, 기존 폰트 주소를 보관
CFont *pOldFont = pDC->SelectObject(&font);
//텍스트 출력
pDC->DrawText("GDI 객체 연습", &rC, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
//dc가 기존폰트 선택
pDC->SelectObject(pOldFont);
//새로운 폰트 제거
font.DeleteObject();
}
pen 객체
//새로운 펜 객체 생성
CPen pen;
//펜 속성 설정
pen.CreatePen(PS_SOLID, 5, RGB(0,0,255));
//dc가 새로운 펜 선택, 기존 펜 객체 주소 보관
CPen *pOldpPen = pDC->SelectObject(&pen);
//펜을 만들었으면 그려야지 ( 테스트로 타원 그리기 )
pDC->Ellipse(50,20,150,120);
//dc가 기존 펜 선택
pDC->SelectObject(pOldPen);
//새로운 펜 제거
pen.DeleteObject();
brush 객체
//새로운 브러시 객체 생성
CBrush brush;
//브러시 속성 설정 (요건 여러가지가 있다. - MSDN 참조합시다~)
brush.CreateSolidBrush(RGB(255,255,0));
//dc가 새로운 브러시 선택, 기존 브러시 주소 보관
CBrush *pOldBrush = pDC->SelectObject(&brush);
//타원 출력
pDC->Ellipse(50,20,150,120);
//dc가 기존 브러시 선택
pDC->SelectObject(pOldBrush);
//새로운 브러시 제거
brush.DeleteObject();
//참조 : 이런 식으로 적용해서 펜에다가 넣는 것도 가능, 선 굵기가 굵어지면 면이니까 ㅋ
LOGBRUSH lb;
lb.lbColor = RGB(0,0,255);
lb.obStyle = BS_SOLID;
pen.CreatePen(PS_DASH|PS_GEOMETRIC, 5, &lb);
'프로그래밍 > MFC' 카테고리의 다른 글
MFC 소켓프로그래밍 순서 (0) | 2011.05.17 |
---|---|
CAstncSocket 클래스의 주요 함수 (0) | 2011.05.16 |
MFC 프로젝트명 바꾸기 (0) | 2011.05.16 |
PreCreateWindow 변경시에도 창크기 고정될 떄 (0) | 2011.05.06 |
CDC 멤버함수 ->FillRect (0) | 2011.04.27 |