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 :

TChart : déplacer un point [Trucs & Astuces]


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 133
    Points
    133
    Par défaut [Résolu] TChart : déplacer un point
    Bonjour,

    je dessine une courbe (TLineSeries) dans un TChart. Je souhaite que l'utilisateur puisse cliquer sur un point de la courbe et le déplacer.

    Un tel déplacement est il possible ?

    Merci d'avance,
    Nicolas

  2. #2
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    Ce déplacement est tout à fait possible :
    - dans un premier temps utilise l'évènement de ta TSeries :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void __fastcall TForm1::Series1Click(TChartSeries *Sender, int ValueIndex,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
     
    }
    pour récupérer l'index du point sur lequel tu as cliqué, le bouton de la souris enfoncé et l'emplacement d'origine de la souris en X et Y.
    - dans un second temps utilise l'évènement de ton TChart :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void __fastcall TForm1::Chart1MouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
     
    }
    pour récupérer le bouton de la souris enfoncé ainsi que l'emplacement d'arrivée de la souris en X et Y.

    Voilà. Maintenant tu modifies les coordonnées du point ValueIndex (nième point de ta série) en fonction du X et Y d'arrivée (c'est lourd il faut que tu utilises une fonction pour calculer les valeurs correspondantes en fonction de tes axes ... je sais plus laquelle) puis tu redessines entièrement ton TChart.

  3. #3
    Membre régulier
    Avatar de bebeours
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 103
    Points : 123
    Points
    123
    Par défaut
    J'ai retrouvé la fonction pour calculer la valeur correspondante à une position en pixel (X ou Y) sur un axe :
    S'applique à

    Composant TChartAxis

    Déclaration

    function CalcPosPoint(Value : Integer) : Double;

    Description

    Cette fonction renvoie la valeur correspondante d'une position à l'écran. Celle-ci doit être comprise entre les limites de l'axe.

    Voir le Guide de l'utilisateur pour plus d'informations.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 105
    Points : 133
    Points
    133
    Par défaut
    C'est exactement ce que je cherchais à faire.
    Merci beaucoup.

    Nicolas

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

Discussions similaires

  1. [TChart] Déplacer un point sur une courbe
    Par paradise dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/11/2011, 12h12
  2. Excel 2007 - Déplacer un point dans graphique
    Par mirmande dans le forum Excel
    Réponses: 2
    Dernier message: 06/07/2009, 10h25
  3. [TPW] Déplacer un point sur une trajectoire
    Par dmimnet dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 13/04/2008, 18h58
  4. Déplacer un point sur une courbe
    Par Wassim123 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/09/2007, 13h23
  5. Déplacer des points d'une ligne
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 2
    Dernier message: 26/09/2006, 10h57

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