MapDialogRect函数将指定的对话框单位转换(映射)为屏幕单位(像素)。该函数用转换的坐标替换指定的RECT结构中的坐标,允许使用该结构创建对话框或在对话框中定位控件。
BOOL MapDialogRect(
HWND 【hDlg】, | //对话框的句柄 |
LPRECT 【LPRECT】 | //具有矩形的结构的地址 |
); |
参数
【hDlg】
标识一个对话框。此函数仅接受由对话框创建函数之一创建的对话框的句柄;其他窗口的句柄无效。
【LPRECT】
指向包含要转换的对话框坐标的RECT结构。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
MapDialogRect函数假定RECT结构中的初始坐标代表对话框单位。要将这些坐标从对话框单位转换为像素,该函数将检索对话框的当前水平和垂直基本单位,然后应用以下公式:
left = (left * baseunitX) / 4
right = (right * baseunitX) / 4
top = (top * baseunitY) / 8
bottom = (bottom * baseunitY) / 8
在大多数情况下,对话框的基本单位与使用GetDialogBaseUnits函数检索的基本单位相同。但是,如果对话框模板具有DS_SETFONT样式,则基本单位是模板给出的字体中的字符的平均宽度和高度(以像素为单位)。
也可以看看
CreateDialog, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, GetDialogBaseUnits, RECT