This function converts, or maps, the specified dialog box units to screen units, or 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.
At a Glance
Header file: | Winuser.h |
Windows CE versions: | 1.0 and later |
Syntax
BOOL MapDialogRect( HWND hDlg, LPRECT lpRect );
Parameters
hDlg
[in] Handle to a dialog box. This function accepts only handles returned by one of the dialog box creation functions; handles for other windows are not valid.
lpRect
[in] Long pointer to a RECT structure that contains the dialog box coordinates to be converted.
Return Values
Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.
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
The base units for the dialog box are the same as those retrieved by using the GetDialogBaseUnits function.
If one of the dimensions specified in the RECT structure is not a multiple of four, MapDialogRect always results in a rectangle that one pixel more for that dimension.
See Also
CreateDialog, CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam, DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam, GetDialogBaseUnits, RECT