共用方式為


DPI_AWARENESS_CONTEXT句柄

識別視窗的感知內容。

語法

#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 中提供(也稱為版本 1703),且不適用於舊版操作系統。
匯入的其他行為如下:

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

DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED

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

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

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

需求

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

另請參閱

AreDpiAwarenessContextsEqual

GetAwarenessFromDpiAwarenessContext

GetDpiFromDpiAwarenessContext

GetThreadDpiAwarenessContext

GetWindowDpiAwarenessContext

IsValidDpiAwarenessContext

SetProcessDpiAwarenessContext

SetThreadDpiAwarenessContext