次の方法で共有


WM_GETDPISCALEDSIZE メッセージ

このメッセージは、ウィンドウが既定以外のサイズに設定されることをオペレーティング システムに通知します。

このメッセージは、WM_DPICHANGED メッセージが送信される前にモニター v2 ごとのDPI_AWARENESS_CONTEXTを使用して最上位のウィンドウに送信され、ウィンドウが保留中の DPI 変更の目的のサイズを計算できるようにします。 線形 DPI スケーリングが既定の動作であるため、これは、ウィンドウが非線形にスケーリングする必要があるシナリオでのみ役立ちます。 アプリケーションがこのメッセージに応答した場合、結果のサイズは 、WM_DPICHANGEDに送信される候補の四角形になります。

このメッセージを使用して、 WM_DPICHANGEDで提供される rect のサイズを変更します。

#define WM_GETDPISCALEDSIZE       0x02E4

パラメーター

wParam する

WPARAM には DPI 値が含まれています。 アプリケーションが設定する拡大/縮小されたウィンドウ サイズは、ウィンドウがこの DPI に切り替えられるかのように計算する必要があります。

lParam

LPARAM は、SIZE 構造体へのイン/アウト ポインターです。 LPARAM の _In_ 値は、ユーザーが開始した移動または SetWindowPos の呼び出し後のウィンドウの保留中のサイズです。 ウィンドウのサイズを変更する場合、このサイズは、このメッセージを受信した時点でのウィンドウの現在のサイズと必ずしも同じではありません。

LPARAM の _Out_ 値は、WPARAM で指定された DPI 値に対応する目的のスケーリングされたウィンドウ サイズを指定するために、アプリケーションによって書き込まれる必要があります。

戻り値

この関数は BOOL を返します。 TRUE を返すは、新しいサイズが計算されたことを示します。 FALSE を返すと、メッセージは処理されず、既定の線形 DPI スケーリングがウィンドウに適用されます。

注釈

このメッセージは、モニターごと v2 の DPI 認識コンテキストを持つ最上位のウィンドウにのみ送信されます。

このイベントは、適切な非線形スケーリングを容易にするために必要であり、カーソルとの関係やモニター間を行き来する際に、ウィンドウの位置が一定に保たれるようにします。

DefWindowProc では、このメッセージの特定の既定の処理はありません。 明示的に処理しないすべてのメッセージについては、 DefWindowProc はこのメッセージに対してゼロを返します。 前述のように、この戻り値は、既定の線形動作を使用するようにシステムに指示します。

必要条件

要件 価値
サポートされる最小クライアント
Windows 10 バージョン 1703 [デスクトップ アプリのみ]
サポートされている最小サーバー
Windows Server 2016 [デスクトップ アプリのみ]
ヘッダ
Winuser.h