Forum: Programmieren allgemein
by Blup,
3. Jul 2014
Normalerweise zentriert man auch über dem Dokumenteninhalt.
Wenn es denn unbedingt über die ganze Papierbreite sein soll, vieleicht so:
xPosLinkerRand := 0 - GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
xPosRechterRand := xPosLinkerRand + GetDeviceCaps(Printer.Handle, PHYSICALWIDTH);
Allerdings muss dafür im Druckertreiber auch die richtige Papierbreite eingestellt sein.
Klappt...
Forum: Programmieren allgemein
by Blup,
3. Jul 2014
Wenn du selbst ohne eigenen Rand druckst und den gesamten druckbaren Bereich nutzen willst:
xPosLinkerRand := 0;
xPosRechterRand := Printer.PageWidth;
Forum: Programmieren allgemein
by Blup,
3. Jul 2014
x := (xPosRechterRand + xPosLinkerRand - TextBreite) div 2;
Printer.canvas.TextOut(x, 0, Caption);