Bagikan melalui


Latar Belakang Jendela

Latar belakang jendela adalah warna atau pola yang digunakan untuk mengisi area klien sebelum jendela mulai menggambar. Latar belakang jendela mencakup apa pun yang ada di layar sebelum jendela dipindahkan ke sana, menghapus gambar yang ada dan mencegah output baru aplikasi dicampur dengan informasi yang tidak terkait.

Sistem melukis latar belakang untuk jendela atau memberi jendela kesempatan untuk melakukannya dengan mengirimkannya pesan WM_ERASEBKGND ketika aplikasi memanggil BeginPaint. Jika aplikasi tidak memproses pesan tetapi meneruskannya ke DefWindowProc, sistem menghapus latar belakang dengan mengisinya dengan pola di kuas latar belakang yang ditentukan oleh kelas jendela. Jika kuas tidak valid atau kelas tidak memiliki kuas latar belakang, sistem menetapkan anggota fErase dalam struktur PAINTSTRUCT yang dikembalikan BeginPaint , tetapi tidak melakukan tindakan lain. Aplikasi kemudian memiliki kesempatan kedua untuk menggambar latar belakang jendela, jika perlu.

Jika memproses WM_ERASEBKGND, aplikasi harus menggunakan parameter wParam pesan untuk menggambar latar belakang. Parameter ini berisi handel ke konteks perangkat tampilan untuk jendela. Setelah menggambar latar belakang, aplikasi harus mengembalikan nilai bukan nol. Ini memastikan bahwa BeginPaint tidak secara keliru mengatur anggota fErase struktur PAINTSTRUCT ke nilai bukan nol (menunjukkan latar belakang harus dihapus) ketika aplikasi memproses pesan WM_PAINT berikutnya.

Aplikasi dapat menentukan kuas latar belakang kelas dengan menetapkan handel kuas atau nilai warna sistem ke anggota hbrBackground dari struktur WNDCLASS saat mendaftarkan kelas dengan fungsi RegisterClass . Fungsi GetStockObject atau CreateSolidBrush dapat digunakan untuk membuat handel kuas. Nilai warna sistem dapat menjadi salah satu yang ditentukan untuk fungsi SetSysColors . (Nilai harus ditingkatkan satu sebelum ditetapkan ke anggota.)

Aplikasi dapat memproses pesan WM_ERASEBKGND meskipun kuas latar belakang kelas ditentukan. Ini khas dalam aplikasi yang memungkinkan pengguna mengubah warna atau pola latar belakang jendela untuk jendela tertentu tanpa memengaruhi jendela lain di kelas . Dalam kasus seperti itu, aplikasi tidak boleh meneruskan pesan ke DefWindowProc.

Aplikasi tidak perlu menyelaraskan kuas, karena sistem menarik kuas menggunakan asal jendela sebagai titik referensi. Mengingat hal ini, pengguna dapat memindahkan jendela tanpa memengaruhi penyelarasan kuas pola.