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 |