Функция 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 |