MapDialogRect

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
);

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.

Requirements

OS Versions: Windows CE 1.0 and later.
Header: Winuser.h.
Link Library: Dlgmgr.lib.

See Also

CreateDialog | CreateDialogIndirect | CreateDialogIndirectParam | CreateDialogParam | DialogBox | DialogBoxIndirect | DialogBoxIndirectParam | DialogBoxParam | GetDialogBaseUnits | RECT | Dialog Boxes Functions

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.