Функция TabbedTextOut


Функция TabbedTextOut пишет строку символов в заданном месте, разворачивая позиции табуляции в значения, указанные в массиве позиций табуляции. Текст пишется в текущем выбранном шрифте, цвете фона и цвете текста.

 Синтаксис

LONG TabbedTextOut(
  HDC hDC,                         // дескриптор DC
  int X,                           // начальная координата x
  int Y,                           // начальная координата y
  LPCTSTR lpString,                // строка символов
  int nCount,                      // число символов
  int nTabPositions,               // число шагов табуляции в массиве
  CONST LPINT lpnTabStopPositions, // массив шагов табуляции
  int nTabOrigin                   // начало позиции табуляции
);

Параметры

hDC
[in] Дескриптор контекста устройства.
X
[in] Устанавливает x-координату отправной точки строки, в логических единицах измерения.
Y
[in] Устанавливает y-координату отправной точки строки, в логических единицах измерения.
lpString
[in] Указатель на строку символов, которая рисуется. Строка не должна заканчиваться нулем, поскольку параметр nCount задает длину строки.
nCount
[in] Устанавливает длину строки, на которую указывает параметр lpString. Для функции ANSI это - итоговое число байтов (BYTE), а для функции Unicode это - итоговое число слов (WORD)

Обратите внимание! на то, что для функции ANSI, буквы в кодовых страницах SBCS (набора однобайтовых символов) берут  по одному байту каждый, в то время как большинство букв в кодовых страницах DBCS (набора двухбайтовых символов)   берут два байта; для функции Unicode наиболее правильное определение символов Unicode (это в Основной Многоязычной плоскости - Basic Multilingual Plane(BMP)) - одно слово (WORD), в то время как в заменителях Unicode - это два слова  (WORD)

Windows 95/98/Me: Это значение не может быть больше чем 8192.

nTabPositions
[in] Устанавливает число значений в массиве позиций табуляции.
lpnTabStopPositions
[in] Указатель на массив, содержащий позиции табуляции, в логических единицах измерения. Шаги табуляции должны сортироваться в нарастающем порядке; наименьшее x-значение должно быть первым элементом в массиве.

Windows 95/98/Me: Шаг табуляции может задаваться как отрицательное значение, которое заставляет текст быть выровненным при табуляции по правому краю на шаге табуляции, а не выровненным по левому краю.

nTabOrigin
[in] Устанавливает x-координату исходной позиции, от которой увеличиваются позиции табуляции, в логических единицах измерения.

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

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

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

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

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

Не имеется

 

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

Hosted by uCoz