Método Graphics::GetHDC (gdiplusgraphics.h)

El método Graphics::GetHDC obtiene un identificador para el contexto del dispositivo asociado a este objeto Graphics .

Sintaxis

HDC GetHDC();

Valor devuelto

Tipo: HDC

Este método devuelve un identificador al contexto del dispositivo asociado a este objeto Graphics .

Comentarios

Cada llamada al método Graphics::GetHDC de un objeto Graphics debe emparejarse con una llamada al método Graphics::ReleaseHDC de ese mismo objeto Graphics . No llame a ningún método del objeto Graphics entre las llamadas a Graphics::GetHDC y Graphics::ReleaseHDC. Si intenta llamar a un método del objeto Graphics entre Graphics::GetHDC y Graphics::ReleaseHDC, se producirá un error en el método y devolverá ObjectBusy.

GDI+ omitirá los cambios de estado realizados en el contexto del dispositivo entre Graphics::GetHDC y Graphics::ReleaseHDC y GDI+ no se reflejará en la representación realizada por GDI+.

Ejemplos

La siguiente función usa GDI+ para dibujar una elipse y, a continuación, usa GDI para dibujar un rectángulo y, por último, usa GDI+ para dibujar una línea. El único parámetro de la función es un puntero a un objeto Graphics de GDI+. El código llama al método Graphics::D rawEllipse de ese objeto Graphics para dibujar una elipse. A continuación, el código llama al método Graphics::GetHDC para obtener un identificador al contexto del dispositivo asociado al objeto Graphics . El código dibuja un rectángulo pasando el identificador de contexto del dispositivo a la función Rectangle de GDI. El código llama al método Graphics::ReleaseHDC del objeto Graphics y, a continuación, usa el objeto Graphics para dibujar una línea.

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);  
}

Requisitos

   
Cliente mínimo compatible Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado gdiplusgraphics.h (include Gdiplus.h)
Library Gdiplus.lib
Archivo DLL Gdiplus.dll

Consulte también

Cambios en el modelo de programación

Métodos FromHDC

Elementos gráficos

Constructores de gráficos

Graphics::ReleaseHDC