Função GetTabbedTextExtentA (winuser.h)

A função GetTabbedTextExtent calcula a largura e a altura de uma cadeia de caracteres. Se a cadeia de caracteres contiver um ou mais caracteres de guia, a largura da cadeia de caracteres será baseada nas paradas de tabulação especificadas. A função GetTabbedTextExtent usa a fonte selecionada no momento para calcular as dimensões da cadeia de caracteres.

Sintaxe

DWORD GetTabbedTextExtentA(
  [in] HDC       hdc,
  [in] LPCSTR    lpString,
  [in] int       chCount,
  [in] int       nTabPositions,
  [in] const INT *lpnTabStopPositions
);

Parâmetros

[in] hdc

Um identificador para o contexto do dispositivo.

[in] lpString

Um ponteiro para uma cadeia de caracteres.

[in] chCount

O comprimento da cadeia de caracteres de texto. Para a função ANSI, é uma contagem de BYTE e para a função Unicode é uma contagem de WORD. Observe que, para a função ANSI, os caracteres nas páginas de código SBCS levam um byte cada, enquanto a maioria dos caracteres nas páginas de código DBCS recebem dois bytes; para a função Unicode, os caracteres Unicode definidos no momento (aqueles no Plano Multilíngue Básico (BMP)) são um WORD, enquanto os substitutos unicode são dois WORDs.

[in] nTabPositions

O número de posições de parada de tabulação na matriz apontada pelo parâmetro lpnTabStopPositions .

[in] lpnTabStopPositions

Um ponteiro para uma matriz que contém as posições de parada de tabulação, em unidades de dispositivo. As paradas de tabulação devem ser classificadas em ordem crescente; o menor valor x deve ser o primeiro item na matriz.

Valor retornado

Se a função for bem-sucedida, o valor retornado será as dimensões da cadeia de caracteres em unidades lógicas. A altura está na palavra de alta ordem e a largura está na palavra de baixa ordem.

Se a função falhar, o valor retornado será 0. GetTabbedTextExtent falhará se hDC for inválido e se nTabPositions for menor que 0.

Comentários

A região de recorte atual não afeta a largura e a altura retornadas pela função GetTabbedTextExtent .

Como alguns dispositivos não colocam caracteres em matrizes de células regulares (ou seja, eles fazem kern dos caracteres), a soma das extensões dos caracteres em uma cadeia de caracteres pode não ser igual à extensão da cadeia de caracteres.

Se o parâmetro nTabPositions for zero e o parâmetro lpnTabStopPositions for NULL, as guias serão expandidas para oito vezes a largura média do caractere.

Se nTabPositions for 1, as paradas de tabulação serão separadas pela distância especificada pelo primeiro valor na matriz à qual lpnTabStopPositions aponta.

Observação

O cabeçalho winuser.h define GetTabbedTextExtent como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
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 winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Funções de fonte e texto

Visão geral de fontes e texto

Gettextextentpoint32

TabbedTextOut