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_SETFONT 或 DS_SHELLFONT 样式,则基本单位是模板指定的字体中字符的平均宽度和高度(以像素为单位)。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | Windows 10版本 10.0.10 (240 中引入的 ext-ms-win-ntuser-dialogbox-l1-1-2) |
请参阅
概念性
其他资源
引用