centralizar impressão
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
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
Curtidas 0
Respostas
Data
10/04/2003
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.´
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.´
GOSTEI 0