Поделиться через


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

Функция GetTextExtentPointI вычисляет ширину и высоту указанного массива индексов глифов.

Синтаксис

BOOL GetTextExtentPointI(
  [in]  HDC    hdc,
  [in]  LPWORD pgiIn,
  [in]  int    cgi,
  [out] LPSIZE psize
);

Параметры

[in] hdc

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

[in] pgiIn

Указатель на массив индексов глифов.

[in] cgi

Указывает количество индексов глифов.

[out] psize

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

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

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

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

Комментарии

Функция GetTextExtentPointI использует выбранный в данный момент шрифт для вычисления размеров массива индексов глифов. Ширина и высота в логических единицах вычисляются без учета обрезки.

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

Так как на некоторых устройствах символы kern, сумма экстентов отдельных индексов глифов может быть не равна экстенту всего массива индексов глифов.

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

Требования

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

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

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

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

GetTextExtentPoint

GetTextExtentPoint32

SIZE

SetTextCharacterExtra