Windows Mobile 6.5
A version of this page is also available for

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.

BOOL MapDialogRect( 
  HWND hDlg, 
  LPRECT lpRect


[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.


[in] Long pointer to a RECT structure that contains the dialog box coordinates to be converted.

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

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.

Windows Embedded CEWindows CE 1.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions