Bagikan melalui


Kapan Menggambar di Jendela

Aplikasi menggambar di jendela pada berbagai waktu: saat pertama kali membuat jendela, saat mengubah ukuran jendela, saat memindahkan jendela dari belakang jendela lain, saat meminimalkan atau memaksimalkan jendela, saat menampilkan data dari file yang dibuka, dan saat menggulir, mengubah, atau memilih sebagian data yang ditampilkan.

Sistem mengelola tindakan seperti memindahkan dan mengubah ukuran jendela. Jika tindakan memengaruhi konten jendela, sistem menandai bagian jendela yang terpengaruh sebagai siap untuk memperbarui dan, pada kesempatan berikutnya, mengirim pesan WM_PAINT ke prosedur jendela jendela. Pesan adalah sinyal ke aplikasi untuk menentukan apa yang harus diperbarui dan untuk melakukan gambar yang diperlukan.

Beberapa tindakan dikelola oleh aplikasi, seperti menampilkan file yang terbuka dan memilih data yang ditampilkan. Untuk tindakan ini, aplikasi dapat menandai untuk memperbarui bagian jendela yang terpengaruh oleh tindakan, menyebabkan pesan WM_PAINT dikirim pada kesempatan berikutnya. Jika tindakan memerlukan umpan balik segera, aplikasi dapat menarik saat tindakan berlangsung, tanpa menunggu WM_PAINT. Misalnya, aplikasi umum menyoroti area yang dipilih pengguna daripada menunggu pesan WM_PAINT berikutnya untuk memperbarui area.

Dalam semua kasus, aplikasi dapat menggambar di jendela segera setelah dibuat. Untuk menggambar di jendela, aplikasi harus terlebih dahulu mengambil handel ke konteks perangkat tampilan untuk jendela. Idealnya, aplikasi melakukan sebagian besar operasi gambarnya selama pemrosesan pesan WM_PAINT . Dalam hal ini, aplikasi mengambil konteks perangkat tampilan dengan memanggil fungsi BeginPaint . Jika aplikasi menggambar di lain waktu, seperti dari dalam WinMain atau selama pemrosesan pesan keyboard atau mouse, aplikasi memanggil fungsi GetDC atau GetDCEx untuk mengambil DC tampilan.