Функция GetScaleFactorForMonitor (shellscalingapi.h)
Возвращает коэффициент масштабирования определенного монитора. Эта функция заменяет GetScaleFactorForDevice.
Синтаксис
HRESULT GetScaleFactorForMonitor(
[in] HMONITOR hMon,
[out] DEVICE_SCALE_FACTOR *pScale
);
Параметры
[in] hMon
Дескриптор монитора.
[out] pScale
При успешном выполнении этой функции это значение указывает на одно из DEVICE_SCALE_FACTOR значений, задающих коэффициент масштабирования указанного монитора.
Если вызов функции завершается сбоем, это значение указывает на допустимый коэффициент масштабирования, чтобы приложения могли продолжить работу с ресурсами неправильного размера.
Возвращаемое значение
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Код должен обрабатывать сообщение WM_WINDOWPOSCHANGED в дополнение к событию изменения масштаба, зарегистрированному с помощью RegisterScaleChangeEvent, так как окно приложения можно перемещать между мониторами. В ответ на сообщение WM_WINDOWPOSCHANGED вызовите MonitorFromWindow, а затем GetScaleFactorForMonitor , чтобы получить коэффициент масштабирования монитора, на котором находится окно приложения. Затем код может реагировать на любые изменения точек на дюйм (точек на дюйм), перезагружая ресурсы и изменяя макет.
Требования
Минимальная версия клиента | Windows 8.1 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | shellscalingapi.h |
Библиотека | Shcore.lib |
DLL | Shcore.dll |