Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
|
Re: Text mittig drucken
15. Mär 2007, 13:41
So richtig mittig ist es leider irgedwie noch nicht
Delphi-Quellcode:
procedure DruckeKleinenBon();
var
iPageWidth, iPageHeight: Cardinal;
iNextLine: Cardinal;
I: Integer;
Text: String;
begin
Printer.PrinterIndex := -1;
Printer.Title := 'Titel';
iNextLine := 0;
Printer.Canvas.Font.Name := Printer.Fonts.Strings[0];
Printer.BeginDoc;
{ Kopfbereich }
Printer.Canvas.Font.Height := 20 *10;
Text := 'Heading';
Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)) , 0, Text); // Mittig
Inc(iNextLine, Printer.Canvas.Font.Height);
Printer.Canvas.Font.Height := 17 *10;
Text := 'SubHeading';
Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)) , iNextLine, Text);
Inc(iNextLine, Printer.Canvas.Font.Height);
{ Haupttetxt }
for I := 1 to 5 do begin
Inc(iNextLine, Printer.Canvas.Font.Height);
Printer.Canvas.Font.Height := 14 * 10;
Printer.Canvas.TextOut( (Printer.PageWidth * 3 div 100), iNextLine, 'Artikelname'); // Links
Printer.Canvas.TextOut( ((Printer.PageWidth * 97 div 100)- Printer.Canvas.TextWidth(Text)), iNextLine, 'Preis'); // Rechts
Inc(iNextLine, Printer.Canvas.Font.Height);
end;
{ Fußzeile }
Printer.Canvas.Font.Height := 17 * 10;
Text := DateTimeToStr(Now);
Printer.Canvas.TextOut( ((Printer.PageWidth div 2) - Printer.Canvas.TextWidth(Text)), (Printer.PageHeight -Printer.Canvas.Font.Height) , Text);
Printer.EndDoc;
end;
|
|
Zitat
|