Bagikan melalui


Tampilkan Konteks Perangkat

Aplikasi mendapatkan DC tampilan dengan memanggil fungsi BeginPaint, GetDC, atau GetDCEx fungsi dan mengidentifikasi jendela tempat output yang sesuai akan muncul. Biasanya, aplikasi mendapatkan DC tampilan hanya ketika harus menggambar di area klien. Namun, seseorang dapat memperoleh konteks perangkat jendela dengan memanggil fungsiGetWindowDC. Ketika aplikasi selesai menggambar, aplikasi harus merilis DC dengan memanggil fungsiEndPaint atauReleaseDC.

Ada lima jenis DC untuk tampilan video:

  • Kelas
  • Biasa
  • Swasta
  • Jendela
  • Ortu

Konteks Perangkat Kelas

Konteks perangkat Kelas didukung secara ketat untuk kompatibilitas dengan Windows versi 16-bit. Saat menulis aplikasi Anda, hindari menggunakan konteks perangkat kelas; gunakan konteks perangkat privat sebagai gantinya.

Konteks Perangkat Umum

Konteks perangkat umum adalah DC tampilan yang dikelola dalam cache khusus oleh sistem. Konteks perangkat umum digunakan dalam aplikasi yang melakukan operasi menggambar yang jarang terjadi. Sebelum sistem mengembalikan handel DC, sistem menginisialisasi konteks perangkat umum dengan objek, atribut, dan mode default. Setiap operasi gambar yang dilakukan oleh aplikasi menggunakan default ini kecuali salah satu fungsi GDI dipanggil untuk memilih objek baru, mengubah atribut objek yang ada, atau memilih mode baru.

Karena hanya ada sejumlah konteks perangkat umum yang terbatas, aplikasi harus merilisnya setelah selesai menggambar. Saat aplikasi merilis konteks perangkat umum, setiap perubahan pada data default akan hilang.

Konteks Perangkat Privat

Konteks perangkat privat menampilkan DC yang, tidak seperti konteks perangkat umum, mempertahankan perubahan apa pun pada data default bahkan setelah aplikasi merilisnya. Konteks perangkat privat digunakan dalam aplikasi yang melakukan banyak operasi gambar seperti aplikasi desain yang dibantu komputer (CAD), aplikasi penerbitan desktop, aplikasi menggambar dan melukis, dan sebagainya. Konteks perangkat privat bukan bagian dari cache sistem dan oleh karena itu tidak perlu dirilis setelah digunakan. Sistem secara otomatis menghapus konteks perangkat privat setelah jendela terakhir kelas tersebut dihancurkan.

Aplikasi membuat konteks perangkat privat dengan terlebih dahulu menentukan gaya kelas jendela CS_OWNDC saat menginisialisasi gaya anggota strukturWNDCLASSdan memanggil fungsiRegisterClass. (Untuk informasi selengkapnya tentang kelas jendela, lihat kelas jendela .)

Setelah membuat jendela dengan gaya CS_OWNDC, aplikasi dapat memanggil GetDC, GetDCEx, atau fungsi BeginPaint sekali untuk mendapatkan handel yang mengidentifikasi konteks perangkat privat. Aplikasi dapat terus menggunakan handel ini (dan DC terkait) hingga menghapus jendela yang dibuat dengan kelas ini. Setiap perubahan pada objek grafis dan atributnya, atau mode grafis dipertahankan oleh sistem hingga jendela dihapus.

Konteks Perangkat Jendela

Konteks perangkat jendela memungkinkan aplikasi menggambar di mana saja di jendela, termasuk area nonkelola. Konteks perangkat jendela biasanya digunakan oleh aplikasi yang memproses pesan WM_NCPAINT dan WM_NCACTIVATE untuk jendela dengan area nonkelola kustom. Menggunakan konteks perangkat jendela tidak disarankan untuk tujuan lain. Untuk informasi selengkapnya; lihat GetWindowDC.

Konteks Perangkat Induk

Konteks perangkat induk memungkinkan aplikasi meminimalkan waktu yang diperlukan untuk menyiapkan wilayah kliping untuk jendela. Aplikasi biasanya menggunakan konteks perangkat induk untuk mempercepat menggambar jendela kontrol tanpa memerlukan konteks perangkat privat atau kelas. Misalnya, sistem menggunakan konteks perangkat induk untuk tombol tekan dan kontrol edit. Konteks perangkat induk dimaksudkan untuk digunakan hanya dengan jendela anak, tidak pernah dengan jendela tingkat atas atau pop-up. Untuk informasi selengkapnya; lihat Konteks Perangkat Tampilan Induk.