Параметры выравнивания текста

Вы можете сделать запрос и установить выравнивание текста для контекста устройства при помощи использования функции GetTextAlign и SetTextAlign. Параметры настройки выравнивания текста обуславливают, как текст займет место относительно заданного местоположения. Текст может быть выровнен по правой или левой стороне, или выровнен по центру; он может также быть выровнен верхнему или нижнему краю.

Нижеследующий пример показывает способ определения, который устанавливает флажок горизонтального выравнивания :

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

Вы можете также использовать функцию SetTextAlign, чтобы модифицировать текущую позицию, когда вызывается функция вывода текста . Например, нижеследующий модуль кода  использует функцию SetTextAlign, чтобы модифицировать текущую позицию, когда вызывается функция TextOut. В этом примере, параметр cArial - целое число, которое устанавливает число шрифтов Arial.

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

Обратите внимание! на то, что Вам не следует использовать функцию SetTextAlign с флажком TA_UPDATECP, когда Вы используете функцию ScriptStringOut, потому что выбранный текст предоставляется не правильно. Если Вы используете этот флажок, Вам нужно его не устанавливать и сбрасывать  по мере необходимости, чтобы избежать проблем.

 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz