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 |