INFO: Calcular extensões de texto de texto a negrito e itálico

Traduções de Artigos Traduções de Artigos
Artigo: 74298 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Sumário

GetTextExtent() pode ser utilizado para calcular a extensão de uma cadeia. O valor devolvido necessitar de ser ajustada, consoante o estilo do tipo de letra. Quando é pedido um tipo de letra itálico ou negrito e nenhum estão disponíveis, os gráficos interface de dispositivos (GDI Device Interface) pode simular os estilos a utilizar uma existente por quadrícula ou tipo de letra vector.

Mais Informação

Tipos de GDI simuladas negrito e itálico letra ambos incluem overhangs. O overhang é especificado numa estrutura TEXTMETRIC obtida através da chamada da função GetTextMetrics . O método adequado para calcular a extensão de uma linha de texto em itálico ou negrito é mostrado abaixo:
   dwExtent = GetTextExtent(hDC, lpString, nCount);
   GetTextMetrics(hDC, &tm);
   xExtent = LOWORD(dwExtent) - tm.tmOverhang;
				
listados abaixo são exemplos de alinhamento de texto em itálico. Se o carácter seguinte não estiver em itálico, o overhang não deve ser subtraída da largura de avanço devolvida da função GetTextExtent . O overhang tem de ser subtraídas apenas quando o seguinte para caracteres de alinhamento de texto tem o mesmo estilo.
                                        GetTextExtent yields
                                        this as the extent:

                                              ||
       /   /                                  \/ 
      /   /           /   / /   /         /   /|   |
     /---/           /   / /   /         /   / |   |
    /   /           /---/ /---/         /---/  |---|
   /   /           /   / /   /         /   /   |   |
       -----      /   / /   /         /   /    |   |
         ^            /\                      /\ 
      Overhang        ||                      ||
               Because the next        Start the nonitalic H
               character is italic,    here because it does not
               start the next          slant and would partially
               character within the    overwrite the previous
               overhang of the         italic character.
               current character
				
overhang para caracteres a negrito síntese por GDI é normalmente 1 dado GDI synthesizes tipos de letra a negrito por duas vezes a exportar o texto, contrapartida de saída segunda pixel a pixel, eficazmente aumentar a largura de cada carácter pixel a pixel. Calcular a largura de avançar o texto negrito é semelhante ao método de texto em itálico. A função GetTextExtent devolve sempre a extensão do texto mais 1 para o texto a negrito. Deste modo subtraindo o tmOverhang(1), é conseguida antecipada adequada.
        ||   ||
        ||   ||
        ||===||
        ||   ||
        ||   ||
              ---<= This line represents the "extra" overhang of 1.
                /\ 
                ||
             GetTextExtent yields
             this as the extent of the
             bold H.
				
Nota : Este artigo aplica-se apenas a por quadrícula e tipos de letra Vectory. Família de funções antecipada sempre devolvido larguras das cadeias para tipos de letra TrueType conforme é descrito pela estrutura de larguras ABC GetTextExtent() . Para obter mais informações sobre ABC antecipada larguras, consulte a documentação de função GetCharABCWidths() .

Propriedades

Artigo: 74298 - Última revisão: 27 de fevereiro de 2014 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface nas seguintes plataformas
    • Microsoft Windows NT Server 3.5
    • Microsoft Windows NT Server 3.51
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Workstation 3.5
    • Microsoft Windows NT Workstation 3.51
    • Microsoft Windows NT Workstation 4.0 Developer Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbinfo KB74298 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 74298

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com