Função GetTextExtentExPointI (wingdi.h)

A função GetTextExtentExPointI recupera o número de caracteres em uma cadeia de caracteres especificada que caberá em um espaço especificado e preencherá uma matriz com a extensão de texto para cada um desses caracteres. (Uma extensão de texto é a distância entre o início do espaço e um caractere que caberá no espaço.) Essas informações são úteis para cálculos de encapsulamento de palavras.

Sintaxe

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

Parâmetros

[in] hdc

Um identificador para o contexto do dispositivo.

[in] lpwszString

Um ponteiro para uma matriz de índices de glifo para os quais as extensões devem ser recuperadas.

[in] cwchString

O número de glifos na matriz apontada pelo parâmetro pgiIn .

[in] nMaxExtent

A largura máxima permitida, em unidades lógicas, da cadeia de caracteres formatada.

[out] lpnFit

Um ponteiro para um inteiro que recebe uma contagem do número máximo de caracteres que caberá no espaço especificado pelo parâmetro nMaxExtent . Quando o parâmetro lpnFit é NULL, o parâmetro nMaxExtent é ignorado.

[out] lpnDx

Um ponteiro para uma matriz de inteiros que recebe extensões parciais de glifo. Cada elemento na matriz fornece a distância, em unidades lógicas, entre o início da matriz de índices de glifo e um dos glifos que se ajustam ao espaço especificado pelo parâmetro nMaxExtent . Embora essa matriz deva ter pelo menos tantos elementos quanto índices de glifo especificados pelo parâmetro cgi , a função preenche a matriz com extensões apenas para quantos índices de glifo forem especificados pelo parâmetro lpnFit . Se lpnFit for NULL, a função não calculará larguras parciais de cadeia de caracteres.

[out] lpSize

Um ponteiro para uma estrutura SIZE que recebe as dimensões da matriz de índices de glifo, em unidades lógicas. Esse valor não pode ser NULL.

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

Se os parâmetros lpnFit e alpDx forem NULL, chamar a função GetTextExtentExPointI será equivalente a chamar a função GetTextExtentPointI .

Quando essa função retorna a extensão de texto, ela pressupõe que o texto seja horizontal, ou seja, que o escape é sempre 0. Isso é verdadeiro para as medidas horizontais e verticais do texto. Mesmo que você use uma fonte que especifica um escape diferente de zero, essa função não usa o ângulo enquanto calcula a extensão de texto. O aplicativo deve convertê-lo explicitamente. No entanto, quando o modo gráfico é definido como GM_ADVANCED e a orientação do caractere está a 90 graus da orientação de impressão, os valores retornados por essa função não seguem essa regra. Quando a orientação do caractere e a orientação de impressão correspondem a uma determinada cadeia de caracteres, essa função retorna as dimensões da cadeia de caracteres na estrutura SIZE como { cx : 116, cy : 18 }. Quando a orientação do caractere e a orientação de impressão têm 90 graus de diferença para a mesma cadeia de caracteres, essa função retorna as dimensões da cadeia de caracteres na estrutura SIZE como { cx : 18, cy : 116 }.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wingdi.h (inclua Windows.h)
Biblioteca Gdi32.lib
DLL Gdi32.dll

Confira também

Funções de fonte e texto

Visão geral de fontes e texto

GetTextExtentPoint

SIZE