DPI_AWARENESS_CONTEXT控制碼

識別視窗的感知內容。

Syntax

#define DPI_AWARENESS_CONTEXT_UNAWARE              ((DPI_AWARENESS_CONTEXT)-1)
#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE         ((DPI_AWARENESS_CONTEXT)-2)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE    ((DPI_AWARENESS_CONTEXT)-3)
#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4)
#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED    ((DPI_AWARENESS_CONTEXT)-5)

常數

DPI_AWARENESS_CONTEXT_UNAWARE

DPI 未察覺。 此視窗不會縮放 DPI 變更,而且一律假設縮放比例為 100% (96 DPI) 。 系統會在任何其他 DPI 設定上自動調整。

DPI_AWARENESS_CONTEXT_SYSTEM_AWARE

系統 DPI 感知。 此視窗不會針對 DPI 變更進行調整。 它會查詢 DPI 一次,並在進程的存留期內使用該值。 如果 DPI 變更,程式將不會調整為新的 DPI 值。 當 DPI 從系統值變更時,系統會自動相應增加或減少。

DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE

每部監視器 DPI 感知。 此視窗會在建立 DPI 時檢查 DPI,並在 DPI 變更時調整縮放比例。 系統不會自動調整這些程式。

DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2

也稱為 每部監視器 v2。 對於原始個別監視器 DPI 感知模式的進展,可讓應用程式在每個最上層視窗上存取新的 DPI 相關縮放行為。
每個監視器 v2 已在 Windows 10 的 Creators Update 中提供,無法在舊版作業系統上使用。
引進的其他行為如下:

  • 子視窗 DPI 變更通知 - 在每部監視器 v2 內容中,整個視窗樹狀結構會收到任何發生 DPI 變更的通知。
  • 調整非工作區 - 所有視窗都會自動以 DPI 敏感性方式繪製其非工作區。 不需要呼叫 EnableNonClientDpiScaling
  • 調整 Win32 功能表 - 每個監視器 v2 內容中建立的所有 NTUSER 功能表都會以個別監視器的方式調整。
  • 對話方塊縮放 - 在每個監視器 v2 內容中建立的 Win32 對話方塊會自動回應 DPI 變更。
  • 改善 comctl32 控制項的縮放 比例 - 各種 comctl32 控制項已改善每個監視器 v2 內容的 DPI 縮放行為。
  • 改善主題行為 - 在 Per Monitor v2 視窗的內容中開啟的 UxTheme 控制碼將會以與該視窗相關聯的 DPI 運作。

DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED

DPI 不會察覺 GDI 型內容品質的改善。 當視窗顯示在高 DPI 監視器上時,此模式的行為與DPI_AWARENESS_CONTEXT_UNAWARE類似,但也讓系統能夠自動改善文字和其他 GDI 型基本類型的轉譯品質。

如需詳細資訊,請參閱 改善 GDI 型傳統型應用程式中的高 DPI 體驗

DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED是在 2018 年 10 月的 Windows 10 (2018 年 10 月更新中引進,也稱為 1809 版) 。

規格需求

需求
最低支援的用戶端
Windows 10 1607 版 [僅限傳統型應用程式]
最低支援的伺服器
都不支援
標頭
windef.h

另請參閱

AreDpiAwarenessCoNtextsEqual

GetAwarenessFromDpiAwarenessCoNtext

GetDpiFromDpiAwarenessCoNtext

GetThreadDpiAwarenessCoNtext

GetWindowDpiAwarenessCoNtext

IsValidDpiAwarenessCoNtext

SetProcessDpiAwarenessCoNtext

SetThreadDpiAwarenessCoNtext