Поделиться через


Функция SetTextJustification (wingdi.h)

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

Синтаксис

BOOL SetTextJustification(
  [in] HDC hdc,
  [in] int extra,
  [in] int count
);

Параметры

[in] hdc

Дескриптор контекста устройства.

[in] extra

Общее дополнительное пространство в логических единицах, добавляемое к строке текста. Если текущий режим сопоставления не MM_TEXT, значение, определенное параметром nBreakExtra , преобразуется и округляется до ближайшего пикселя.

[in] count

Количество символов разрыва в строке.

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

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

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

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

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

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

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

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

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

См. также раздел

ExtTextOut

Функции шрифта и текста

Общие сведения о шрифтах и тексте

GetTextExtentPoint32

GetTextMetrics

TextOut