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 :

[TCHART] Copier/Imprimer la partie zoomée


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut [TCHART] Copier/Imprimer la partie zoomée
    Bonjour à tous,

    Mon problème est plus ou moins dans le titre. Je souhaiterais pouvoir imprimer ou envoyer vers le presse-papier que la partie visible de mon chart.
    Actuellement, lorsque j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chart1.CopyToClipboardBitmap;
    par exemple, il envoie mon graphe dans son ensemble vers le presse-papier, alors que je souhaiterais n'envoyer que ce qui a été choisit par l'utilisateur, suite à un zoom ou à un défilement par exemple.

    Existe-t-il une des méthodes ou propriétés propres au TChart pour n'envoyer que la partie visible(sans copier ou imprimer l'écran en entier)? Ou une astuce avec un TRec et une copie dans un bitmap temporaire par exemple?

    Merci pour votre aide,

    A+.

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut Jeune Jedi !

    Personnellement j'utilise par exemple cette méthode pour imprimer mes TCharts. Avec cette méthode l'impression sera toujours le reflet exact de ton chart.

    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
     
    var
      MonRect: TRect;
    begin
      Printer.Orientation := poLandscape;
      Printer.BeginDoc;
     
      with MonRect do begin
        Top := 0;
        Left := 0;
        Right := Printer.PageWidth - 1;
        Bottom := Printer.PageHeight - 1;
      end;
      Chart1.PrintPartial(MonRect)
     
      Printer.EndDoc;
    end;
    @+ Claudius

  3. #3
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Salut Jeune Jedi !
    Effectivement à force de progresser dans la maîtrise de la force je crois être proche de ce rang...
    Mais bon tout ça c'est grâce au maîtres Jedi que les membres de developpez.com sont pour moi.

    En tout cas c'est exactement ce que je cherchais, merci à toi.
    Une derniere chose, pour l'exportation vers le presse papier, vu que je n'ai pas trouver de méthode "partial", je vais devoir créer un bitmap temporaire n'est-ce pas?

    A+.

  4. #4
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Pour le presse-papier, en m'inspirant(fortement) de ton code pour l'impression:
    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 Torm1.Copierlegraphiquedanslepressepapier1Click(
      Sender: TObject);
    Var
      Bmp :TBitMap;
      MonRect: TRect;
    Begin
      Bmp := TBitMap.Create;
      Try
        With MonRect do Begin
          Top := 0;
          Left := 0;
          Right := Printer.PageWidth - 1;
          Bottom := Printer.PageHeight - 1;
        End;
         Clipboard.Assign(Bmp);
      Finally
        Bmp.Free;
      End;
    End;
    Merci beaucoup Cl@udius pour ton aide précieuse.

    A+.

  5. #5
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Citation Envoyé par PadawanDuDelphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         Clipboard.Assign(Bmp);
    Nickel !

    Citation Envoyé par PadawanDuDelphi
    Merci beaucoup Cl@udius pour ton aide précieuse.
    Avec plaisir !!
    @+

  6. #6
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Citation Envoyé par PadawanDuDelphi
    vu que je n'ai pas trouver de méthode "partial"
    Si tu fais référence à PrintPartial, ce n'est pas cette instruction qui permet de faire une impression d'un chart zommé. PrintPartial contrairement à Print n'inclue pas BeginDoc et EndDoc. C'est la seule différence, ce qui permet d'envoyer plusieurs charts sur le même job d'impression.

    Quant à envoyer ton chart sur le presse-papier, si il n'existe pas de méthode PasteToClipboard ou un truc du genre (ce que je n'ai pas vérifier) et existe cependant la méthode SaveToBitmapFile au cas où !

    @+ Claudius

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment faire pour imprimer une partie de ma page
    Par hbar01 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/04/2008, 02h31
  2. [Etat] imprimer une partie d'un état selon critères
    Par The_Super_Steph dans le forum IHM
    Réponses: 1
    Dernier message: 13/06/2007, 16h46
  3. Code HTML qui imprime une partie d'une page
    Par derval2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/01/2007, 11h34
  4. [VBA-E] imprimer une partie de feuille ?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2005, 11h22

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