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 |