Bonjour,
dans LazReport, je définis une page en A4 paysage. Le Preview est correct alors que l'imprimante par défaut est définie en mode Portrait... La page une fois mal imprimée, le Preview se corrige et apparaît en mode Portrait conforme à l'édition...
A partir de LazReport y a-t-il un moyen de faire automatiquement (et si possible temporairement) correspondre l'orientation de l'imprimante à celle de la page imprimée (définie dans le .lfr) ?
Pour être plus précis, un code de ce type fonctionne :
Mais il est en dehors de frReport1. Dans quel évènement de celui-ci pourrait-il être inclus ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TFormSynthVue.btPRINTClick(Sender : TObject); var aPrinterOrientation : TPrinterOrientation; begin if PrintDialog1.Execute then begin aPrinterOrientation := Printer.Orientation; Printer.Orientation := frReport1.Pages[0].Orientation; frReport1.ShowReport; if aPrinterOrientation <> Printer.Orientation then Printer.Orientation := aPrinterOrientation; end; end;
le code suivant est inefficace
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 var aPrinterOrientation : TPrintOrientation; [...] procedure TFormSynthVue.frReport1BeginDoc; begin aPrinterOrientation := Printer.Orientation; Printer.Orientation := frReport1.Pages[0].Orientation; end; procedure TFormSynthVue.frReport1EndDoc; begin if aPrinterOrientation <> Printer.Orientation then Printer.Orientation := aPrinterOrientation; end;
Cordialement. Gilles
Partager