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ć?
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ć?
O to chodzi ?
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Caption := 'x = '+IntToStr(x) + ' ' + 'y = '+IntToStr(y);
end;
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
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
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.
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
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
Moja sugestia Chart1.ChartRect