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 [僅限傳統型應用程式]
頁首
Winuser.h