IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

LazReport et format de l'imprimante par défaut


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut LazReport et format de l'imprimante par défaut
    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 :
    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;
    Mais il est en dehors de frReport1. Dans quel évènement de celui-ci pourrait-il être inclus ?
    le code suivant est inefficace
    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;
    Merci.
    Cordialement. Gilles
    Dernière modification par Invité ; 17/03/2012 à 08h10.

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,

    L'orientation peut varier d'une page à l'autre. A votre place, je contrôlerais plutôt la conformité de l'orientation non pas dans l'évènement OnBeginDoc mais dans l'évènement OnBeginPage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TFormSynthVue.frReport1BeginPage(pgNo: Integer);
    begin
      if Printer.Orientation <> frReport1.Pages[pgNo].Orientation then
        Printer.Orientation := frReport1.Pages[pgNo].Orientation;
    end;
    Cela étant, ces évènements sont appelés pendant la phase de préparation du rapport et pas son impression réelle, aussi je ne pense pas que cela ait un quelconque effet... (Je n'ai pas d'imprimante pour le vérifier)
    Il faudrait plutôt tracer le code de LazReport et voir ce qui est fait pendant la phase d'impression.
    --
    Philippe.
    Philippe.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/05/2006, 09h22
  2. [VB.NET] Connaître l'imprimante par défaut
    Par botanique dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/02/2006, 13h14
  3. [printDialog] Imprimante par défaut
    Par Antunes dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/01/2005, 11h51
  4. Réponses: 8
    Dernier message: 06/12/2004, 12h24
  5. Impression PDF et imprimante par défaut
    Par bobbafet dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/11/2004, 21h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo