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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
//TLineSeries <<< chez moi : #include <Series.hpp> dans le .h
TLineSeries *Serie;
int Step_x=0;
TColor Colors[] = {clBlue, clRed, clYellow, clGreen};
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//-- Oblige Chart1 à dessiner toutes les séries
void __fastcall TForm1::ShowSeriesButtonClick(TObject *Sender)
{
for(int j = 0; j < TabControl1->Tabs->Count; j++)
{
Serie = (TLineSeries *)Chart1->Series[ j ];
Serie->Active = true;
}
}
//--Oblige Chart1 à ne dessiner que la série correspondant au Tab actif
void __fastcall TForm1::HideSeriesButtonClick(TObject *Sender)
{
for(int j = 0; j < TabControl1->Tabs->Count; j++)
{
if(j != TabControl1->TabIndex)
{
Serie = (TLineSeries *)Chart1->Series[ j ];
Serie->Active = false;
}
}
}
//--Cap1, Cap2, Cap3 et Cap4 se partagent cette OnClick
void __fastcall TForm1::Cap1Click(TObject *Sender)
{
ToTabControl(((TSpeedButton*)Sender)->Caption, random(100));
}
//--Méthode pour gérer l'info
void __fastcall TForm1::ToTabControl(AnsiString NomSerie, int Y)
{
//Pour donner vie à tout ça...
Step_x++;
//Donc ça commence ici :
int n = TabControl1->TabIndex;
if(n != -1)
{
Serie = (TLineSeries *)Chart1->Series[ n ];
Serie->Active = false;
}
int index = TabControl1->Tabs->IndexOf( NomSerie );
if(index == -1)
{
TabControl1->Tabs->Add( NomSerie );
n = TabControl1->Tabs->Count-1;
Serie = new TLineSeries(this); //Donc chez moi this est Form1
Serie->Stairs = true;
Chart1->AddSeries(Serie);
Serie->AddXY(Step_x, Y, "", Colors[ n ]);
Serie->Active = true;
TabControl1->TabIndex = n;
}
else
{
TabControl1->TabIndex = index;
Serie = (TLineSeries *)Chart1->Series[ index ];
Serie->AddXY(Step_x, Y, "", Colors[ index ]);
Serie->Active = true;
}
}
//-- Dans la OnChanging on rend invisible la série, celle avant changement
void __fastcall TForm1::TabControl1Changing(TObject *Sender,
bool &AllowChange)
{
int n = TabControl1->TabIndex;
if(n != -1)
{
Serie = (TLineSeries *)Chart1->Series[ n ];
Serie->Active = false;
}
}
//-- Dans la OnChange on rend visible la série, celle après changement
void __fastcall TForm1::TabControl1Change(TObject *Sender)
{
int n = TabControl1->TabIndex;
if(n != -1)
{
Serie = (TLineSeries *)Chart1->Series[ n ];
Serie->Active = true;
}
}
//-- |
Partager