Pergunta

Estou chamando o Win32 DrawText função para produzir algum texto em um contexto de dispositivo. O texto é longo e envolve muito bem uma segunda linha. O problema é que preciso diminuir um pouco o espaço entre as linhas (acho que diminui a altura da linha?). Algumas ideias em como fazer isso?

Eu apenas ligaria DrawText Duas vezes (uma para cada linha), mas então eu tenho que fazer minha própria palavra embrulhada.

Existe alguma outra maneira?

Obrigado

Foi útil?

Solução

Uma possibilidade é colocar o texto em um controle de edição rico deficiente. Eu acho que isso lhe dá muito controle sobre a formatação.

Se você escrever seu próprio wrap Wrap, provavelmente deseja usar GetTexTextExpoint () para medir quanto caberá em cada linha.

Outras dicas

Já faz um bom tempo desde que lidei com isso no Win32, mas acredito que a própria fonte define o espaçamento "esperado", definindo o espaço vazio abaixo do personagem. O DrawText usa essa altura completa para posicionar a próxima linha ao embrulhar. Se você quiser fazer algo que não esteja alinhado com esse tamanho, acredito que você terá que fazer seus próprios cálculos de embalagem e várias chamadas de drawText ().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top