Graphics::EndContainer-Methode (gdiplusgraphics.h)
Die Graphics::EndContainer-Methode schließt einen Grafikcontainer, der zuvor von der Graphics::BeginContainer-Methode geöffnet wurde.
Syntax
Status EndContainer(
[in] GraphicsContainer state
);
Parameter
[in] state
Typ: GraphicsContainer
Wert (zuvor von Graphics::BeginContainer zurückgegeben), der den zu schließenden Container identifiziert.
Rückgabewert
Typ: Status
Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .
Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.
Hinweise
Wenn Sie die Graphics::BeginContainer-Methode eines Graphics-Objekts aufrufen, wird ein Informationsblock, der den Zustand des Graphics-Objekts enthält, auf einem Stapel platziert. Die Graphics::BeginContainer-Methode gibt einen Wert zurück, der diesen Informationsblock identifiziert. Wenn Sie den identifizierenden Wert an die Graphics::EndContainer-Methode übergeben, wird der Informationsblock aus dem Stapel entfernt und verwendet, um das Graphics-Objekt in den Zustand wiederherzustellen, in dem es sich zum Zeitpunkt des Graphics::BeginContainer-Aufrufs befand.
Container können geschachtelt werden. Das heißt, Sie können die Graphics::BeginContainer-Methode mehrmals aufrufen, bevor Sie die Graphics::EndContainer-Methode aufrufen. Jedes Mal, wenn Sie die Graphics::BeginContainer-Methode aufrufen, wird ein Informationsblock auf dem Stapel platziert, und Sie erhalten einen Bezeichner für den Informationsblock. Wenn Sie einen dieser Bezeichner an die Graphics::EndContainer-Methode übergeben, wird das Graphics-Objekt in den Zustand zurückgegeben, in dem es sich zum Zeitpunkt des Graphics::BeginContainer-Aufrufs befand, der diesen bestimmten Bezeichner zurückgegeben hat. Der Informationsblock, der von diesem Graphics::BeginContainer-Aufruf auf dem Stapel platziert wird, wird aus dem Stapel entfernt, und alle Informationsblöcke, die nach diesem Graphics::BeginContainer-Aufruf auf diesem Stapel platziert werden, werden ebenfalls entfernt.
Aufrufe der Graphics::Save-Methode platzieren Informationsblöcke auf demselben Stapel wie Aufrufe der Graphics::BeginContainer-Methode . Genau wie ein Graphics::EndContainer-Aufruf mit einem Graphics::BeginContainer-Aufruf gekoppelt ist, wird ein Graphics::Restore-Aufruf mit einem Graphics::Save-Aufruf gekoppelt.
Beispiele
Im folgenden Beispiel wird ein Graphics-Objekt erstellt und dessen Beschneidungsbereich festgelegt. Der Code beginnt einen Container und legt einen zusätzlichen Ausschneidebereich für den Container fest. Der Code füllt ein Rechteck zweimal aus: einmal innerhalb des Containers und einmal außerhalb des Containers (nach dem Aufruf von 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);
}
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 |