Método ITextServices::TxGetNaturalSize (textserv.h)
Permite cambiar el tamaño de un control para que se ajuste adecuadamente a su contenido.
Sintaxis
HRESULT TxGetNaturalSize(
DWORD dwAspect,
HDC hdcDraw,
HDC hicTargetDev,
DVTARGETDEVICE *ptd,
DWORD dwMode,
const SIZEL *psizelExtent,
[in, out] LONG *pwidth,
[in, out] LONG *pheight
);
Parámetros
dwAspect
Tipo: DWORD
Aspecto del dibujo. Puede ser cualquiera de los valores de la enumeración DVASPECT .
hdcDraw
Tipo: HDC
Contexto del dispositivo en el que se produce el dibujo.
hicTargetDev
Tipo: HDC
Contexto del dispositivo para el que se debe dar formato al texto (es decir, para WYSIWYG).
ptd
Tipo: DVTARGETDEVICE*
Más información sobre el dispositivo de destino.
dwMode
Tipo: DWORD
Tipo de ajuste solicitado. Puede ser uno de los siguientes.
Valor | Significado |
---|---|
|
Use unidades métricas en inglés (EMU) en lugar de píxeles como unidades de medición para los parámetros de este método. |
|
Cambie el tamaño del control para ajustar todo el texto mediante el formato del texto al ancho que se pasa. El objeto de servicios de texto devuelve el alto de todo el texto y el ancho de la línea más ancha.
Por ejemplo, esto se debe hacer cuando el usuario hace doble clic en uno de los identificadores del control. |
|
Cambie el tamaño del control para que se ajuste al contenido con sangría. |
|
Cambie el tamaño del control para que se ajuste al contenido con sangría y al espacio en blanco final. |
|
Cambie el tamaño del control para que se ajuste al contenido sin sangr y al espacio en blanco final. |
|
Para un control de texto sin formato, incluya el alto del retorno de carro final al calcular el tamaño. |
|
Cambie el tamaño del control para mostrar un número entero de líneas (no se recorta ninguna línea). Dar formato al texto suficiente para rellenar el ancho y alto que se pasa y, a continuación, devolver un alto redondeado al límite de línea más cercano.
Nota El ancho y alto pasados y devueltos corresponden al rectángulo de vista. El host debe volver a ajustarse al rectángulo del cliente según sea necesario. Dado que estos valores representan la extensión del objeto de texto, son de entrada y salida en coordenadas HIMETRIC (cada unidad HIMETRIC es .01 milímetros) y la medición no incluye ningún factor de zoom. Para obtener una explicación del factor de zoom, consulte TxGetExtent.
|
psizelExtent
Tipo: const SIZEL*
No compatible.
[in, out] pwidth
Tipo: LONG*
Ancho del ajuste definido por dwMode.
[in, out] pheight
Tipo: LONG*
Alto del ajuste definido por dwMode.
Valor devuelto
Tipo: HRESULT
Si el método se realiza correctamente, el valor devuelto se S_OK.
Si los servicios de texto no pudieron activar el objeto, el valor devuelto es uno de los siguientes códigos HRESULT . Para obtener más información sobre los códigos de error COM, vea Control de errores en COM.
Código devuelto | Descripción |
---|---|
|
No se puede determinar el tamaño correcto. |
|
Uno o varios argumentos no son válidos. |
|
Memoria insuficiente. |
Comentarios
Los cuatro primeros parámetros son similares a los parámetros equivalentes de ITextServices::TxDraw y proporcionan la misma información. En el caso de que se deben recalcular las líneas, debe usar estos valores de las mismas maneras que en ITextServices::TxDraw.
Los parámetros pwidth y pheight son parámetros in/out. El host pasa el ancho provisional y el alto de la extensión natural del objeto de texto. El objeto de servicios de texto compara estos valores con su estado almacenado en caché actual y, si es diferente, recalcula las líneas. A continuación, calcula y devuelve el tamaño natural, tal y como especifica dwMode.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | textserv.h |
Archivo DLL | Msftedit.dll |
Consulte también
Conceptual
Otros recursos
Referencia