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 :

[D7] Tchart, horizontale barre, zone grise


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [D7] Tchart, horizontale barre, zone grise
    Bonsoir,

    Voila la situation:
    Sur un Tchart je veux insérer un THorizbarSeries:
    Je crée le Tchart.
    Pour avoir un axe ayant cette echelle de valeurs ,j'ai donc mis dans mon code pour l'objet Tchart :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        TopAxis.AutomaticMaximum:= false;  //manuel
        TopAxis.AutomaticMinimum:= False;  //manuel
        TopAxis.Minimum:= 0.0;            
        TopAxis.Maximum := 10.0;
    Dans celui-ci j'introduit une série de "horizontale barre".
    J'insère dans cette série, N points (barres).
    Ces N barres ont des valeurs comprises entre 0 et 10.


    Mon problème:
    J'aimerai maintenant afficher une barre (aire, rectangle...) qui soient comprise dans la zone entre 1 et 2 (cela ressemble à une zone grise ou limite) et qui donc s'affiche entierement du haut vers le bas du Tchart.
    J'ai essayer de créer une 2ème série qui insère une Tbarseries sur le TChart,mais sans succés .


    Flute

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé une solution:

    En utilisant les propriété draw de l'objet.
    Ensuite , suivant s'il l'on veut afficher la forme au dessus ou en dessous des séries, on utilisera l'évènement BeforeDraw ou AfterDraw:

    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
    29
    30
    31
    32
     
    procedure TFormGraphique.TCHGrapheBeforeDrawSeries(Sender: TObject);
    var l_iIndex,partial:Longint;
        l_tmpRect:TRect;
        YPosition:Longint;
        tmpYCenterValue:Double;
    begin
      With TCHGraphe do
      Begin
        //Pour afficher un rectangle
        Canvas.Brush.Color:=clSilver;   
        Canvas.Brush.Style:=bsSolid;
        Canvas.Pen.Style:=psClear;
        //On positionne la forme que l'on veut dessiner
        l_tmpRect.Left:=TopAxis.CalcPosValue(1)+1;
        l_tmpRect.Right:=TopAxis.CalcPosValue(2)+1;
        With l_tmpRect do
          Canvas.Rectangle( Left+Width3D,Top-Height3D+1,Right+Width3D,Bottom-Height3D+1);
     
     
        //Pour afficher une ligne verticale
        Canvas.Pen.Color:=clRed;
        Canvas.Pen.Style:=psSolid;
        l_tmpRect.Right:=TopAxis.CalcPosValue(2);
        With l_tmpRect do
        begin
          Canvas.MoveTo(Right,Top-Height3D+1);
          Canvas.LineTo(Right,Bottom-Height3D+1);
        end;
     
      end;
    end;

    Cette solution peut être pratique pour ceux qui comme moi utilise la version 4 du Tchart, mais à un inconvenient, si l'on utilise le zoom les séries ne seront toujours en rapport avec les axes, mais pas avec la/les formes que l'on vient de dessiner.
    Pour ceux qui ont la version Pro du "TeeChart" utilisez les outils: "Color band" ou "Color line" , et il n"y aura pas de problème lors de l'utilisation du mode zoom.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/08/2009, 10h16
  2. TChart et barre de pourcentage horizontale
    Par kurul1 dans le forum C++Builder
    Réponses: 11
    Dernier message: 18/06/2008, 09h16
  3. [formulaire] barre zone de liste
    Par luz_negra dans le forum IHM
    Réponses: 4
    Dernier message: 18/12/2007, 13h41
  4. Zone grisée "serveur proxy"
    Par EricDou dans le forum Windows XP
    Réponses: 1
    Dernier message: 17/12/2007, 14h28
  5. Barre horizontale dans zone de liste
    Par zoom61 dans le forum Access
    Réponses: 5
    Dernier message: 03/04/2006, 14h12

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