Функция SetTextJustification задает величину пробела, который система должна прибавить к символам прерывания в строке текста. Пробел добавляется тогда, когда приложение вызывает функцию TextOut или ExtTextOut.
Синтаксис
BOOL SetTextJustification( HDC hdc, // дескриптор DC int nBreakExtra, // длина дополнительного пространства int nBreakCount // общее количество символов пробела ); |
Если функция завершается успешно, возвращаемое значение - не нуль.
Если функция завершается ошибкой, возвращаемое значение - нуль.
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 |
Нет |
Замечания по платформе |
Не имеется |