WM_GETDPISCALEDSIZE訊息
此訊息會告訴操作系統,視窗的大小會調整為預設值以外的維度。
在傳送WM_DPICHANGED訊息之前,此訊息會傳送至具有每個監視器 v2 DPI_AWARENESS_CONTEXT的最上層視窗,並允許窗口計算其暫止 DPI 變更所需的大小。 由於線性 DPI 縮放是預設行為,這隻適用於視窗想要以非線性方式縮放的案例。 如果應用程式回應此訊息,產生的大小會是傳送至 WM_DPICHANGED的候選矩形。
使用此訊息來改變提供給 WM_DPICHANGED 的 rect 大小。
#define WM_GETDPISCALEDSIZE 0x02E4
參數
-
wParam
-
WPARAM 包含 DPI 值。 應用程式所設定的縮放視窗大小需要計算,就像視窗要切換至這個 DPI 一樣。
-
lParam
-
LPARAM 是 SIZE 結構的 in/out 指標。 LPARAM 中的 _In_ 值是在使用者起始移動或呼叫 SetWindowPos 之後,視窗的暫止大小。 如果視窗正在重設大小,則此大小不一定與收到此訊息時視窗目前的大小相同。
LPARAM 中的 _Out_ 值應該由應用程式寫入,以指定與 WPARAM 中提供的 DPI 值對應的所需縮放視窗大小。
傳回值
函式會傳回 BOOL。 傳回TRUE表示已計算新的大小。 傳回 FALSE 表示不會處理訊息,而且預設的線性 DPI 縮放比例會套用至視窗。
備註
此訊息只會傳送至具有每部監視器 v2 DPI 感知內容的頂層視窗。
此事件是輔助正常非線性縮放的必要事件,並確保視窗的位置與游標保持關聯性,以及在跨監視器來回移動時保持一致。
DefWindowProc 中沒有此訊息的特定預設處理。 至於它未明確處理的所有訊息, DefWindowProc 會針對此訊息傳回零。 如上所述,此傳回會告知系統使用默認線性行為。
需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 10 版本 1703 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2016 [僅限傳統型應用程式] |
頁首 |
|