Función GetScaleFactorForMonitor (shellscalingapi.h)
Obtiene el factor de escala de un monitor específico. Esta función reemplaza a GetScaleFactorForDevice.
Sintaxis
HRESULT GetScaleFactorForMonitor(
[in] HMONITOR hMon,
[out] DEVICE_SCALE_FACTOR *pScale
);
Parámetros
[in] hMon
Identificador del monitor.
[out] pScale
Cuando esta función se devuelve correctamente, este valor apunta a uno de los valores de DEVICE_SCALE_FACTOR que especifican el factor de escala del monitor especificado.
Si se produce un error en la llamada de función, este valor apunta a un factor de escala válido para que las aplicaciones puedan optar por continuar con recursos de tamaño incorrecto.
Valor devuelto
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
El código debe controlar el mensaje de WM_WINDOWPOSCHANGED además del evento de cambio de escala registrado mediante RegisterScaleChangeEvent, ya que la ventana de la aplicación se puede mover entre monitores. En respuesta al mensaje de WM_WINDOWPOSCHANGED , llame a MonitorFromWindow, seguido de GetScaleFactorForMonitor para obtener el factor de escala del monitor en el que se encuentra la ventana de la aplicación. Después, el código puede reaccionar ante cualquier cambio de puntos por pulgada (ppp) mediante la recarga de recursos y el cambio de diseño.
Requisitos
Cliente mínimo compatible | Windows 8.1 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shellscalingapi.h |
Library | Shcore.lib |
Archivo DLL | Shcore.dll |