Функция SetTextJustification


Функция SetTextJustification задает величину пробела, который система должна прибавить к символам прерывания в строке текста. Пробел добавляется тогда, когда приложение вызывает функцию TextOut или ExtTextOut.

Синтаксис 

BOOL SetTextJustification(
  HDC hdc,          // дескриптор DC
  int nBreakExtra,  // длина дополнительного пространства
  int nBreakCount   // общее количество символов пробела
);

Параметры

hdc
[in] Дескриптор контекста устройства.
nBreakExtra
[in] Устанавливает суммарное дополнительное пространство, в логических единицах измерения, которое добавляться к строке текста. Если текущий режим отображения - не MM_TEXT, значение, идентифицированное параметром nBreakExtra  преобразуется и округляется до ближайшего пикселя.
nBreakCount
[in] Устанавливает число символов прерывания в строке.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - не нуль.

Если функция завершается ошибкой, возвращаемое значение - нуль.

Windows NT/2000/XP: Чтобы получить дополнительные сведения об ошибке, вызовите функцию GetLastError.

Замечания

Символ интервала - это обычно пробел (ASCII 32), но он может задаваться шрифтом как какой-либо другой символ. Функция GetTextMetrics может использоваться, чтобы извлечь символ интервала шрифта.

 Функция TextOut распределяет указанное дополнительное пространство равномерно среди символов интервала в строке.

 Функция GetTextExtentPoint32 всегда используется с функцией SetTextJustification. Иногда функция GetTextExtentPoint32 принимает во внимание выравнивание при вычислении ширины заданной строки перед выравниванием, а иногда она этого не делает. Для большего количества подробностей об этом, см. статью о функции GetTextExtentPoint32. Эта ширина должна быть известна прежде, чем соответствующее значение nBreakExtra может быть вычислено.

Функция SetTextJustification может использоваться, чтобы выровнять строку, которая содержит многочисленные строки из других шрифтов. В этом случае, каждая строка должна быть выровнена отдельно.

 Поскольку в ходе выравнивания могут произойти погрешности округления, система сохраняет текущий предел погрешности, который определяет текущее значение погрешности. При выравнивании строки, которая содержит множество последовательностей, функция GetTextExtentPoint автоматически использует этот предел погрешности, когда вычисляет протяженность следующей последовательности символов, давая возможность функции TextOut обеспечить плавный переход погрешности в новую последовательность. После того, как каждая строка была выровнена, этот предел погрешности должен быть сброшен, чтобы воспрепятствовать ему быть встроенным в следующую строку. Предел погрешности может быть сброшен при помощи вызова функции SetTextJustification с установленным в нуль параметром nBreakExtra.

Смотри также

Обзор шрифты и текст, Функции, используемые шрифтами и текстом, ExtTextOut, GetTextExtentPoint32, GetTextMetrics, TextOut

Размещение и совместимость SetTextJustification

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Gdi32.lib

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

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

Hosted by uCoz