Graphics::BeginContainer
El método Graphics::BeginContainer comienza un nuevo contenedor de gráficos.
Sintaxis
GraphicsContainer BeginContainer();
Valor devuelto
Tipo: GraphicsContainer
Este método devuelve un valor que identifica el contenedor.
Comentarios
Use este método para crear contenedores de gráficos anidados. Los contenedores de gráficos se usan para conservar el estado de los gráficos, como transformaciones, regiones de recorte y varias propiedades de representación.
El método Graphics::BeginContainer devuelve un valor de tipo GraphicsContainer. Cuando haya terminado de usar un contenedor, pase ese valor al método Graphics::EndContainer . El tipo de datos GraphicsContainer se define en Gdiplusenums.h.
Cuando se llama al método Graphics::BeginContainer de un objeto Graphics , se coloca un bloque de información que contiene el estado del objeto Graphics en una pila. El método Graphics::BeginContainer devuelve un valor que identifica ese bloque de información. Cuando se pasa el valor de identificación al método Graphics::EndContainer , el bloque de información se quita de la pila y se usa para restaurar el objeto Graphics al estado en el que estaba en el momento de la llamada a Graphics::BeginContainer .
Los contenedores se pueden anidar; es decir, puede llamar al método Graphics::BeginContainer varias veces antes de llamar al método Graphics::EndContainer . Cada vez que se llama al método Graphics::BeginContainer , se coloca un bloque de información en la pila y se recibe un identificador para el bloque de información. Cuando se pasa uno de esos identificadores al método Graphics::EndContainer , el objeto Graphics se devuelve al estado en que estaba en el momento de la llamada Graphics::BeginContainer que devolvió ese identificador determinado. El bloque de información colocado en la pila por esa llamada a Graphics::BeginContainer se quita de la pila y también se quitan todos los bloques de información colocados en esa pila después de esa llamada a Graphics::BeginContainer .
Las llamadas al método Graphics::Save colocan bloques de información en la misma pila que las llamadas al método Graphics::BeginContainer . Al igual que una llamada a Graphics::EndContainer se empareja con una llamada Graphics::BeginContainer , se empareja una llamada Graphics::Restore con una llamada Graphics::Save .
Ejemplos
En el ejemplo siguiente se establece una región de recorte para un objeto Graphics y se inicia un contenedor de gráficos. A continuación, establece una región de recorte adicional para el contenedor y dibuja rectángulos que muestran la región de recorte eficaz dentro del contenedor.
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);
}
Requisitos
Cliente mínimo compatible | Compilación 20348 de Windows 10 |
Servidor mínimo compatible | Compilación 20348 de Windows 10 |
Encabezado | gdiplusgraphics.h |