The MapDialogRect function converts (maps) the specified dialog box units to screen units (pixels). The function replaces the coordinates in the specified RECT structure with the converted coordinates, which allows the structure to be used to create a dialog box or position a control within a dialog box.
BOOL MapDialogRect(
HWND hDlg, | // handle of dialog box |
LPRECT lpRect | // address of structure with rectangle |
); |
Parameters
hDlg
Identifies a dialog box. This function accepts only handles for dialog boxes created by one of the dialog box creation functions; handles for other windows are not valid.
lpRect
Points to a RECT structure that contains the dialog box coordinates to be converted.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Remarks
The MapDialogRect function assumes that the initial coordinates in the RECT structure represent dialog box units. To convert these coordinates from dialog box units to pixels, the function retrieves the current horizontal and vertical base units for the dialog box, then applies the following formulas:
left = (left * baseunitX) / 4
right = (right * baseunitX) / 4
top = (top * baseunitY) / 8
bottom = (bottom * baseunitY) / 8
In most cases, the base units for the dialog box are the same as those retrieved by using the GetDialogBaseUnits function. If the dialog box template has the DS_SETFONT style, however, the base units are the average width and height, in pixels, of the characters in the font given by the template.
See Also
CreateDialog, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, GetDialogBaseUnits, RECT