Freigeben über


Graphics::GetHDC-Methode (gdiplusgraphics.h)

Die Graphics::GetHDC-Methode ruft ein Handle für den Gerätekontext ab, der diesem Graphics-Objekt zugeordnet ist.

Syntax

HDC GetHDC();

Rückgabewert

Typ: HDC

Diese Methode gibt ein Handle für den Gerätekontext zurück, der diesem Graphics-Objekt zugeordnet ist.

Hinweise

Jeder Aufruf der Graphics::GetHDC-Methode eines Graphics-Objekts sollte mit einem Aufruf der Graphics::ReleaseHDC-Methode desselben Graphics-Objekts gekoppelt werden. Rufen Sie keine Methoden des Graphics-Objekts zwischen den Aufrufen von Graphics::GetHDC und Graphics::ReleaseHDC auf. Wenn Sie versuchen, eine Methode des Graphics-Objekts zwischen Graphics::GetHDC und Graphics::ReleaseHDC aufzurufen, schlägt die Methode fehl und gibt ObjectBusy zurück.

Alle Zustandsänderungen, die Sie am Gerätekontext zwischen Graphics::GetHDC und Graphics::ReleaseHDC vornehmen, werden von GDI+ ignoriert und nicht im Rendering von GDI+ widerzuspiegeln.

Beispiele

Die folgende Funktion verwendet GDI+ zum Zeichnen einer Ellipse, dann GDI zum Zeichnen eines Rechtecks und schließlich GDI+ zum Zeichnen einer Linie. Der einzige Parameter der Funktion ist ein Zeiger auf ein GDI+ -Grafikobjekt . Der Code ruft die Graphics::D rawEllipse-Methode dieses Graphics-Objekts auf, um eine Ellipse zu zeichnen. Als Nächstes ruft der Code die Graphics::GetHDC-Methode auf, um ein Handle für den Gerätekontext abzurufen, der dem Graphics-Objekt zugeordnet ist. Der Code zeichnet ein Rechteck, indem das Gerätekontexthandle an die GDI Rectangle-Funktion übergeben wird. Der Code ruft die Graphics::ReleaseHDC-Methode des Graphics-Objekts auf und verwendet dann das Graphics-Objekt , um eine Linie zu zeichnen.

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusgraphics.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Änderungen am Programmiermodell

FromHDC-Methoden

Grafiken

Grafikkonstruktoren

Graphics::ReleaseHDC