Función SetDialogDpiChangeBehavior (winuser.h)

Los diálogos en contextos de Per-Monitor v2 se escalan automáticamente con PPP. Este método le permite personalizar su comportamiento de cambio de PPP.

Esta función funciona junto con la enumeración DIALOG_DPI_CHANGE_BEHAVIORS para invalidar el comportamiento de escalado de PPP predeterminado para los diálogos. Se llama a esta función en un cuadro de diálogo especificado, para el que se guardan individualmente las marcas especificadas.

Esta función no afecta al comportamiento de escalado de PPP para las ventanas secundarias del cuadro de diálogo en cuestión, que se realiza con SetDialogControlDpiChangeBehavior.

Sintaxis

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

Parámetros

hDlg

Identificador del cuadro de diálogo cuyo comportamiento se modificará.

mask

Máscara que especifica el subconjunto de marcas que se van a cambiar.

values

Valor deseado que se va a establecer para el subconjunto de marcas especificado.

Valor devuelto

Esta función devuelve TRUE si la operación se realizó correctamente y FALSE en caso contrario. Para obtener información de error extendida, llame a GetLastError.

Los posibles errores se ERROR_INVALID_HANDLE si se pasa un HWND de diálogo no válido y ERROR_ACCESS_DENIED si el diálogo pertenece a otro proceso.

Comentarios

Para la extensibilidad, DIALOG_DPI_CHANGE_BEHAVIORS se modeló como un conjunto de marcas de bits que representan comportamientos independientes. Esta función sigue el enfoque típico de dos parámetros para establecer marcas, donde una máscara especifica el subconjunto de las marcas que se van a cambiar.

No es un error llamar a esta API fuera de los contextos de Per Monitor v2, aunque las marcas no tendrán ningún efecto en el comportamiento del cuadro de diálogo especificado hasta que el contexto se cambie a Per Monitor v2.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 1703 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2016 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winuser.h
Library User32.lib
Archivo DLL User32.dll

Consulte también

DIALOG_DPI_CHANGE_BEHAVIORS

GetDialogDpiChangeBehavior