Konteks Perangkat Tampilan Kelas
Dengan menggunakan konteks perangkat kelas , aplikasi dapat menggunakan konteks perangkat tampilan tunggal untuk setiap jendela milik kelas tertentu. Konteks perangkat kelas sering digunakan dengan jendela kontrol yang digambar menggunakan nilai atribut yang sama. Seperti konteks perangkat privat, konteks perangkat kelas meminimalkan waktu yang diperlukan untuk menyiapkan konteks perangkat untuk menggambar.
Sistem menyediakan konteks perangkat kelas untuk jendela jika termasuk dalam kelas jendela yang memiliki gaya CS_CLASSDC. Sistem membuat konteks perangkat saat membuat jendela pertama milik kelas dan kemudian menggunakan konteks perangkat yang sama untuk semua jendela yang kemudian dibuat di kelas. Awalnya, konteks perangkat kelas memiliki nilai default yang sama untuk atribut sebagai konteks perangkat umum, tetapi aplikasi dapat memodifikasinya kapan saja. Sistem mempertahankan semua perubahan, kecuali untuk wilayah kliping dan asal perangkat, hingga jendela terakhir di kelas telah dihancurkan. Perubahan yang dilakukan untuk satu jendela berlaku untuk semua jendela di kelas tersebut.
Aplikasi dapat mengambil handel ke konteks perangkat kelas dengan menggunakan fungsi GetDC kapan saja setelah jendela pertama dibuat. Aplikasi dapat menyimpan dan menggunakan handel tanpa melepaskannya karena konteks perangkat kelas bukan bagian dari cache konteks perangkat tampilan. Jika aplikasi membuat jendela lain di kelas jendela yang sama, aplikasi harus mengambil konteks perangkat kelas lagi. Mengambil konteks perangkat mengatur asal perangkat dan wilayah kliping yang benar untuk jendela baru. Setelah aplikasi mengambil konteks perangkat kelas untuk jendela baru di kelas , konteks perangkat tidak dapat lagi digunakan untuk menggambar di jendela asli tanpa mengambilnya lagi untuk jendela tersebut. Secara umum, setiap kali harus menggambar di jendela, aplikasi harus secara eksplisit mengambil konteks perangkat kelas untuk jendela.
Aplikasi yang menggunakan konteks perangkat kelas harus selalu memanggilBeginPaint saat memproses pesan WM_PAINT. Fungsi ini mengatur asal perangkat dan wilayah kliping yang benar untuk jendela, dan menggabungkan wilayah pembaruan. Aplikasi juga harus memanggil EndPaint untuk memulihkan tanda sisipan jika BeginPaint menyembunyikannya. EndPaint tidak berpengaruh lain pada konteks perangkat kelas.
Sistem meneruskan konteks perangkat kelas saat mengirim pesan WM_ERASEBKGND ke aplikasi, memungkinkan nilai atribut saat ini memengaruhi gambar apa pun yang dilakukan oleh aplikasi atau sistem saat memproses pesan ini. Seperti halnya jendela yang memiliki konteks perangkat privat, aplikasi dapat menggunakan GetDCEx untuk memaksa sistem mengembalikan konteks perangkat umum untuk jendela yang memiliki konteks perangkat kelas.
Menggunakan konteks perangkat kelas tidak disarankan.