GetScaleFactorForMonitor 関数 (shellscalingapi.h)
特定のモニターのスケールファクターを取得します。 この関数は 、GetScaleFactorForDevice に置き換えられます。
構文
HRESULT GetScaleFactorForMonitor(
[in] HMONITOR hMon,
[out] DEVICE_SCALE_FACTOR *pScale
);
パラメーター
[in] hMon
モニターのハンドル。
[out] pScale
この関数が正常に返されると、この値は、指定されたモニターのスケールファクターを指定する DEVICE_SCALE_FACTOR 値のいずれかを指します。
関数呼び出しが失敗した場合、この値は有効なスケール ファクターを指しているため、アプリは間違ったサイズのリソースで続行することを選択できます。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
解説
アプリ ウィンドウはモニター間で移動できるため、コードでは、RegisterScaleChangeEvent によって登録されたスケール変更イベントに加えて、WM_WINDOWPOSCHANGED メッセージを処理する必要があります。 WM_WINDOWPOSCHANGED メッセージに応答して、MonitorFromWindow を呼び出し、次に GetScaleFactorForMonitor を呼び出して、アプリ ウィンドウが表示されているモニターのスケールファクターを取得します。 その後、アセットを再読み込みしてレイアウトを変更することで、コードは 1 インチあたりのドット数 (dpi) の変更に対応できます。
要件
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shellscalingapi.h |
Library | Shcore.lib |
[DLL] | Shcore.dll |