Compartilhar via


MapDialogRect (Compact 2013)

3/28/2014

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.

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 Value

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

Header

winuser.h

Library

Dlgmgr.lib

See Also

Reference

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