Hallo
if chart2.SeriesList[0].OnClick(sender,i,button1,shift,x,y)=true then showmessage('i');
Du zäumst das Pferd von der falschen Seite auf. In Deinem Beispiel versuchst Du, OnClick selbst aufzurufen - tatsächlich möchtest Du aber warten, bis der Anwender dies tut. Schaue Dir mal im Objekt-Inspektor Deine Balken-Serie an. Dort findest Du das Ereignis "OnClick", welches quasi "von selbst" (nicht ganz, aber für den Moment mag das passen) ausgelöst wird, wenn der Anwender auf einen beliebigen Balken dieser Serie klickt.
Delphi-Quellcode:
procedure TForm30.Series1Click(Sender: TChartSeries; ValueIndex: Integer;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage( IntToStr(ValueIndex) );
end;
Innerhalb dieses Events bekommst Du über den Parameter "ValueIndex" die laufende Nummer des Balkens frei Haus geliefert.
Wenn Dir das mit den Events noch ein wenig suspekt ist, dann empfehle ich einen Blick in den
Delphi-Crashkurs.
Daniel R. Wolf
mit Grüßen aus Hamburg