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

C++Builder Discussion :

imprimer une interface TForm


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Janvier 2010
    Messages
    27
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 27
    Par d�faut imprimer une interface TForm
    salut a tous;
    je programme avec c++builder6, je voudrez imprimer l'interface de TForm
    voila le code que j'ai fais
    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
    void __fastcall TForm4::imp1Click(TObject *Sender)
     
     {
     
     
       Form4->Width = 1000; 
      Form4->Height = 7800; 
     
     
     Form4->Font->Size = 10;
     
      if (PrintDialog1->Execute())
     
        Form4->Print();
     
      }
    sur le cot� width j'ai pas de probleme. mais sur le cot� height ca pose probleme ca bloque sur 7800 y a pas plus. quand je lance l'impression sur une page A4 l'interface est coup� et il reste du vide sur la page . aidez moi svp merci

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    Salut bicha_27
    Un lien sur deux tuto sur l'impression

  3. #3
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    En m�me temps 1000 x 7800 �a ne fait qu'une bande verticale sur ta page !
    Si tu as un �cran en 1024 x 768 imprim� en 600dpi A4 (environ 5000 x 7000) joue avec PrintScale

    Avec TForm.Print il va "�tendre" ta fen�tre en conservant ses proportions sans que tu aies besoin de le faire toi m�me en fonction de la propri�t� PrintScale

    Sinon, tu peux utiliser PaintTo dans un TBitmap puis c'est ce dernier que tu dessine en Strech sur le Canvas du TPrinter

    Test ceci :

    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
    20
    21
    22
    void __fastcall TVCLManipForm::BtnDrawingToPrinterClick(TObject *Sender)
    {
      if ((ComboBoxDrawingPrinters->Items->Count > 0) && (ComboBoxDrawingPrinters->ItemIndex >= 0))
      {
        Printer()->PrinterIndex = ComboBoxDrawingPrinters->ItemIndex;
        Printer()->Orientation = poLandscape;
        LabelDrawingPrinterInfo->Caption = String().sprintf(_T("Height %d, Width %d"), Printer()->PageHeight, Printer()->PageWidth);
     
        this->PrintScale = poNone;
        this->Print(); // Cela prend même pas 5% de la Page comme PaintTo
     
        this->PrintScale = poProportional;
        this->Print(); // Cela prend environ 80% de la Page, avec une résolution parfaite
     
        this->PrintScale = poPrintToFit;
        this->Print(); // Cela prend 98% de la Page, et ça bave à cause du Stretch
     
        Printer()->BeginDoc();
        this->PaintTo(Printer()->Canvas, 0, 0);
        Printer()->EndDoc();
      }
    }
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 19/10/2011, 17h43
  2. Comment faire une interface de ce type....
    Par SpiderAlpha dans le forum C++Builder
    R�ponses: 6
    Dernier message: 30/04/2007, 13h50
  3. [D�butant] Lancer une interface sous �clipse
    Par bonnefr dans le forum SWT/JFace
    R�ponses: 11
    Dernier message: 11/05/2004, 15h59
  4. Comment cr�� une "interface" pour mes programmes??
    Par alcazar dans le forum Autres �diteurs
    R�ponses: 5
    Dernier message: 09/02/2004, 13h02
  5. portabilit� d'une interface
    Par marou dans le forum JBuilder
    R�ponses: 4
    Dernier message: 21/03/2003, 08h53

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