Bagikan melalui


Grafis::BeginContainer(constRect&,constRect&,Unit) metode (gdiplusgraphics.h)

Metode Graphics::BeginContainer memulai kontainer grafis baru.

Sintaks

GraphicsContainer BeginContainer(
  [in, ref] const Rect & dstrect,
  [in, ref] const Rect & srcrect,
  [in]      Unit         unit
);

Parameter

[in, ref] dstrect

Jenis: const Rect

Referensi ke persegi panjang yang, bersama dengan srcrect, menentukan transformasi untuk kontainer.

[in, ref] srcrect

Jenis: const Rect

Referensi ke persegi panjang yang, bersama dengan dstrect, menentukan transformasi untuk kontainer.

[in] unit

Jenis: Unit

Satuan pengukuran untuk kontainer.

Nilai kembali

Jenis: GraphicsContainer

Metode ini mengembalikan nilai yang mengidentifikasi kontainer.

Keterangan

Gunakan metode ini untuk membuat kontainer grafis berlapis. Kontainer grafik digunakan untuk mempertahankan status grafis, seperti transformasi, wilayah kliping, dan berbagai properti penyajian.

Metode Graphics::BeginContainer mengembalikan nilai jenis GraphicsContainer. Setelah Anda selesai menggunakan kontainer, teruskan nilai tersebut ke metode Graphics::EndContainer . Jenis data GraphicsContainer ditentukan dalam Gdiplusenums.h.

Parameter dstrect dan srcrect menentukan transformasi. Ini adalah transformasi yang, ketika diterapkan ke srcrect, menghasilkan dstrect.

Saat Anda memanggil metode Grafis::BeginContainer dari objek Grafis , blok informasi yang menyimpan status objek Grafis diletakkan pada tumpukan. Metode Graphics::BeginContainer mengembalikan nilai yang mengidentifikasi blok informasi tersebut. Ketika Anda meneruskan nilai identifikasi ke metode Graphics::EndContainer , blok informasi dihapus dari tumpukan dan digunakan untuk memulihkan objek Grafis ke status pada saat panggilan Graphics::BeginContainer .

Kontainer dapat ditumpuk; artinya, Anda dapat memanggil metode Graphics::BeginContainer beberapa kali sebelum Anda memanggil metode Graphics::EndContainer . Setiap kali Anda memanggil metode Graphics::BeginContainer , blok informasi dimasukkan ke tumpukan, dan Anda menerima pengidentifikasi untuk blok informasi. Ketika Anda meneruskan salah satu pengidentifikasi tersebut ke metode Graphics::EndContainer , objek Grafis dikembalikan ke statusnya pada saat panggilan Graphics::BeginContainer yang mengembalikan pengidentifikasi tertentu. Blok informasi yang ditempatkan pada tumpukan oleh panggilan Grafis::BeginContainer dihapus dari tumpukan, dan semua blok informasi yang ditempatkan pada tumpukan tersebut setelah panggilan Grafis::BeginContainer juga dihapus.

Panggilan ke blok informasi Tempat metode Grafis::Simpan pada tumpukan yang sama dengan panggilan ke metode Graphics::BeginContainer . Sama seperti panggilan Grafis::EndContainer dipasangkan dengan panggilan Grafis::BeginContainer , panggilan Grafis::Pulihkan dipasangkan dengan panggilan Grafis::Simpan .

Hati Saat Anda memanggil Grafis::EndContainer, semua blok informasi yang ditempatkan pada tumpukan (oleh Grafis::Simpan atau oleh Grafis::BeginContainer) setelah panggilan yang sesuai ke Grafis::BeginContainer dihapus dari tumpukan. Demikian juga, ketika Anda memanggil Grafis::Pulihkan, semua blok informasi yang ditempatkan pada tumpukan (oleh Grafis::Simpan atau oleh Grafis::BeginContainer) setelah panggilan yang sesuai ke Grafis::Simpan dihapus dari tumpukan.
 
Untuk informasi selengkapnya tentang kontainer grafis, lihat Kontainer Grafis Berlapis.

Contoh

Contoh berikut memanggil metode Graphics::BeginContainer untuk membuat kontainer grafis. Kode menentukan transformasi untuk kontainer dengan meneruskan dua persegi panjang ke metode Graphics::BeginContainer . Kode memanggil Graphics::FillEllipse dua kali: sekali di dalam kontainer dan sekali di luar kontainer (setelah panggilan ke Graphics::EndContainer).

VOID Example_BeginContainer2(HDC hdc)
{
   Graphics graphics(hdc);

   // Define a translation and scale transformation for the container.
   Rect srcRect(0, 0, 200, 100);
   Rect destRect(100, 100, 200, 200);

   // Create a graphics container with a (100, 100) translation 
   // and (1, 2) scale.
   GraphicsContainer container;
   container = graphics.BeginContainer(destRect, srcRect, UnitPixel);

   // Fill an ellipse in the container.
   SolidBrush redBrush(Color(255, 255, 0, 0));
   graphics.FillEllipse(&redBrush, 0, 0, 100, 60);

   // End the container.
   graphics.EndContainer(container);

   // Fill the same ellipse outside the container.
   SolidBrush blueBrush(Color(255, 0, 0, 255));
   graphics.FillEllipse(&blueBrush, 0, 0, 100, 60);
}

Persyaratan

   
Klien minimum yang didukung Windows XP, Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header gdiplusgraphics.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Grafik

Kontainer Grafis

Grafis::EndContainer

Grafik::Pulihkan

Grafik::Simpan

Menggunakan Kontainer Grafis