Compartir a través de


Establecimiento de la alineación de texto

Puede consultar y establecer la alineación de texto para un contexto de dispositivo mediante las funciones GetTextAlign y SetTextAlign . La configuración de alineación de texto determina cómo se coloca el texto en relación con una ubicación especificada. El texto se puede alinear a la derecha o izquierda de la posición o centrarse sobre él; también se puede alinear por encima o por debajo del punto.

En el ejemplo siguiente se muestra un método para determinar qué marca de alineación horizontal se establece:

switch ((TA_LEFT | TA_RIGHT | TA_CENTER) & GetTextAlign(hdc)) 
{ 
    case TA_LEFT: 
       . 
       . 
       . 
    case TA_RIGHT: 
       . 
       . 
       . 
    case TA_CENTER: 
       . 
       . 
       . 
} 

También puede usar la función SetTextAlign para actualizar la posición actual cuando se llama a una función de salida de texto. Por ejemplo, en el ejemplo siguiente se usa la función SetTextAlign para actualizar la posición actual cuando se llama a la función TextOut . En este ejemplo, el parámetro cArial es un entero que especifica el número de fuentes Arial.

UINT uAlignPrev; 
char szCount[8];
HRESULT hr;
size_t * pcch; 
 
uAlignPrev = SetTextAlign(hdc, TA_UPDATECP); 
MoveToEx(hdc, 10, 50, (LPPOINT) NULL); 
TextOut(hdc, 0, 0, "Number of Arial fonts: ", 23); 
itoa(cArial, szCount, 10); 

hr = StringCchLength(szCount, 9, pcch);
if (FAILED(hr))
{
// TODO: write error handler 
}
 
TextOut(hdc, 0, 0, (LPSTR) szCount, *pcch); 
SetTextAlign(hdc, uAlignPrev); 

Nota

No debe usar SetTextAlign con TA_UPDATECP cuando use ScriptStringOut, porque el texto seleccionado no se representa correctamente. Si debe usar esta marca, puede anular la configuración y restablecerla según sea necesario para evitar el problema.