MapDialogRect 関数 (winuser.h)
指定したダイアログ ボックスの単位を画面単位 (ピクセル) に変換します。 関数は、指定した RECT 構造体の座標を変換された座標に置き換えます。これにより、構造体を使用してダイアログ ボックスを作成したり、ダイアログ ボックス内にコントロールを配置したりできます。
構文
BOOL MapDialogRect(
[in] HWND hDlg,
[in, out] LPRECT lpRect
);
パラメーター
[in] hDlg
型: HWND
ダイアログ ボックスへのハンドル。 この関数は、ダイアログ ボックス作成関数の 1 つによって返されるハンドルのみを受け入れます。他のウィンドウのハンドルが無効です。
[in, out] lpRect
種類: LPRECT
変換するダイアログ ボックス座標を含む RECT 構造体へのポインター。
戻り値
種類: BOOL
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
MapDialogRect 関数は、RECT 構造体の初期座標がダイアログ ボックスの単位を表していることを前提としています。 これらの座標をダイアログ ボックスの単位からピクセルに変換するために、関数はダイアログ ボックスの現在の水平および垂直方向の基本単位を取得し、次の数式を適用します。
left = MulDiv(left, baseunitX, 4);
right = MulDiv(right, baseunitX, 4);
top = MulDiv(top, baseunitY, 8);
bottom = MulDiv(bottom, baseunitY, 8);
ダイアログ ボックス テンプレートに DS_SETFONT または DS_SHELLFONT スタイルがある場合、基本単位は、テンプレートで指定されたフォント内の文字の平均幅と高さ (ピクセル単位) です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-dialogbox-l1-1-2 (Windows 10 バージョン 10.0.10240 で導入) |
関連項目
概念
その他のリソース
参照