다음을 통해 공유


그래픽 개체를 선택하여 디바이스 컨텍스트로 넣기

이 항목은 창의 디바이스 컨텍스트에서 그래픽 개체를 사용하는 데 적용됩니다. 그리기 개체를 만든 후에는 드로잉 개체에 저장된 기본 개체 대신 디바이스 컨텍스트로 선택해야 합니다.

void CNewView::OnDraw(CDC* pDC)
{
   CPen penBlack;  // Construct it, then initialize
   if (penBlack.CreatePen(PS_SOLID, 2, RGB(0, 0, 0)))
   {
      // Select it into the device context
      // Save the old pen at the same time
      CPen* pOldPen = pDC->SelectObject(&penBlack);

      // Draw with the pen
      pDC->MoveTo(20, 20);
      pDC->LineTo(40, 40);

      // Restore the old pen to the device context
      pDC->SelectObject(pOldPen);
   }
   else
   {
      // Alert the user that resources are low
   }
}

그래픽 개체의 수명

SelectObject에서 반환된 그래픽 개체는 "임시"입니다. 즉, 다음에 프로그램이 유휴 시간을 가져올 때 클래스 CWinApp 의 OnIdle 멤버 함수에 의해 삭제됩니다. 컨트롤을 기본 메시지 루프로 반환하지 않고 단일 함수에서 반환 SelectObject 된 개체를 사용하는 한 아무런 문제가 없습니다.

다음에 대해 자세히 알고 싶은 사항

참고 항목

그래픽 개체