Функция GetTabbedTextExtent вычисляет ширину и высоту строки символов. Если строка содержит одно или несколько символов табуляции, ширина строки базируется на заданном шаге табуляции. Функция GetTabbedTextExtent использует текущий выбранный шрифт, чтобы вычислить размеры строки
Синтаксис
DWORD GetTabbedTextExtent( HDC hDC, // дескриптор DC LPCTSTR lpString, // строка символов int nCount, // число символов int nTabPositions, // количество позиций табуляции CONST LPINT lpnTabStopPositions // массив позиций табуляции ); |
Параметры
[in] Определяет длину строки текста. Длина строки в pgi. Для функции ANSI это - итоговое число байтов (BYTE), а для функции Unicode это - итоговое число слов (WORD).
Обратите внимание! на то, что для функции ANSI, буквы в кодовых страницах SBCS (набора однобайтовых символов) берут по одному байту каждый, в то время как большинство букв в кодовых страницах DBCS (набора двухбайтовых символов) берут два байта; для функции Unicode наиболее правильное определение символов Unicode (это в Основной Многоязычной плоскости - Basic Multilingual Plane(BMP)) - одно слово (WORD), в то время как в заменителях Unicode - это два слова (WORD). |
Windows 95/98/Me: Это значение не может быть больше чем 8192.
Если функция завершается успешно, возвращаемое значение - размеры строки в логических единицах измерения. Высота находится в старшем слове, а ширина находится в младшем слове.
Если функция завершается ошибкой, возвращаемое значение - 0. Функция GetTabbedTextExtent завершится ошибкой, если hDC недопустим и если nTabPositions - меньше чем 0.
Windows NT/2000/XP: Чтобы получит дополнительную информацию об ошибке, вызовите функцию GetLastError.
Текущая область отсечения не воздействует на ширину и высоту, возвращенную функцией GetTabbedTextExtent.
Поскольку некоторые устройства не помещают символы в обычных массивах ячеек (то есть они выносные элементы символов), сумма протяженностей символов в строке могут быть не равны общей длине строки.
Если параметр nTabPositions равен нулю, а параметр lpnTabStopPositions равен значению ПУСТО (NULL), позиции табуляции дополняются до восьмикратной средней ширины символа.
Если nTabPositions равен 1, шаги табуляции отделяются расстоянием, заданным первым значением в массиве, на который указывает параметр lpnTabStopPositions .
Windows 95/98/Me: GetTabbedTextExtentW поддерживается подпрограммой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в требованиях этой подпрограммы для систем Windows 95/98/Me.
Обзор шрифты и текст, Функции, используемые шрифтами и текстом, GetTextExtentPoint32, HIWORD, LOWORD, TabbedTextOut
Размещение и совместимость GetTabbedTextExtent |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Реализуется как версии Unicode и ANSI в Windows NT /2000/XP. Поддерживается также подпрограммой Microsoft Layer for Unicode |
Замечания по платформе |
Не имеется |