특별한딸기이야기

SelectObject 함수 사용시 주의점(내장 오프젝트 내용 포함) 본문

딸기 공부방/MFC공부방

SelectObject 함수 사용시 주의점(내장 오프젝트 내용 포함)

특별한녀석 2008. 1. 28. 02:56
// 코드 1
CPen pen;
pen.CreatPen(PS_SOLID, 3, RGB(255, 0, 0));

// 코드 2
CClientDC dc(this);
CPen *poldpen = dc.SelectObject(&pen); // 원래 들어있던 GDI 오브젝트 반환
dc.Rectangle(10, 10, 100, 100);
dc.SelectObject(&poldpen); // 원래 들어있던 GDI 설정

위 코드처럼 하면 지역변수가 사라져도 프로그램은 문제가 없다.

단 내장 오브젝트는 위 과정을 생략할 수 있다.

예제코드
// 코드3
CClientDC dc;
dc.SelectStockObject(WHITE_PEN);
dc.Rectangle(10, 10, 100, 100)

내장 오브젝트 종류


  BLACK_PEN
  WHITE_PEN
  NULL_PEN
브러시
  BLACK_BRUSH
  WHITE_BRUSH
  DKGRAY_BRUSH
  GRAY_BRUSH
  HOLLOW_BRUSH
  LTGRAY_BRUSH
  NULL_BRUSH
글꼴
  ANSI_FIXED_FONT
  ANSI_VAR_FONT
  DEVICE_DEFAULT_FONT
  OEM_FIXED_FONT
  SYSTEM_FONT