다음을 통해 공유


Graphics::GetHDC 메서드(gdiplusgraphics.h)

Graphics::GetHDC 메서드는 이 Graphics 개체와 연결된 디바이스 컨텍스트에 대한 핸들을 가져옵니다.

구문

HDC GetHDC();

반환 값

형식: HDC

이 메서드는 이 Graphics 개체와 연결된 디바이스 컨텍스트에 대한 핸들을 반환합니다.

설명

Graphics 개체의 Graphics::GetHDC 메서드에 대한 각 호출은 동일한 Graphics 개체의 Graphics::ReleaseHDC 메서드 호출과 쌍을 이루어야 합니다. Graphics::GetHDC와 Graphics::ReleaseHDC 호출 사이에 Graphics 개체의 메서드 호출하지 마세요. Graphics::GetHDC와 Graphics::ReleaseHDC 간에 Graphics 개체의 메서드 호출하려고 하면 메서드가 실패하고 ObjectBusy가 반환됩니다.

Graphics::GetHDCGraphics::ReleaseHDC 간의 디바이스 컨텍스트에 대한 모든 상태 변경은 GDI+에서 무시되며 GDI+에서 수행한 렌더링에 반영되지 않습니다.

예제

다음 함수는 GDI+를 사용하여 타원을 그린 다음 GDI를 사용하여 사각형을 그리고 마지막으로 GDI+를 사용하여 선을 그립니다. 함수의 한 매개 변수는 GDI+ Graphics 개체에 대한 포인터입니다. 이 코드는 해당 Graphics 개체의 Graphics::D rawEllipse 메서드를 호출하여 타원을 그립니다. 다음으로, 코드는 Graphics::GetHDC 메서드를 호출하여 Graphics 개체와 연결된 디바이스 컨텍스트에 대한 핸들을 가져옵니다. 코드는 GDI 사각형 함수에 디바이스 컨텍스트 핸들을 전달하여 사각형을 그립니다. 이 코드는 Graphics 개체의 Graphics::ReleaseHDC 메서드를 호출한 다음 Graphics 개체를 사용하여 선을 그립니다.

VOID Example_GetReleaseHDC(Graphics* g)
{
   Pen pen(Color(255, 0, 0, 255));
   g->DrawEllipse(&pen, 10, 10, 100, 50);  // GDI+
   
   HDC hdc = g->GetHDC();
   
      // Make GDI calls, but don't call any methods
      // on g until after the call to ReleaseHDC.
      Rectangle(hdc, 120, 10, 220, 60);  // GDI  
   g->ReleaseHDC(hdc);
   
   // Ok to call methods on g again.
   g->DrawLine(&pen, 240, 10, 340, 60);  
}

요구 사항

   
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 gdiplusgraphics.h(Gdiplus.h 포함)
라이브러리 Gdiplus.lib
DLL Gdiplus.dll

참고 항목

프로그래밍 모델의 변경 내용

FromHDC 메서드

그래픽

그래픽 생성자

그래픽::ReleaseHDC