SetDialogDpiChangeBehavior 函式 (winuser.h)

個別監視器 v2 內容中的對話框會自動縮放 DPI。 此方法可讓您自定義其 DPI 變更行為。

此函式可與 DIALOG_DPI_CHANGE_BEHAVIORS 列舉搭配運作,以覆寫對話的預設 DPI 縮放行為。 這個函式會在指定的對話框中呼叫,而指定的旗標會個別儲存。

此函式不會影響有問題的對話框子視窗的 DPI 縮放行為, 這是使用 SetDialogControlDpiChangeBehavior 完成的。

語法

BOOL SetDialogDpiChangeBehavior(
  HWND                        hDlg,
  DIALOG_DPI_CHANGE_BEHAVIORS mask,
  DIALOG_DPI_CHANGE_BEHAVIORS values
);

參數

hDlg

對話框的句柄,其行為將會修改。

mask

遮罩,指定要變更之旗標的子集。

values

要為指定的旗標子集設定所需的值。

傳回值

如果作業成功,則此函式會傳回 TRUE,否則傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

如果傳遞了無效的對話 HWND,ERROR_INVALID_HANDLE可能的錯誤,如果對話框屬於另一個進程,ERROR_ACCESS_DENIED

備註

針對擴充性, DIALOG_DPI_CHANGE_BEHAVIORS 模型化為代表不同行為的一組位旗標。 此函式遵循設定旗標的一般雙參數方法,其中遮罩會指定要變更之旗標的子集。

在 Per Monitor v2 內容之外呼叫此 API 不是錯誤,不過旗標將不會影響指定對話框的行為,直到內容變更為 Per Monitor v2 為止。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1703 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h
程式庫 User32.lib
Dll User32.dll

另請參閱

DIALOG_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior