winuser.h


MapDialogRect

La función MapDialogRect convierte las unidades de diálogo especificadas a unidades de pantalla (pixels). La función remplaza las coordenadas en la estructura RECT especificada con las coordenadas convertidas, lo cual permite que la estructura sea usada para crear un cuadro de diálogo o para colocar un control dentro de un cuadro de diálogo.

Sintaxis

BOOL MapDialogRect(
    HWND hDlg,     // manipulador de cuadro de diálogo
    LPRECT lpRect  // dirección de estructura con rectángulo
   );

Parámetros

hDlg: identifica un cuadro de diálogo. Esta función acepta sólo manipuladores de cuadros de diálogo creados por una de las funciones de creación de cuadros de diálogo; los manipuladores de otras ventanas no son válidos.

lpRect: apunta a una estructura RECT que contiene las coordenadas de cuadro de diálogo a convertir.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la función falla, el valor de retorno es cero.

Observaciones

La función MapDialogRect asume que las coordenadas iniciciales en la estructura RECT representan unidades de diálogo. Para convertir estas coordenadas de unidades de cuadro de diálogo a pixels, la función recupera las unidades base horizontal y vertical para el cuadro de diálogo, y después aplica las formulas siguientes:

left   = (left   * baseunitX) / 4
right  = (right  * baseunitX) / 4
top    = (top    * baseunitY) / 8
bottom = (bottom * baseunitY) / 8

En muchos casos, las unidades base para el cuadro de diálogo son las mismas que aquellas recuperadas usando la función GetDialogBaseUnits. Si la plantilla de cuadro de diálogo tiene el estilo DS_SETFONT, sin embargo, las unidades base son las anchura y altura media, en pixels, de los caracteres en la fuente dada por la plantilla.