MapDialogRect

【勇芳软件工作室】汉化HomePreviousNext

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