Функция GetTabbedTextExtentW (winuser.h)
Функция GetTabbedTextExtent вычисляет ширину и высоту символьной строки. Если строка содержит один или несколько символов табуляции, ширина строки основана на указанных остановках табуляции. Функция GetTabbedTextExtent использует выбранный шрифт для вычисления измерений строки.
Синтаксис
DWORD GetTabbedTextExtentW(
[in] HDC hdc,
[in] LPCWSTR lpString,
[in] int chCount,
[in] int nTabPositions,
[in] const INT *lpnTabStopPositions
);
Параметры
[in] hdc
Дескриптор контекста устройства.
[in] lpString
Указатель на символьную строку.
[in] chCount
Длина текстовой строки. Для функции ANSI это число BYTE, а для функции Юникода это число WORD. Обратите внимание, что для функции ANSI символы на кодовых страницах SBCS принимают один байт, а большинство символов в кодовых страницах DBCS занимают два байта; Для функции Юникода в настоящее время наиболее определенные символы Юникода (те, которые находятся в базовой многоязычной плоскости (BMP)) являются одним СЛОВОм, а суррогаты Юникода являются двумя WORD.
[in] nTabPositions
Количество позиций табуляции в массиве, на которое указывает параметр lpnTabStopPositions.
[in] lpnTabStopPositions
Указатель на массив, содержащий позиции табуляции в единицах устройства. Остановки табуляции должны быть отсортированы по возрастанию порядка; Наименьшее x-значение должно быть первым элементом в массиве.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является измерениями строки в логических единицах. Высота находится в слове высокого порядка и ширина находится в слове с низким порядком.
Если функция завершается ошибкой, возвращаемое значение равно 0. GetTabbedTextExtent завершится ошибкой, если hDC недопустим и если nTabPositions меньше 0.
Замечания
Текущая область вырезки не влияет на ширину и высоту, возвращаемую функцией GetTabbedTextExtent.
Так как некоторые устройства не помещают символы в обычные массивы ячеек (т. е. они кернируют символы), сумма экстентов символов в строке может не совпадать с степенью строки.
Если параметр
Если nTabPositions равно 1, точка табуляции разделяется расстоянием, указанным первым значением в массиве, в котором lpnTabStopPositions точек.
Заметка
Заголовок winuser.h определяет GetTabbedTextExtent как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |
См. также
шрифтов и текста
tabbedTextOut