Hallo Hendrik,
Das Drucken auf Querformat umstellen funktioniert bei mir (D5, Win2K) über den Printersetupdialog:
Quelltext
1: 2: 3: 4:
| procedure TfrmEditor.PrinterSetup1Click(Sender: TObject); begin PrinterSetupDialog1.Execute; end; |
Zum Setzen der Ränder setzt man Pagerect:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| MyRichEdit.PageRect := SetPageMargins; ... function TfrmEditor.SetPageMargins: TRect; var LogX, LogY :integer; NewPageRect: TRect; begin LogX := GetDeviceCaps(Printer.Handle, HORZRES); LogY := GetDeviceCaps(Printer.Handle, VERTRES); NewPageRect.Left := Round( (GMarginsLeft * LogX ) / 100); NewPageRect.Top := Round( (GMarginsTop * LogY ) / 100); NewPageRect.Right := Printer.PageWidth - Round( (GMarginsRight * LogX) / 100); NewPageRect.Bottom := Printer.PageHeight - Round( (GMarginsBottom * LogY) / 100); result:= NewPageRect; end; |
wobei die Variablen GMarginsxxx die gewünschten Randbreiten in % (!)
sind.
Gruß Data