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 :

Zoom sur Tchart [Non suivi]


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Par défaut Zoom sur Tchart
    Bonjour,

    Je suis entrain de développer un logiciel pour un matériel médical et j'ai donc 3 graphiques sur les quelles j'affiche des courbes.

    Je dois pouvoir faire un zoom sur une certaine partie de ses graphiques. J'ai trouvé comment faire pour un graphique mais je voudrais quand modifiant un des 3 graphiques les 3 se mettent sur le meme zoom donc la meme echelle.

    Si qq1 peut m'aider merci beaucoup.

    De plus, je dois pouvoir créer des zones délimitées sur un TImage j'ai réussi a les faire apparître pas de souci a les redessiner mais quand je trace un carré par exemple, je voudrais qu'il apparaisse en pointillé kan je déplce la souris ( même système que quand on trace une zone de texte sous Word par exemple)

    Merci beaucoup si vous pouvez m'aider.

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Salut,

    Pour faire un zoom, tu fais comment?
    un truc du genre : Chart->View3DOptions->Zoom = valeur du zoom?

    Moi je fais les zoom de cette facon. dans ce cas pourquoi ne donne tu pas la meme valeur à tes autre graphiques?
    dis en un peu plus.

    bye

    Michel

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 4
    Par défaut
    salut,

    merci pour ta reponse mais en fait pour faire mon zoom je le fais automatiquement, vu que j'utilise un tchart il suffit juste de lui dire qu'en fesant un clic gauche ca zoom.
    Du coup je n'ai aucune ligne de code pour le faire.
    C'est pour ca que je ne sais pas comment le programmer pour que ce zoom s'effectue sur les 3 graphiques en meme temps.
    Si tu peux m'aider merci

    Bye

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Dans ce cas, je ne vois pas trop.

    Moi j'utilisais des scrollbars pour faire varier la taille du zoom.
    Sinon quand, tu fais un clic gauche, tu lance une action zoom? Mais tu ne peux pas lancer la même action zoom sur les autres TChart?

    Elle est définit comment ta taille de zoom?

  5. #5
    Membre éclairé
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par défaut
    J'ai fait un programme similaire qui marche: Zoom sur les deux Chart simultanément (voir codes ci-dessous).
    Tu peux modifier un peu pour les trois charts.

    Dans tous les charts il faut mettre:
    OnUndoZoom: appeler la fonction UnZoom;
    OnZoom: appeler la fonction Synchronier;


    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
    23
    24
    25
    26
    void __fastcall TForm1::UnZoom(TObject *Sender){
          AnsiString name =((TChart*)Sender)->Name;
          if( name =="Chart1" && fst_uz ){
              Chart2->BottomAxis->Automatic = true;
              fst_uz = false;
              Chart2->UndoZoom();
              fst_uz = true;
          }
          else if(name =="Chart2"&&fst_uz){
              Chart1->BottomAxis->Automatic = true;
              fst_uz = false;
              Chart1->UndoZoom();
              fst_uz = true;
          }
    }
     
     
    void __fastcall TForm1::Synchroniser(TObject *Sender){
        if(((TChart*)Sender)->Name =="Chart1"){
           Chart2->BottomAxis->Automatic = false;
           Chart2->BottomAxis->SetMinMax(Chart1->BottomAxis->Minimum,Chart1->BottomAxis->Maximum);
        } if(((TChart*)Sender)->Name =="Chart2"){
           Chart1->BottomAxis->Automatic = false;
           Chart1->BottomAxis->SetMinMax(Chart2->BottomAxis->Minimum,Chart2->BottomAxis->Maximum);
        }
    }

  6. #6
    Membre éclairé
    Homme Profil pro
    Chercheur génie électrique
    Inscrit en
    Mai 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur génie électrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par défaut
    Il y a deux lignes manquées. le variable (bool) fst_uz est à déclarer avec une valeur initiale = true.


    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
    23
    24
    25
    26
    27
    28
    void __fastcall TForm1::UnZoom(TObject *Sender){ 
          AnsiString name =((TChart*)Sender)->Name; 
          if( name =="Chart1" && fst_uz ){ 
              Chart1->BottomAxis->Automatic = true;
              Chart2->BottomAxis->Automatic = true; 
              fst_uz = false; 
              Chart2->UndoZoom(); 
              fst_uz = true; 
          } 
          else if(name =="Chart2"&&fst_uz){ 
              Chart1->BottomAxis->Automatic = true;
              Chart2->BottomAxis->Automatic = true;  
              fst_uz = false; 
              Chart1->UndoZoom(); 
              fst_uz = true; 
          } 
    } 
     
     
    void __fastcall TForm1::Synchroniser(TObject *Sender){ 
        if(((TChart*)Sender)->Name =="Chart1"){ 
           Chart2->BottomAxis->Automatic = false; 
           Chart2->BottomAxis->SetMinMax(Chart1->BottomAxis->Minimum,Chart1->BottomAxis->Maximum); 
        } if(((TChart*)Sender)->Name =="Chart2"){ 
           Chart1->BottomAxis->Automatic = false; 
           Chart1->BottomAxis->SetMinMax(Chart2->BottomAxis->Minimum,Chart2->BottomAxis->Maximum); 
        } 
    }

Discussions similaires

  1. [DirectX9] Plein écran et zoom sur texture
    Par SteelBox dans le forum DirectX
    Réponses: 10
    Dernier message: 21/03/2005, 23h26
  2. Renseignements sur TChart
    Par petitours dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/06/2004, 12h48
  3. Zoom sur une image
    Par AurelBUD dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/05/2004, 17h05
  4. zoom sur image de formulaire
    Par bourvil dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/10/2003, 09h25
  5. Zoom sur des vecteurs ou lignes
    Par mat.M dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 25/11/2002, 10h40

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