TChart - wartość nad myszką

0

Kombinuję już z godzinę, ale nic mi nie wychodzi.
Chodzi o to, że na TChart mam wykres słupkowy.

I teraz potrzebuję pobrać współrzędną X, nad którą jest mysz. Jak to zrobić?

0

O to chodzi ?

procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Label1.Caption := 'x = '+IntToStr(x) + '  ' + 'y = '+IntToStr(y);
end;

0
Oleksy_Adam napisał(a)

O to chodzi ?

procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Label1.Caption := 'x = '+IntToStr(x) + '  ' + 'y = '+IntToStr(y);
end;

Chodzi o współrzędną X wykresu, a nie komponentu ;)
Nie testowałem tego, ale wydaje mi się, że to mi poda współrzędną komponentu

0

Wydaje mi sie że jeżeli chodzi o TChart to Series->Clicked(x, y) w zdarzeniu OnClickSeries dostaniesz index. Więcej szczegułów, to proszę się z help'em zaprzyjaźnić.

Pozdrawiam

0
dj napisał(a)

Wydaje mi sie że jeżeli chodzi o TChart to Series->Clicked(x, y) w zdarzeniu OnClickSeries dostaniesz index. Więcej szczegułów, to proszę się z help'em zaprzyjaźnić.

Pozdrawiam

Przyjaźniłem się z nim wczoraj przez godzinę. I z tego, co pamiętam to Clicked zwracało boolean.

0

Ja zrobiłem tak:

wypełnianie danymi:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  for (int i = 0; i < 30; i++)
  Chart1->Series[0]->AddY(sin(i / 10.0) * 20, NULL, clBlack);
}

obsługa zdarzenia:
void __fastcall TForm1::Chart1ClickSeries(TCustomChart *Sender,
      TChartSeries *Series, int ValueIndex, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  Caption = IntToStr(Series->Clicked(X, Y));
}

Kod co prawda w CPP ale w delphi jest identycznie Clicked zwraca index klikniętego elementu niestety nie mogę zacytować bo coś mi sie stało z Help'em ale szukaj informacji w opisie TChartSeries

Pozdrawiam

0
dj napisał(a)

Kod co prawda w CPP ale w delphi jest identycznie Clicked zwraca index klikniętego elementu niestety nie mogę zacytować bo coś mi sie stało z Help'em ale szukaj informacji w opisie TChartSeries

OK faktycznie, ale ja nie chcę brać pod uwagę współrzędnej y.

Może wytłumaczę, o co chodzi.

Mam TChart. Na nim mam położony własny komponent: TLine, to jest po prostu linia(pionowa).
Teraz zrobiłem tak, że myszką mogę przesuwać tą linie w obszarze wykresu.
Powiedzmy, że na labelu ma się pokazywać podczas jej przesuwania współrzędna x, nad którą właśnie jest ta linia(swoją drogą myszka). Ale Clicked bierze pod uwagę y i jeśli jestem myszką nad słupkiem wykresu, to zwraca już -1

0

Moja sugestia Chart1.ChartRect

1 użytkowników online, w tym zalogowanych: 0, gości: 1