Impressão FWMsPrinter usando método SayAlign e Say

Estou utilizar o objeto FWMsPrinter para criar impressões de relatórios gráficos (como boleto, etc.) e me deparei com uma situação que preciso de uma ajuda de vocês.

Ocorre que o método Say só imprime texto alinhado à esquerda, e existe também o método SayAlign que serve para impressão usando outros alinhamentos (esquerda, direita, centralizado, superior, inferior, etc.) ele dá muita flexibilidade nessa operação.

O problema está no alinhamento entre esses dois métodos. Se eu imprimo um texto usando Say, o sistema entende que a coordenada linha fica na parte inferior do texto, e quando imprimo usando SayAlign a coordenada é da parte superior. Como eu poderia fazer um ajuste de nessa coordenada para que esses dois métodos imprimam no mesmo alinhamento?

Eu poderia converter tudo para SayAlign, mas isso vai exigir um pouco de refatoração, se houvesse uma forma de compensar essa diferença ajudaria muito.

Abaixo um trecho de como estou imprimindo o meu texto para mostrar a situação:

    nLin    := 200
    oRpt:line(nLin,0,nLin,500)
    oRpt:Say (nLin,050, "EXEMPLO SAY",oFonte08N)
    oRpt:SayAlign(nLin            ,;    //01
                060                ,;    //02
                "EXEMPLO SAYALIGN",;    //03
                oFonte08N        ,;    //04
                500                ,;    //05 Largura
                100                ,;    //06 Altura
                                ,;    //07 Cor
                0                ,;    //08 0=Esquerda
                1                 )    //09 1=Superior

Observem como fica os dois textos na imagem anexa.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags fwmsprinter advpl ou faça a sua própria pergunta.