Функция GetTextExtentExPointI (wingdi.h)

Функция GetTextExtentExPointI извлекает количество символов в указанной строке, которое помещается в заданное пространство, и заполняет массив экстентом текста для каждого из этих символов. (Текстовый экстент — это расстояние между началом пробела и символом, который будет помещаться в пространстве.) Эти сведения полезны для вычислений с переносом по словам.

Синтаксис

BOOL GetTextExtentExPointI(
  [in]  HDC    hdc,
  [in]  LPWORD lpwszString,
  [in]  int    cwchString,
  [in]  int    nMaxExtent,
  [out] LPINT  lpnFit,
  [out] LPINT  lpnDx,
  [out] LPSIZE lpSize
);

Параметры

[in] hdc

Дескриптор контекста устройства.

[in] lpwszString

Указатель на массив индексов глифов, для которых извлекаются экстенты.

[in] cwchString

Количество глифов в массиве, на который указывает параметр pgiIn .

[in] nMaxExtent

Максимально допустимая ширина форматируемой строки в логических единицах.

[out] lpnFit

Указатель на целое число, которое получает максимальное количество символов, помещаемых в пространство, заданное параметром nMaxExtent . Если параметр lpnFit имеет значение NULL, параметр nMaxExtent игнорируется.

[out] lpnDx

Указатель на массив целых чисел, получающий частичные экстенты глифа. Каждый элемент массива задает расстояние в логических единицах между началом массива индексов глифов и одним из глифов, который помещается в пространство, заданное параметром nMaxExtent . Хотя этот массив должен содержать по меньшей мере столько элементов, сколько индексов глифов, заданных параметром cgi , функция заполняет массив экстентами только для того количества индексов глифов, сколько указано в параметре lpnFit . Если lpnFit имеет значение NULL, функция не вычисляет частичную ширину строк.

[out] lpSize

Указатель на структуру SIZE , которая получает измерения массива индексов глифов в логических единицах. Это значение не может иметь значение NULL.

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

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

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

Комментарии

Если параметры lpnFit и alpDx имеют значение NULL, вызов функции GetTextExtentExPointI эквивалентен вызову функции GetTextExtentPointI .

Когда эта функция возвращает экстент текста, она предполагает, что текст является горизонтальным, то есть escapement всегда равен 0. Это верно для горизонтальных и вертикальных измерений текста. Даже если вы используете шрифт, указывающий ненулевой escapement, эта функция не использует угол при вычислении экстента текста. Приложение должно преобразовать его явным образом. Однако если для режима графики задано значение GM_ADVANCED и ориентация символа составляет 90 градусов от ориентации печати, значения, возвращаемые этой функцией, не соответствуют этому правилу. Если ориентация символа и ориентация печати совпадают для заданной строки, эта функция возвращает размеры строки в структуре SIZE в виде { cx : 116, cy : 18 }. Если ориентация символа и ориентация печати находятся на 90 градусов друг от друга для одной строки, эта функция возвращает размеры строки в структуре SIZE в виде { cx : 18, cy : 116 }.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

См. также раздел

Функции шрифта и текста

Общие сведения о шрифтах и тексте

GetTextExtentPoint

SIZE