Partager via


Graphics::GetHDC, méthode (gdiplusgraphics.h)

La méthode Graphics::GetHDC obtient un handle pour le contexte d’appareil associé à cet objet Graphics .

Syntaxe

HDC GetHDC();

Valeur de retour

Type : HDC

Cette méthode retourne un handle au contexte d’appareil associé à cet objet Graphics .

Notes

Chaque appel à la méthode Graphics::GetHDC d’un objet Graphics doit être associé à un appel à la méthode Graphics::ReleaseHDC de ce même objet Graphics . N’appelez aucune méthode de l’objet Graphics entre les appels à Graphics::GetHDC et Graphics::ReleaseHDC. Si vous tentez d’appeler une méthode de l’objet Graphics entre Graphics::GetHDC et Graphics::ReleaseHDC, la méthode échoue et retourne ObjectBusy.

Toutes les modifications d’état que vous apportez au contexte de l’appareil entre Graphics::GetHDC et Graphics::ReleaseHDC seront ignorées par GDI+ et ne seront pas reflétées dans le rendu effectué par GDI+.

Exemples

La fonction suivante utilise GDI+ pour dessiner une ellipse, puis utilise GDI pour dessiner un rectangle, puis utilise GDI+ pour tracer une ligne. Le seul paramètre de la fonction est un pointeur vers un objet GDI+ Graphics . Le code appelle la méthode Graphics::D rawEllipse de cet objet Graphics pour dessiner une ellipse. Ensuite, le code appelle la méthode Graphics::GetHDC pour obtenir un handle dans le contexte d’appareil associé à l’objet Graphics . Le code dessine un rectangle en passant le handle de contexte de l’appareil à la fonction Rectangle GDI. Le code appelle la méthode Graphics::ReleaseHDC de l’objet Graphics , puis utilise l’objet Graphics pour tracer une ligne.

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

Configuration requise

   
Client minimal pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête gdiplusgraphics.h (inclure Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Changements dans le modèle de programmation

Méthodes FromHDC

Graphismes

Constructeurs graphiques

Graphiques::ReleaseHDC