mapDialogRect 函式 (winuser.h)

將指定的對話框單位轉換成螢幕單位, (像素) 。 函式會將指定 之 RECT 結構中的座標取代為轉換的座標,讓結構可用來建立對話框或將控件放置在對話框中。

語法

BOOL MapDialogRect(
  [in]      HWND   hDlg,
  [in, out] LPRECT lpRect
);

參數

[in] hDlg

類型: HWND

對話框的句柄。 此函式只接受其中一個對話框建立函式所傳回的句柄;其他視窗的句柄無效。

[in, out] lpRect

類型: LPRECT

RECT 結構的指標,其中包含要轉換的對話框座標。

傳回值

類型: BOOL

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

MapDialogRect 函式假設 RECT 結構中的初始座標代表對話框單位。 若要將這些座標從對話框單位轉換成圖元,函式會擷取對話框目前的水準和垂直基底單位,然後套用下列公式:


left   = MulDiv(left,   baseunitX, 4);
right  = MulDiv(right,  baseunitX, 4);
top    = MulDiv(top,    baseunitY, 8);
bottom = MulDiv(bottom, baseunitY, 8);

如果對話框範本具有 DS_SETFONTDS_SHELLFONT 樣式,則基底單位是範本所指定字型中字元的平均寬度和高度,以圖元為單位。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-dialogbox-l1-1-2 (Windows 10 10.0.10240 版)

另請參閱

概念

對話框

GetDialogBaseUnits

其他資源

矩形

參考