Функция GetTextExtentPoint


Функция GetTextExtentPoint вычисляет ширину и высоту заданной строки текста.

Обратите внимание! на то, что эта функция предусматривается только для совместимости с 16-битовыми версиями Windows. Приложения должны вызывать функцию GetTextExtentPoint32, которая обеспечивает более точные результаты.

Сиснтаксис

BOOL GetTextExtentPoint(
  HDC hdc,           // дескриптор DC
  LPCTSTR lpString,  // текстовая строка
  int cbString,      // число символов в строке
  LPSIZE lpSize      // размер строки
);

Параметры

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

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

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

lpSize
[out] Указатель на структуру SIZE, которая принимает размеры строки, в логических единицах измерения.

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

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

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

Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите функцию GetLastError.

Замечания

Функция GetTextExtentPoint использует текущий выбранный шрифт, чтобы вычислить размеры строки. Ширина и высота, в логических единицах измерения, вычисляется без учета какого-либо отсечения. Эта функция также предполагает, что текст горизонтален, то есть что наклон является всегда 0. Это истинно и для горизонтальных и для вертикальных измерений текста. Даже если используя шрифт, у которого наклон определен  отличный от нуля, эта функция не будет использовать угол при вычислении текстовой протяженности - приложение должно преобразовать это явно.

Поскольку некоторые устройства имеют выносные элементы, сумма протяженностей символов в строке  может быть не равна общей длине строки.

Расчетная ширина строки принимает во внимание межсимвольный интервал, установленный функцией SetTextCharacterExtra.

Windows 95/98/Me: Для совместимости с Windows 3.1, функция GetTextExtentPoint прибавляет дополнительный пиксель при моделировании полужирных шрифтов . Однако, полужирный шрифт Tahoma  не моделируется, так что он не имеет дополнительного пикселя. Чтобы исправить  дополнительным пикселем моделирование полужирного шрифта , уменьшите  длину каждой под строчки для передачи в GetTextExtentPoint на один пиксель и добавьте дополнительный пиксель для всей строки.

Windows 95/98/Me: Хотя GetTextExtentPointW существует в Windows 95/98/Me, она поддерживается подпрограммой Microsoft Layer for Unicode, чтобы давать более совместимое поведение во всех операционных системах Windows. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в требованиях этой подпрограммы для систем Windows 95/98/Me.

Смотри также

Обзор шрифты и текст, Функции, используемые шрифтами и текстом, GetTextExtentPoint32, SetTextCharacterExtra, SIZE

Размещение и совместимость GetTextExtentPoint

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.5 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Gdi32.lib

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Реализуется как версии Unicode и  ANSI во всех платформах.

Поддерживается также подпрограммой Microsoft Layer for Unicode

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

Не имеется

 

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

Hosted by uCoz