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

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.

74298
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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() .
3.00 3.10 3.50 4.00 win16sdk teste antecipada largura

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 74298 - Última Revisão: 02/27/2014 05:16:50 - Revisão: 3.2

  • Microsoft Windows Software Development Kit 3.1
  • Microsoft Win32 Application Programming Interface
  • kbnosurvey kbarchive kbmt kbinfo KB74298 KbMtpt
Esta informação foi útil?