Поделиться через


Функция 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

См. также раздел

RegisterScaleChangeEvent

Отмена регистрацииScaleChangeEvent