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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 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

其他資源

矩形

參考