Graphics::BeginContainer
Graphics::BeginContainer 方法开始新的图形容器。
语法
GraphicsContainer BeginContainer();
返回值
类型: GraphicsContainer
此方法返回一个标识容器的值。
注解
使用此方法创建嵌套图形容器。 图形容器用于保留图形状态,例如转换、剪辑区域和各种呈现属性。
Graphics::BeginContainer 方法返回 GraphicsContainer 类型的值。 使用完容器后,将该值传递给 Graphics::EndContainer 方法。 GraphicsContainer 数据类型在 Gdiplusenums.h 中定义。
调用 Graphics 对象的 Graphics::BeginContainer 方法时,一个保存 Graphics 对象状态的信息块将放在堆栈上。 Graphics::BeginContainer 方法返回一个标识该信息块的值。 将标识值传递给 Graphics::EndContainer 方法时,信息块将从堆栈中删除,并用于将 Graphics 对象还原到调用 Graphics::BeginContainer 时的状态。
容器可以嵌套;也就是说,在调用 Graphics::EndContainer 方法之前,可以多次调用 Graphics::BeginContainer 方法。 每次调用 Graphics::BeginContainer 方法时,都会在堆栈上放置一个信息块,并且你会收到信息块的标识符。 将其中一个标识符传递给 Graphics::EndContainer 方法时, Graphics 对象将返回到返回该特定标识符的 Graphics::BeginContainer 调用时的状态。 从堆栈中删除 由 Graphics::BeginContainer 调用放置在堆栈上的信息块,并且该 Graphics::BeginContainer 调用之后放置在该堆栈上的所有信息块也会被删除。
调用 Graphics::Save 方法会将信息块放置在与调用 Graphics::BeginContainer 方法相同的堆栈上。 正如 Graphics::EndContainer 调用与 Graphics::BeginContainer 调用配对一样, Graphics::Restore 调用与 Graphics::Save 调用配对。
示例
以下示例为 Graphics 对象设置剪裁区域,并启动图形容器。 然后,它为容器设置额外的剪裁区域,并绘制矩形来演示容器内的有效剪裁区域。
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);
}
要求
最低受支持的客户端 | Windows 10内部版本 20348 |
最低受支持的服务器 | Windows 10内部版本 20348 |
标头 | gdiplusgraphics.h |