Bagikan melalui


pesan WM_SETREDRAW

Anda mengirim pesan WM_SETREDRAW ke jendela untuk memungkinkan perubahan di jendela tersebut digambar ulang, atau untuk mencegah perubahan di jendela tersebut digambar ulang.

Untuk mengirim pesan ini, panggil fungsi SendMessage dengan parameter berikut.

SendMessage(
  (HWND) hWnd,
  WM_SETREDRAW,
  (WPARAM) wParam,
  (LPARAM) lParam
);

Parameter

wParam

Keadaan redraw. Jika parameter ini TRUE, maka konten dapat digambar ulang setelah perubahan. Jika parameter ini FALSE, maka konten tidak dapat digambar ulang setelah perubahan.

lParam

Parameter ini tidak digunakan.

Mengembalikan nilai

Aplikasi Anda harus mengembalikan 0 jika memproses pesan ini.

Keterangan

Pesan ini dapat berguna jika aplikasi Anda harus menambahkan beberapa item ke kotak daftar. Aplikasi Anda dapat memanggil pesan ini dengan wParam diatur ke FALSE, menambahkan item, lalu memanggil pesan lagi dengan wParam diatur ke TRUE. Terakhir, aplikasi Anda dapat memanggil RedrawWindow(hWnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN) menyebabkan kotak daftar dicat ulang.

Catatan

Anda harus menggunakan RedrawWindow dengan bendera yang ditentukan, alih-alih InvalidateRect, karena yang pertama diperlukan untuk beberapa kontrol yang memiliki area nonclient sendiri, atau memiliki gaya jendela yang menyebabkannya diberi area nonkelola (seperti WS_THICKFRAME, WS_BORDER, atau WS_EX_CLIENTEDGE). Jika kontrol tidak memiliki area nonclient, maka RedrawWindow dengan bendera ini hanya akan melakukan pembatalan sebanyak invalidasi seperti yang dilakukan InvalidateRect .

Meneruskan pesan WM_SETREDRAW ke fungsi DefWindowProc akan menghapus gaya WS_VISIBLE dari jendela saat wParam diatur ke FALSE. Meskipun konten jendela tetap terlihat di layar, fungsi IsWindowVisible mengembalikan FALSE saat dipanggil pada jendela dalam status ini.

Meneruskan pesan WM_SETREDRAW ke fungsi DefWindowProc menambahkan gaya WS_VISIBLE ke jendela, jika tidak diatur, ketika wParam diatur ke TRUE. Jika aplikasi Anda mengirim pesan WM_SETREDRAW dengan wParam diatur ke TRUE ke jendela tersembunyi, maka jendela akan terlihat.

Windows 10 dan yang lebih baru; Windows Server 2016 dan yang lebih baru. Sistem mengatur properti bernama SysSetRedraw pada jendela yang prosedur jendelanya meneruskan pesan WM_SETREDRAW ke DefWindowProc. Anda dapat menggunakan fungsi GetProp untuk mendapatkan nilai properti saat tersedia. GetProp mengembalikan nilai bukan nol saat redraw dinonaktifkan. GetProp akan mengembalikan nol saat redraw diaktifkan, atau ketika properti jendela tidak ada.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header
Winuser.h (termasuk Windows.h)

Lihat juga