Функция TabbedTextOut пишет строку символов в заданном месте, разворачивая позиции табуляции в значения, указанные в массиве позиций табуляции. Текст пишется в текущем выбранном шрифте, цвете фона и цвете текста.
Синтаксис
LONG TabbedTextOut( HDC hDC, // дескриптор DC int X, // начальная координата x int Y, // начальная координата y LPCTSTR lpString, // строка символов int nCount, // число символов int nTabPositions, // число шагов табуляции в массиве CONST LPINT lpnTabStopPositions, // массив шагов табуляции int nTabOrigin // начало позиции табуляции ); |
Обратите внимание! на то, что для функции ANSI, буквы в кодовых страницах SBCS (набора однобайтовых символов) берут по одному байту каждый, в то время как большинство букв в кодовых страницах DBCS (набора двухбайтовых символов) берут два байта; для функции Unicode наиболее правильное определение символов Unicode (это в Основной Многоязычной плоскости - Basic Multilingual Plane(BMP)) - одно слово (WORD), в то время как в заменителях Unicode - это два слова (WORD). |
Windows 95/98/Me: Это значение не может быть больше чем 8192.
Windows 95/98/Me: Шаг табуляции может задаваться как отрицательное значение, которое заставляет текст быть выровненным при табуляции по правому краю на шаге табуляции, а не выровненным по левому краю.
Если функция завершается успешно, возвращаемое значение - размеры, в логических единицах измерения, строки. Высота находится в старшем слове, а ширина находится в младшем слове.
Если функция завершается ошибкой, возвращаемое значение - нуль.
Windows NT/2000/XP: Чтобы получить дополнительные сведения об ошибке, вызовите GetLastError .
Замечания
Если параметр nTabPositions равен нулю, а параметр lpnTabStopPositions - ПУСТО (NULL), позиции табуляции увеличиваются до восьмикратной средней ширины символа.
Если nTabPositions - 1, шаги табуляции разделяются расстоянием, заданным первым значением в массиве lpnTabStopPositions.
Если массив lpnTabStopPositions содержит больше чем одно значение, шаг табуляции устанавливается для каждого значения в массиве, до числа, заданного параметром nTabPositions.
Параметр nTabOrigin дает возможность приложению вызвать функцию TabbedTextOut несколько раз для одиночной строки. Если приложение вызывает TabbedTextOut более чем один раз с параметром nTabOrigin, установленным в то же самое значение, функция каждый раз, дополняет все позиции табуляции относительно позиции, заданной nTabOrigin.
По умолчанию, текущая позиция не используется или обновляется функцией TabbedTextOut. Если приложение должно модифицировать текущую позицию, когда оно вызывает TabbedTextOut, прикладная программа может вызвать функцию SetTextAlign с параметром wFlags установленным в TA_UPDATECP. Когда этот флажок устанавливается, система игнорирует параметры X и Y при последующих запросах функции TabbedTextOut, используя текущую позицию вместо этого.
Windows 95/98/Me: TabbedTextOutW поддерживается подпрограммой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в требованиях этой подпрограммы для систем Windows 95/98/Me.
Пример смотри в статье Получение информации об устройстве.
Обзор шрифты и текст , Функции, используемые шрифтами и текстом , DrawText, GetTabbedTextExtent, GrayString, SelectObject, SetBkColor, SetTextAlign, SetTextColor, TextOut
Размещение и совместимость TabbedTextOut |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.5 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Реализуется как версии Unicode и ANSI во всех платформах. Поддерживается также подпрограммой Microsoft Layer for Unicode |
Замечания по платформе |
Не имеется |