Fungsi EnableNonClientDpiScaling (winuser.h)
Dalam tampilan DPI tinggi, memungkinkan penskalaan tampilan otomatis dari bagian area non-klien dari jendela tingkat atas yang ditentukan. Harus dipanggil selama inisialisasi jendela tersebut.
Sintaks
BOOL EnableNonClientDpiScaling(
[in] HWND hwnd
);
Parameter
[in] hwnd
Jendela yang seharusnya mengaktifkan penskalaian otomatis.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol. Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Memanggil fungsi ini akan memungkinkan penskalaan non-klien untuk jendela tingkat atas individu dengan DPI_AWARENESS_CONTEXTDPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE. Jika sebaliknya Anda tidak menggunakan kesadaran per jendela, dan seluruh proses Anda berjalan dalam mode DPI_AWARENESS_PER_MONITOR_AWARE , memanggil fungsi ini akan memungkinkan penskalaan non-klien di jendela tingkat atas dalam proses Anda.
Jika tidak ada yang benar, atau jika Anda memanggil metode ini dari jendela lain, maka itu akan gagal dan mengembalikan nilai nol.
Penskalaan non-klien untuk jendela tingkat atas tidak diaktifkan secara default. Anda harus memanggil API ini untuk mengaktifkannya untuk setiap jendela tingkat atas individual yang anda inginkan untuk memiliki skala area non-klien secara otomatis. Setelah Anda melakukannya, tidak ada cara untuk menonaktifkannya. Mengaktifkan penskalaan non-klien berarti bahwa semua area yang digambar oleh sistem untuk jendela akan secara otomatis menskalakan sebagai respons terhadap perubahan DPI pada jendela. Itu termasuk area seperti bilah caption, bilah gulir, dan bilah menu. Anda ingin memanggil EnableNonClientDpiScaling ketika Anda ingin sistem operasi bertanggung jawab untuk merender area ini secara otomatis pada ukuran yang benar berdasarkan DPI monitor.
Memanggil fungsi ini memungkinkan penskalaan non-klien hanya untuk jendela tingkat atas. Jendela anak tidak terpengaruh.
Fungsi ini harus dipanggil dari WM_NCCREATE selama inisialisasi jendela baru. Contoh panggilan mungkin terlihat seperti ini:
case WM_NCCREATE:
{
EnableNonClientDpiScaling(hwnd);
return (DefWindowProc(hwnd, message, wParam, lParam));
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10, versi 1607 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2016 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h (termasuk Windows.h) |
Pustaka | User32.lib |
DLL | User32.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk