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 un TTreeview


Sujet :

C++Builder

  1. #1
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut Imprimer un TTreeview
    Bonjour à tous ;

    Dans mon application j'utilise un Treeview, je cherche à imprimer son contenu; es-ce que quelqu'un sai comment le faire.

    merci.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Citation Envoyé par kmaniche
    Bonjour à tous ;

    Dans mon application j'utilise un Treeview, je cherche à imprimer son contenu; es-ce que quelqu'un sai comment le faire.

    merci.
    A ma connaissance, le seul moyen est d'utiliser la classe TPrinter.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    Il faut effectivement utiliser la classe TPrinter. Je te conseille de jetter un coup d'oeil sur l'aide de cette classe.

    Le principe sera ensuite de dessiner sur un TCanvas, qui te sera fourni par ton TPrinter, la page que tu souhaites imprimer.

    Je pense donc que tu dois pouvoir "copier" le canvas du TTreeView vers le canvas de ton TPrinter.

    Par contre à mon avis ça va être tout petit....

  4. #4
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Merci pour vos réponses :

    mais je voi pas comment imprimer les noeuds, iconnes et les items et l'arborescence avec TPrinter.

    Voulez vous m'aider encore plus s'il vous plais ..., ce serai sympa !!


    merci @+

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    Ben si tu copie le contenu du TCanvas du TTreeView dans celui du TPrinter ça devrait tout copier...mais comme je te l'ais dit j'ai peur que ce soit tout petit sur la feuille...

  6. #6
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    Proposition :

    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
     
     
    Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
    Bitmap->Height = TreeView1->Height;
    Bitmap->Width = TreeView1->Width ;
     
    TRect Destination = Rect(0,0,Bitmap->Width,Bitmap->Height);
    TRect RectListView = Rect(TreeView1->Left,TreeView1->Top,
    TreeView1->Width,TreeView1->Height);
     
    Bitmap->Canvas->CopyRect(Destination,Canvas,RectListView);
     
    Bitmap->SaveToFile("c:\\Image1.bmp");
     
    delete Bitmap;
    et comme a dit Neilos,je croi que si tu remplace le canvas du Bitmap pr celui de TPrinter,ça devrai marcher

    Bonne chance !

  7. #7
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut CopyRect,TPrinter...
    re !

    je croi que c'est ça finalement :

    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
     
     
    TPrinter* impression=new TPrinter();
     
    int Largeur=impression->PageWidth/2,Hauteur=impression->PageHeight/3,
    Gauche=200,Haut=300;
     
     
    TRect Destination = Rect(Gauche,Haut,Largeur,Hauteur);
    TRect RectListView = Rect(TreeView1->Left,TreeView1->Top,
    TreeView1->Width,TreeView1->Height);
     
     
     
    impression->BeginDoc();
    impression->Canvas->CopyRect(Destination,Canvas,RectListView);
    impression->EndDoc();
     
     
     
     
    delete impression;

    A toi de voire les dimentions de l'impression

    a+

  8. #8
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Citation Envoyé par Interruption13h
    Salut !

    Proposition :

    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
     
     
    Graphics::TBitmap *Bitmap = new Graphics::TBitmap;
    Bitmap->Height = TreeView1->Height;
    Bitmap->Width = TreeView1->Width ;
     
    TRect Destination = Rect(0,0,Bitmap->Width,Bitmap->Height);
    TRect RectListView = Rect(TreeView1->Left,TreeView1->Top,
    TreeView1->Width,TreeView1->Height);
     
    Bitmap->Canvas->CopyRect(Destination,Canvas,RectListView);
     
    Bitmap->SaveToFile("c:\\Image1.bmp");
     
    delete Bitmap;
    et comme a dit Neilos,je croi que si tu remplace le canvas du Bitmap pr celui de TPrinter,ça devrai marcher

    Bonne chance !

    J'ai utiliser la solution n°1, mais quand je sauve le contenu de ma TreeView dans une image, comme résultat je n'ai que le contenu actif de la fenetre du TreeView.

    càd, quand t'il ya beaucoup de Noeuds (ScrollBar sont actives) je n'ai que les noeuds visibles dans mon image, mais pas les autres.


    Y'a t'il un moyen de sauvegarder tout le contenu du TreeView dans une image, j'ai pas une limitation dans la taille de l'image.

Discussions similaires

  1. Comment imprimer des tabulations ?
    Par Invité dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 11h30
  2. [VB6][Flexgrid] Imprimer
    Par tiboleo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/10/2002, 14h14
  3. Couleur des noeuds ds 1 TTreeView
    Par vincent DD dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/09/2002, 13h54
  4. [VB6] [Outlook] Imprimer un mail en VB
    Par der dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/09/2002, 14h20
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

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