Compartilhar via


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 texto. Para a função ANSI é uma contagem 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 leva dois bytes; para a função Unicode, a maioria dos 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 de retorno

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 ordem baixa.

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

Observações

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 kern os 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 pontos.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho winuser.h (inclua Windows.h)
biblioteca User32.lib
de DLL User32.dll

Consulte também

Funções de fonte e texto

fontes e visão geral de texto

GetTextExtentPoint32

tabbedTextOut