pesan WM_SIZE
Dikirim ke jendela setelah ukurannya berubah.
Jendela menerima pesan ini melalui fungsi WindowProc-nya.
#define WM_SIZE 0x0005
-
wParam
-
Jenis mengubah ukuran yang diminta. Parameter ini bisa menjadi salah satu nilai berikut.
Value Makna - SIZE_MAXHIDE
- 4
Pesan dikirim ke semua jendela pop-up ketika beberapa jendela lain dimaksimalkan. - SIZE_MAXIMIZED
- 2
Jendela telah dimaksimalkan. - SIZE_MAXSHOW
- 3
Pesan dikirim ke semua jendela pop-up ketika beberapa jendela lain telah dipulihkan ke ukuran sebelumnya. - SIZE_MINIMIZED
- 1
Jendela telah diminimalkan. - SIZE_RESTORED
- 0
Jendela telah diubah ukurannya , tetapi tidak berlaku nilai SIZE_MINIMIZED atau SIZE_MAXIMIZED . -
lParam
-
Kata berurutan rendah dari lParam menentukan lebar baru area klien.
Kata urutan tinggi lParam menentukan tinggi baru area klien.
Jenis: LRESULT
Jika aplikasi memproses pesan ini, aplikasi harus mengembalikan nol.
/******************************************************************
* *
* SimpleText::OnResize *
* *
* If the application receives a WM_SIZE message, this method *
* resize the render target appropriately. *
* *
******************************************************************/
void SimpleText::OnResize(UINT width, UINT height)
{
if (pRT_)
{
D2D1_SIZE_U size;
size.width = width;
size.height = height;
pRT_->Resize(size);
}
}
LRESULT CALLBACK SimpleText::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
SimpleText *pSimpleText = reinterpret_cast<SimpleText *>(
::GetWindowLongPtr(hwnd, GWLP_USERDATA));
if (pSimpleText)
{
switch(message)
{
case WM_SIZE:
{
UINT width = LOWORD(lParam);
UINT height = HIWORD(lParam);
pSimpleText->OnResize(width, height);
}
return 0;
// ...
Contoh dari sampel klasik Windows di GitHub.
Jika fungsi SetScrollPos atau MoveWindow dipanggil untuk jendela anak sebagai akibat dari pesan WM_SIZE, parameter bRedraw atau bRepaint harus nonzero untuk menyebabkan jendela dicat ulang.
Meskipun lebar dan tinggi jendela adalah nilai 32-bit, parameter lParam hanya berisi masing-masing 16 bit berurutan rendah.
Fungsi DefWindowProc mengirim pesan WM_SIZE dan WM_MOVE saat memproses pesan WM_WINDOWPOSCHANGED. Pesan WM_SIZE dan WM_MOVE tidak dikirim jika aplikasi menangani pesan WM_WINDOWPOSCHANGED tanpa memanggil DefWindowProc.
Persyaratan | Value |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
-
Referensi
-
Konseptual
-
Sumber Daya Lainnya