Condividi tramite


Metodo Graphics::GetHDC (gdiplusgraphics.h)

Il metodo Graphics::GetHDC ottiene un handle per il contesto di dispositivo associato a questo oggetto Graphics .

Sintassi

HDC GetHDC();

Valore restituito

Tipo: HDC

Questo metodo restituisce un handle al contesto di dispositivo associato a questo oggetto Graphics .

Commenti

Ogni chiamata al metodo Graphics::GetHDC di un oggetto Graphics deve essere associata a una chiamata al metodo Graphics::ReleaseHDC dello stesso oggetto Graphics . Non chiamare alcun metodo dell'oggetto Graphics tra le chiamate a Graphics::GetHDC e Graphics::ReleaseHDC. Se si tenta di chiamare un metodo dell'oggetto Graphics tra Graphics::GetHDC e Graphics::ReleaseHDC, il metodo avrà esito negativo e restituirà ObjectBusy.

Qualsiasi modifica dello stato apportata al contesto del dispositivo tra Graphics::GetHDC e Graphics::ReleaseHDC verrà ignorata da GDI+ e non verrà riflessa nel rendering eseguito da GDI+.

Esempio

La funzione seguente usa GDI+ per disegnare un'ellisse, quindi usa GDI per disegnare un rettangolo e infine usa GDI+ per disegnare una linea. Il parametro di una funzione è un puntatore a un oggetto GDI+ Graphics . Il codice chiama il metodo Graphics::D rawEllipse dell'oggetto Graphics per disegnare un'ellisse. Il codice chiama quindi il metodo Graphics::GetHDC per ottenere un handle al contesto di dispositivo associato all'oggetto Graphics . Il codice disegna un rettangolo passando l'handle del contesto di dispositivo alla funzione GDI Rectangle . Il codice chiama il metodo Graphics::ReleaseHDC dell'oggetto Graphics e quindi usa l'oggetto Graphics per disegnare una linea.

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

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusgraphics.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Modifiche al modello di programmazione

Metodi FromHDC

Grafica

Costruttori di grafica

Graphics::ReleaseHDC