Graphics::EndContainer, méthode (gdiplusgraphics.h)
La méthode Graphics::EndContainer ferme un conteneur graphique précédemment ouvert par la méthode Graphics::BeginContainer .
Syntaxe
Status EndContainer(
[in] GraphicsContainer state
);
Paramètres
[in] state
Type : GraphicsContainer
Valeur (précédemment retournée par Graphics::BeginContainer) qui identifie le conteneur à fermer.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Lorsque vous appelez la méthode Graphics::BeginContainer d’un objet Graphics , un bloc d’informations qui contient l’état de l’objet Graphics est placé sur une pile. La méthode Graphics::BeginContainer retourne une valeur qui identifie ce bloc d’informations. Lorsque vous passez la valeur d’identification à la méthode Graphics::EndContainer , le bloc d’informations est supprimé de la pile et est utilisé pour restaurer l’objet Graphics à l’état dans lequel il se trouvait au moment de l’appel Graphics::BeginContainer .
Les conteneurs peuvent être imbriqués ; Autrement dit, vous pouvez appeler la méthode Graphics::BeginContainer plusieurs fois avant d’appeler la méthode Graphics::EndContainer . Chaque fois que vous appelez la méthode Graphics::BeginContainer , un bloc d’informations est placé sur la pile et vous recevez un identificateur pour le bloc d’informations. Lorsque vous passez l’un de ces identificateurs à la méthode Graphics::EndContainer , l’objet Graphics est retourné à l’état dans lequel il se trouvait au moment de l’appel Graphics::BeginContainer qui a retourné cet identificateur particulier. Le bloc d’informations placé sur la pile par cet appel Graphics::BeginContainer est supprimé de la pile, et tous les blocs d’informations placés sur cette pile après cet appel Graphics::BeginContainer sont également supprimés.
Les appels à la méthode Graphics::Save placent des blocs d’informations sur la même pile que les appels à la méthode Graphics::BeginContainer . Tout comme un appel Graphics::EndContainer est associé à un appel Graphics::BeginContainer , un appel Graphics::Restore est associé à un appel Graphics::Save .
Exemples
L’exemple suivant crée un objet Graphics et définit sa zone de découpage. Le code commence un conteneur et définit une zone de découpage supplémentaire pour le conteneur. Le code remplit un rectangle deux fois : une fois à l’intérieur du conteneur et une fois à l’extérieur du conteneur (après l’appel à Graphics::EndContainer).
VOID Example_EndContainer(HDC hdc)
{
Graphics graphics(hdc);
// Set the clipping region for the Graphics object.
graphics.SetClip(Rect(10, 10, 150, 150));
// Begin a graphics container.
GraphicsContainer container = graphics.BeginContainer();
// Set an additional clipping region for the container.
graphics.SetClip(Rect(100, 50, 100, 75));
// Fill a red rectangle in the container.
SolidBrush redBrush(Color(255, 255, 0, 0));
graphics.FillRectangle(&redBrush, 0, 0, 200, 200);
// End the container, and fill the same rectangle with blue.
graphics.EndContainer(container);
SolidBrush blueBrush(Color(128, 0, 0, 255));
graphics.FillRectangle(&blueBrush, 0, 0, 200, 200);
// Set the clipping region to infinite, and draw
// the two previous clipping regions.
graphics.ResetClip();
Pen blackPen(Color(255, 0, 0, 0), 2.0f);
graphics.DrawRectangle(&blackPen, 10, 10, 150, 150);
graphics.DrawRectangle(&blackPen, 100, 50, 100, 75);
}
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 (include Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |