Area Nonkelas
Sistem mengirim pesan WM_NCPAINT ke jendela setiap kali bagian dari area nonkelas jendela, seperti bilah judul, bilah menu, atau bingkai jendela, harus diperbarui. Sistem juga dapat mengirim pesan lain untuk mengarahkan jendela untuk memperbarui sebagian area kliennya; misalnya, ketika jendela menjadi aktif atau tidak aktif, jendela akan mengirim pesan WM_NCACTIVATE untuk memperbarui bilah judulnya. Secara umum, pemrosesan pesan ini untuk jendela standar tidak disarankan, karena aplikasi harus dapat menggambar semua bagian yang diperlukan dari area nonclient untuk jendela. Untuk alasan ini, sebagian besar aplikasi meneruskan pesan ini ke DefWindowProc untuk pemrosesan default.
Aplikasi yang membuat area nonkelas kustom untuk jendelanya harus memproses pesan-pesan ini. Saat melakukannya, aplikasi harus menggunakan konteks perangkat jendela untuk melakukan gambar di jendela. Konteks perangkat jendela memungkinkan aplikasi untuk menggambar di semua bagian jendela, termasuk area nonclient. Aplikasi mengambil konteks perangkat jendela dengan menggunakan fungsi GetWindowDC atau GetDCEx dan, saat gambar selesai, harus merilis konteks perangkat jendela dengan menggunakan fungsi ReleaseDC .
Sistem mempertahankan wilayah pembaruan untuk area nonkelola. Saat aplikasi menerima pesan WM_NCPAINT , parameter wParam berisi handel ke wilayah yang menentukan dimensi wilayah pembaruan. Aplikasi dapat menggunakan handel untuk menggabungkan wilayah pembaruan dengan wilayah kliping untuk konteks perangkat jendela. Sistem tidak secara otomatis menggabungkan wilayah pembaruan saat mengambil konteks perangkat jendela kecuali aplikasi menggunakan GetDCEx dan menentukan handel wilayah dan bendera DCX_INTERSECTRGN. Jika aplikasi tidak menggabungkan wilayah pembaruan, hanya operasi menggambar yang akan diperluas di luar jendela yang dipotong. Aplikasi ini tidak bertanggung jawab untuk menghapus wilayah pembaruan, terlepas dari apakah aplikasi menggunakan wilayah tersebut.
Jika aplikasi memproses pesan WM_NCACTIVATE , setelah memprosesnya harus mengembalikan TRUE untuk mengarahkan sistem untuk menyelesaikan perubahan jendela aktif. Jika jendela diminimalkan ketika aplikasi menerima pesan WM_NCACTIVATE , jendela harus meneruskan pesan ke DefWindowProc. Dalam kasus seperti itu, fungsi default menggambar ulang label untuk ikon.