pesan WM_GETDPISCALEDSIZE

Pesan ini memberi tahu sistem operasi bahwa jendela akan berukuran ke dimensi selain default.

Pesan ini dikirim ke jendela tingkat atas dengan DPI_AWARENESS_CONTEXT Per Monitor v2 sebelum pesan WM_DPICHANGED dikirim, dan memungkinkan jendela untuk menghitung ukuran yang diinginkan untuk perubahan DPI yang tertunda. Karena penskalakan DPI linier adalah perilaku default, ini hanya berguna dalam skenario di mana jendela ingin menskalakan secara non-linier. Jika aplikasi merespons pesan ini, ukuran yang dihasilkan akan menjadi persegi panjang kandidat yang dikirim ke WM_DPICHANGED.

Gunakan pesan ini untuk mengubah ukuran rect yang disediakan dengan WM_DPICHANGED.

#define WM_GETDPISCALEDSIZE       0x02E4

Parameter

wParam

WPARAM berisi nilai DPI. Ukuran jendela berskala yang akan ditetapkan aplikasi perlu dihitung seolah-olah jendela akan beralih ke DPI ini.

lParam

LPARAM adalah penunjuk masuk/keluar ke struct SIZE. Nilai _In_ di LPARAM adalah ukuran jendela yang tertunda setelah pemindahan yang dimulai pengguna atau panggilan ke SetWindowPos. Jika jendela sedang diubah ukurannya, ukuran ini belum tentu sama dengan ukuran jendela saat ini pada saat pesan ini diterima.

Nilai _Out_ dalam LPARAM harus ditulis oleh aplikasi untuk menentukan ukuran jendela berskala yang diinginkan yang sesuai dengan nilai DPI yang disediakan di WPARAM.

Nilai hasil

Fungsi mengembalikan BOOL. Mengembalikan TRUE menunjukkan bahwa ukuran baru telah dihitung. Mengembalikan FALSE menunjukkan bahwa pesan tidak akan ditangani, dan penskalakan DPI linier default akan berlaku untuk jendela.

Keterangan

Pesan ini hanya dikirim ke jendela tingkat atas yang memiliki konteks kesadaran DPI per Monitor v2.

Kejadian ini diperlukan untuk memfasilitasi penskalaan non-linier yang anggun, dan memastikan bahwa posisi jendela tetap konstan dalam hubungan dengan kursor dan saat bergerak bolak-balik di seluruh monitor.

Tidak ada penanganan default khusus dari pesan ini di DefWindowProc. Adapun semua pesan yang tidak ditangani secara eksplisit, DefWindowProc akan mengembalikan nol untuk pesan ini. Seperti disebutkan di atas, pengembalian ini memberi tahu sistem untuk menggunakan perilaku linier default.

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows 10, versi 1703 [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2016 [hanya aplikasi desktop]
Header
Winuser.h