Graphics::BeginContainer
Die Graphics::BeginContainer-Methode beginnt einen neuen Grafikcontainer.
Syntax
GraphicsContainer BeginContainer();
Rückgabewert
Typ: GraphicsContainer
Diese Methode gibt einen Wert zurück, der den Container identifiziert.
Hinweise
Verwenden Sie diese Methode, um geschachtelte Grafikcontainer zu erstellen. Grafikcontainer werden verwendet, um den Grafikzustand beizubehalten, z. B. Transformationen, Beschneidungsbereiche und verschiedene Renderingeigenschaften.
Die Graphics::BeginContainer-Methode gibt einen Wert vom Typ GraphicsContainer zurück. Wenn Sie die Verwendung eines Containers abgeschlossen haben, übergeben Sie diesen Wert an die Graphics::EndContainer-Methode . Der GraphicsContainer-Datentyp ist in Gdiplusenums.h definiert.
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 . Ebenso 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 Beschneidungsbereich für ein Graphics-Objekt festgelegt und ein Grafikcontainer gestartet. Anschließend wird ein zusätzlicher Beschneidebereich für den Container festgelegt, und es werden Rechtecke geschnitten, die den effektiven Clippingbereich innerhalb des Containers veranschaulichen.
VOID Example_BeginContainer(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, 400, 400);
// 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, 400, 400);
// Set the clipping region to infinite, and draw the outlines
// of 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 10 Build 20348 |
Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
Kopfzeile | gdiplusgraphics.h |