Konteks Perangkat Tampilan Umum
Konteks perangkat umum digunakan untuk menggambar di area klien jendela. Sistem menyediakan konteks perangkat umum secara default untuk jendela mana pun yang kelas jendelanya tidak secara eksplisit menentukan gaya konteks perangkat tampilan. Konteks perangkat umum biasanya digunakan dengan jendela yang dapat digambar tanpa perubahan ekstensif pada atribut konteks perangkat. Konteks perangkat umum nyaman karena tidak memerlukan memori atau sumber daya sistem tambahan, tetapi dapat merepotkan jika aplikasi harus mengatur banyak atribut sebelum menggunakannya.
Sistem mengambil semua konteks perangkat umum dari cache konteks perangkat tampilan. Aplikasi dapat mengambil konteks perangkat umum segera setelah jendela dibuat. Karena konteks perangkat umum berasal dari cache, aplikasi harus selalu merilis konteks perangkat sesegera mungkin setelah menggambar. Setelah konteks perangkat umum dirilis, konteks tidak lagi valid dan aplikasi tidak boleh mencoba menggambar dengannya. Untuk menggambar lagi, aplikasi harus mengambil konteks perangkat umum baru, dan terus mengambil dan merilis konteks perangkat umum setiap kali menarik di jendela. Jika aplikasi mengambil handel konteks perangkat dengan menggunakan fungsiGetDC, aplikasi harus menggunakan fungsiReleaseDC untuk merilis handel. Demikian pula, untuk setiap fungsiBeginPaint, aplikasi harus menggunakan fungsiEndPaintyang sesuai.
Ketika aplikasi mengambil konteks perangkat, sistem menyesuaikan asal sehingga selaras dengan sudut kiri atas area klien. Ini juga mengatur wilayah kliping sehingga output ke konteks perangkat diklip ke area klien. Output apa pun yang akan muncul di luar area klien diklip. Jika aplikasi mengambil konteks perangkat umum dengan menggunakan BeginPaint, sistem juga menyertakan wilayah pembaruan di wilayah kliping untuk membatasi output lebih lanjut.
Saat aplikasi merilis konteks perangkat umum, sistem memulihkan nilai default untuk atribut konteks perangkat. Aplikasi yang memodifikasi nilai atribut harus melakukannya setiap kali mengambil konteks perangkat umum. Merilis konteks perangkat merilis objek gambar apa pun yang mungkin dipilih aplikasi ke dalamnya, sehingga aplikasi tidak perlu merilis objek ini sebelum merilis konteks perangkat. Dalam semua kasus, aplikasi tidak boleh berasumsi bahwa konteks perangkat umum mempertahankan pilihan nondefault setelah dirilis.