enumerasi DPI_AWARENESS (windef.h)
Mengidentifikasi pengaturan titik per inci (dpi) untuk utas, proses, atau jendela.
Sintaks
typedef enum DPI_AWARENESS {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2
} ;
Konstanta
DPI_AWARENESS_INVALID Nilai: -1 Kesadaran DPI tidak valid. Ini adalah nilai kesadaran DPI yang tidak valid. |
DPI_AWARENESS_UNAWARE Nilai: 0 DPI tidak menyadari. Proses ini tidak menskalakan perubahan DPI dan selalu diasumsikan memiliki faktor skala 100% (96 DPI). Ini akan secara otomatis diskalakan oleh sistem pada pengaturan DPI lainnya. |
DPI_AWARENESS_SYSTEM_AWARE Nilai: 1 DPI sistem sadar. Proses ini tidak menskalakan perubahan DPI. Ini akan meminta DPI sekali dan menggunakan nilai tersebut selama masa proses. Jika DPI berubah, proses tidak akan menyesuaikan dengan nilai DPI baru. Ini akan secara otomatis ditingkatkan atau diturunkan oleh sistem ketika DPI berubah dari nilai sistem. |
DPI_AWARENESS_PER_MONITOR_AWARE Nilai: 2 Per monitor DPI sadar. Proses ini memeriksa DPI saat dibuat dan menyesuaikan faktor skala setiap kali DPI berubah. Proses ini tidak secara otomatis diskalakan oleh sistem. |
Keterangan
Di versi Windows sebelumnya, nilai DPI hanya diatur sekali untuk seluruh aplikasi. Untuk aplikasi tersebut, jenis PROCESS_DPI_AWARENESS menentukan jenis kesadaran DPI untuk seluruh aplikasi. Saat ini, kesadaran DPI didefinisikan pada utas, jendela, atau tingkat proses individu dan ditunjukkan oleh jenis DPI_AWARENESS . Meskipun fokus bergeser dari tingkat proses ke tingkat utas, berbagai jenis kesadaran DPI sama: tidak sadar, sadar sistem, dan sadar per monitor. Untuk deskripsi terperinci dan beberapa contoh berbagai jenis DPI, lihat PROCESS_DPI_AWARENESS.
Rekomendasi lama adalah menentukan tingkat kesadaran DPI dalam manifes aplikasi menggunakan pengaturan dpiAware seperti yang dijelaskan dalam PROCESS_DPI_AWARENESS. Sekarang setelah kesadaran DPI terkait dengan utas dan jendela alih-alih seluruh aplikasi, pengaturan jendela baru ditambahkan ke manifes aplikasi. Pengaturan ini adalah dpiAwareness dan akan mengambil alih pengaturan dpiAware jika keduanya ada dalam manifes. Meskipun masih disarankan untuk menggunakan manifes, Anda sekarang dapat mengubah kesadaran DPI saat aplikasi berjalan dengan menggunakan SetThreadDpiAwarenessContext.
Penting untuk dicatat bahwa jika aplikasi Anda memiliki jendela DPI_AWARENESS_PER_MONITOR_AWARE , Anda bertanggung jawab untuk melacak DPI dengan merespons pesan WM_DPICHANGED .
Contoh
Cuplikan ini menunjukkan cara menetapkan nilai DPI_AWARENESS_SYSTEM_AWARE dalam manifes aplikasi Anda.
<dpiAwareness>System</dpiAwareness>
Cuplikan ini menunjukkan cara menetapkan nilai DPI_AWARENESS_PER_MONITOR_AWARE dalam manifes aplikasi Anda.
<dpiAwareness>PerMonitor</dpiAwareness>
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 10 [khusus aplikasi desktop] |
Server minimum yang didukung | Tidak ada yang didukung |
Header | windef.h |