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

Delphi Discussion :

Imprimer du texte formaté inclus en BeginDoc


Sujet :

Delphi

  1. #21
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Si le fond du RichEdit est en bleu léger pour faire joli sur l'écran :
    1 - rien n'interdit de le switcher sur blanc juste avant l'impression et de le re-switcher sur bleu léger en fin de transfert sur le canvas du Printer.
    2 - et si l'utilisateur veut gaspiller de l'encre y'a-k'à lui prévoir une DialogBox ouverte par la commande imprimer où on lui demande de choisir "Gaspiller de l'encre pour imprimer le fond en bleu léger : Oui/Non ?"
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #22
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Re

    un couple BeginDoc/BeginEnd dans une procédure en comportant déjà un, j'ai aussi tenté en faisant appel à un clic bouton contenant cet appel = plantage du pilote. J'ai pas eu le courage de tester sous compilo.

    Bref, si j'ai bien saisi le sens de cette idée = ça plante

    Mais j'ai peut-être mal interprété ton idée.

    @+

  3. #23
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    1) A propos de "un couple BeginDoc/BeginEnd dans une procédure en comportant déjà un, ...." : Pourquoi cette bizarrerie ?

    2) Au sujet de "Bref, si j'ai bien saisi le sens de cette idée ...Mais j'ai peut-être mal interprété ton idée " : tu parles de quelle idée ??
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  4. #24
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Re Gilbert,

    Citation Envoyé par Gilbert Geyer
    1) A propos de "un couple BeginDoc/BeginEnd dans une procédure en comportant déjà un, ...." : Pourquoi cette bizarrerie ?

    2) Au sujet de "Bref, si j'ai bien saisi le sens de cette idée ...Mais j'ai peut-être mal interprété ton idée " : tu parles de quelle idée ??
    1) Je ne comprends pas trop pourquoi tu me demandes pourquoi

    2) Celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure Form1.Button2Click(Sender: TObject);
    begin     with Printer do
              begin BeginDoc;
                    RichEditToCanvas(RichEdit1, Canvas, Self.PixelsPerInch);
                    EndDoc;
              end;
    end;
    Tu sais des fois la communication n'est pas facile, chacun a ses idées précises de la façon de procéder.

    Je ne voudrais surtout pas que tu penses que je me moque de toi ou autre, tout au contraire.

    Je ne demande qu'à comprendre et j'admire toujours les personnes qui tentent d'aider les autres sur ces forums.

    Voili voilà @+

  5. #25
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Voiçi la procédure RichEditToCanvas de chez Toory que j'utilise, elle ne comporte pas un deuxième couple BeginDoc...EndDoc;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure RichEditToCanvas(RichEdit: TRichEdit; Canvas: TCanvas; PixelsPerInch: Integer);
    var       ImageCanvas: TCanvas;
              fmt: TFormatRange;
    begin     ImageCanvas := Canvas;
              with fmt do
              begin hdc:= ImageCanvas.Handle;
                    hdcTarget:= hdc;
                    // rect needs to be specified in twips (1/1440 inch) as unit
                    rc:= Rect(0, 0, ImageCanvas.ClipRect.Right * 1440 div PixelsPerInch,
                                    ImageCanvas.ClipRect.Bottom * 1440 div PixelsPerInch);
                    rcPage:= rc;
                    chrg.cpMin := 0;
                    chrg.cpMax := RichEdit.GetTextLen;
              end;
              SetBkMode(ImageCanvas.Handle, TRANSPARENT);
              RichEdit.Perform(EM_FORMATRANGE, 1, Integer(@fmt));
              // next call frees some cached data
              RichEdit.Perform(EM_FORMATRANGE, 0, 0);
    end;
    ... j'ai l'impression que l'on ne parlait pas de la même chose.
    ... pour le reste t'inquiète pas, suffit d'appeler Chat un chat et on finit par se comprendre.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #26
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Et la lumière fut !
    Gilbert,

    En effet, casque lourd oublié, certainement l'effet des passages de rouleau à pâtisserie, nous ne parlions pas de la même chose


    Grâce à ton dernier message ; tout devient lumière

    Toi et Claudius, vous m'avez bien dépanné !

    Sans oublier le code de chez http://www.swissdelphicenter.ch/torry/.

    Désormais entre ce fameux couple d'enfer BeginDoc/EnDoc, je peux enfin placer la ligne d'appel suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RichEditToCanvas(RichEdit1, Canvas, 1440);
    Et miracle : ça imprime impec le format .RTF.

    Bien que mon back Windows soit un peu bleuté (plus doux pour les mirettes...), en paramétrant le back du RichEdit en blanc = impec de chez impec.

    Waaaaahouuuuuuuuuuuuuuuu encore
    Jean-Pierre

  7. #27
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    ... Et sur l'autre discussion tu peux aussi trouver une info où l'on trouve du code tout prêt pour imprimer un Memo + des en-tête et/ou Pied-de-page avec fixation de la taille de la fonte ... mais c'est du Memo et pas du RichEdit.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  8. #28
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    zé vu, vi vi, Gilbert, je suis aux anges

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [AC-2010] Imprimer en texte dans un format spécifique
    Par toumack dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/11/2011, 09h03
  2. Inclusion de texte formaté
    Par black is beautiful dans le forum Flex
    Réponses: 2
    Dernier message: 27/01/2010, 09h21
  3. Enregistrer un texte formaté RTF d'un RichEdit dans un Blob
    Par dem dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/01/2005, 10h05
  4. VB6] imprimer le texte afficher dans une picturebox
    Par Persons dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/08/2004, 11h15
  5. Imprimer fichier texte
    Par Freeze dans le forum C++Builder
    Réponses: 3
    Dernier message: 05/11/2003, 11h37

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