Fórum centralizar impressão #153829

10/04/2003

0

Olá pessoal,

Tenho em um memo, um texto que está centralizado.
Existe alguma maneira de imprimí-lo também centralizado?
Já tentei vária combinações de código

printer.canvas.font.style:=[handle,tacenter];
printer.canvas.font.style:=[handle,ta_center];
printer.canvas.font.style:=[tacenter];
printer.canvas.font.style:=[ta_center];

entre outros, mas sempre dá erro!

Quem tiver alguma sugestão e queira compartilhar este conhecimento, fico muito grato.

Luis


Luis

Luis

Responder

Posts

12/04/2003

Data

Tente da seguinte forma.

procedure TForm.ImprimirTextoCentralizado;
var
Px, Py: integer; // posicionamento do texto
MaxLargura: integer; // largura da área de impressão
AlturaIni: integer; // Localização do início do texto, margem superior
Txt: string; // texto a imprimir
Count: integer; // contador das linhas
begin
Printer.BeginDoc;
MaxLargura := Printer.PageWidth;
AlturaIni := 200; // este valor está em píxeis da impressora, mas há formas de converter para centímetros ou milímetros
for Count := 0 to Memo1.Lines.Count-1 do
begin
Txt := Mamo1.Lines[Count];
Printer.Canvas.TextOut((MaxLargura-Printer.Canvas.TextWidth(Txt)) div 2, AlturaIni);
inc(AlturaIni, Printer.Canvas.TextHight(Txt));
end;
Printer.EndDoc;
end;

Espero ter ajudado.

´Ninguém sabe tão pouco que não possa ensinar. Ninguém sabe tanto que não possa aprender.´


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar