描述
开始一个新的图形容器。
C++ 语法
GpStatus WINGDIPAPI GdipBeginContainer2( GpGraphics *graphics, GraphicsContainer *state ); |
PowerBASIC 语法
FUNCTION GdipBeginContainer2 ( _ BYVAL graphics AS DWORD, _ BYREF pState AS DWORD _ ) AS LONG |
参数
graphics
[in]指向图像对象的指针。
state
[out]指向接收标识容器的值的变量的指针。
返回值
如果函数成功,则返回Ok,它是状态枚举的一个元素。
如果函数失败,它返回状态枚举的其他元素之一。
备注
使用此函数创建嵌套图形容器。图像容器用于保留图形状态,如转换,裁剪区域和各种渲染属性。
GdipBeginContainer函数返回值为GraphicsContainer的值。完成使用容器后,将该值传递给GdipEndContainer函数。
当您调用GdipBeginContainer函数时,将保存图像对象状态的信息块放在堆栈上。GdipBeginContainer函数返回一个标识该信息块的值。当您将识别值传递给GdipEndContainer函数时,信息块将从堆栈中删除,用于将图像对象恢复到GdipBeginContainer调用时所处的状态。
容器可嵌套;也就是说,您可以在调用EndContainer方法之前多次调用GdipBeginContainer函数。每次调用GdipBeginContainer方法时,会在堆栈上放置一个信息块,并收到信息块的标识符。当您将其中一个标识符传递给GdipEndContainer方法时,图像对象将返回到返回该特定标识符的GdipBeginContainer调用时所处的状态。由GdipBeginContainer调用放置在堆栈上的信息块将从堆栈中删除,并且在GdipBeginContainer调用之后放置在该堆栈上的所有信息块也将被删除。
调用GdipSaveGraphics功能将信息块放在与GdipBeginContainer功能的调用相同的堆栈上。正如GdipEndContainer电话与GdipBeginContainer电话配对,GdipRestoreGraphics电话与GdipSaveGraphics电话配对。
警告当您致电GdipEndContainer时,从堆栈中删除相应调用 GdipBeginContainer之后放置在堆栈上的所有信息块(GdipSaveGraphics或GdipBeginContainer)。同样地,当您调用GdipRestoreGraphics时,相应调用GdipSaveGraphics之后,堆栈中放置的所有信息块(由GdipSaveGraphics或GdipBeginContainer)从堆栈中移除。
有关图形容器的更多信息,请参阅嵌套图形容器.


