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 不会出错,但在上下文更改为“按监视器 v2”之前,标志不会影响指定对话框的行为。

要求

要求
最低受支持的客户端 Windows 10版本 1703 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 winuser.h
Library User32.lib
DLL User32.dll

另请参阅

DIALOG_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior