Share via


Festlegen der Textausrichtung

Sie können die Textausrichtung für einen Gerätekontext abfragen und festlegen, indem Sie die Funktionen GetTextAlign und SetTextAlign verwenden. Die Textausrichtungseinstellungen bestimmen, wie Text relativ zu einer angegebenen Position positioniert wird. Text kann rechts oder links von der Position ausgerichtet oder zentriert darüber ausgerichtet werden. Sie kann auch oberhalb oder unterhalb des Punkts ausgerichtet werden.

Das folgende Beispiel zeigt eine Methode zum Bestimmen des horizontalen Ausrichtungsflags:

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

Sie können auch die SetTextAlign-Funktion verwenden, um die aktuelle Position zu aktualisieren, wenn eine Textausgabefunktion aufgerufen wird. Für instance verwendet das folgende Beispiel die SetTextAlign-Funktion, um die aktuelle Position zu aktualisieren, wenn die TextOut-Funktion aufgerufen wird. In diesem Beispiel ist der cArial-Parameter eine ganze Zahl, die die Anzahl der Arial-Schriftarten angibt.

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

Hinweis

Sie sollten SetTextAlign nicht mit TA_UPDATECP verwenden, wenn Sie ScriptStringOut verwenden, da ausgewählter Text nicht ordnungsgemäß gerendert wird. Wenn Sie dieses Flag verwenden müssen, können Sie es nach Bedarf aufheben und zurücksetzen, um das Problem zu vermeiden.