La question est dans le titre, j'ai un TChart avec dison un histogramme de 4 barre vertes et je veux avoir une barre striée verte en 3eme position comment je fais ?
Le seul evenement disponible lors du dessin d'une barre est :
Donc la solution :
1°) Déclarer un handle pour l'evenement
procedure StyleDeBarre(Sender : TCustomBarSeries; ValueIndex : Longint; Var TheBarStyle : TBarStyle );
2°) Puis l'attacher a la serie avant l'affichage (OnCreate par exemple) :
TBarSeries(Chart1.Series[1]).OnGetBarStyle := StyleDeBarre;
où est ta serie (histogramme)
3°) Enfin :
1 2 3 4 5 6 7
| procedure TForm1.StyleDeBarre(Sender: TCustomBarSeries;
ValueIndex: Integer; var TheBarStyle: TBarStyle);
begin
if ValueIndex = 2
then TBarSeries(Chart1.Series[1]).BarBrush.Style := bsDiagCross
else TBarSeries(Chart1.Series[1]).BarBrush.Style := bsSolid;
end; |
J'ai testé et ca marche !
DL[/quote]
Partager