Bagikan melalui


Wilayah Kliping

Wilayah kliping adalah salah satu objek grafis yang dapat dipilih aplikasi ke dalam konteks perangkat (DC). Biasanya persegi panjang. Beberapa konteks perangkat menyediakan wilayah kliping yang telah ditentukan atau default sementara yang lain tidak. Misalnya, jika Anda mendapatkan handel konteks perangkat dari fungsi BeginPaint , DC berisi wilayah kliping persegi panjang yang telah ditentukan sebelumnya yang sesuai dengan persegi panjang yang tidak valid yang memerlukan pengecatan ulang. Namun, ketika Anda mendapatkan handel konteks perangkat dengan memanggil fungsi GetDC dengan parameter NULLhWnd , atau dengan memanggil fungsi CreateDC , DC tidak berisi wilayah kliping default. Untuk informasi selengkapnya tentang konteks perangkat yang dikembalikan oleh fungsi BeginPaint , lihat Melukis dan Menggambar . Untuk informasi selengkapnya tentang konteks perangkat yang dikembalikan oleh fungsi CreateDC dan GetDC , lihat Konteks Perangkat.

Aplikasi dapat melakukan berbagai operasi pada wilayah kliping. Beberapa operasi ini memerlukan penanganan yang mengidentifikasi wilayah dan beberapa tidak. Misalnya, aplikasi dapat melakukan operasi berikut langsung di wilayah kliping konteks perangkat.

  • Tentukan apakah output grafis muncul dalam batas wilayah dengan meneruskan koordinat baris, busur, bitmap, teks, atau bentuk terisi yang sesuai ke fungsi PtVisible .
  • Tentukan apakah bagian dari area klien berpotongan suatu wilayah dengan memanggil fungsi RectVisible .
  • Pindahkan wilayah yang ada dengan offset tertentu dengan memanggil fungsi OffsetClipRgn .
  • Kecualikan bagian persegi panjang area klien dari wilayah kliping saat ini dengan memanggil fungsi ExcludeClipRect .
  • Gabungkan bagian persegi panjang area klien dengan wilayah kliping saat ini dengan memanggil fungsi IntersectClipRect .

Setelah mendapatkan handel yang mengidentifikasi wilayah kliping, aplikasi dapat melakukan operasi apa pun yang umum dengan wilayah, seperti:

  • Menggabungkan salinan wilayah kliping saat ini dengan wilayah kedua dengan memanggil fungsi CombineRgn .
  • Bandingkan salinan wilayah kliping saat ini dengan wilayah kedua dengan memanggil fungsi EqualRgn .
  • Tentukan apakah titik terletak di dalam interior salinan wilayah kliping saat ini dengan memanggil fungsi PtInRegion .