AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Mal wieder TChart - Index des angeklicken Punktes ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Mal wieder TChart - Index des angeklicken Punktes ermitteln

Ein Thema von Sven M. · begonnen am 28. Nov 2008 · letzter Beitrag vom 28. Nov 2008
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

Mal wieder TChart - Index des angeklicken Punktes ermitteln

  Alt 28. Nov 2008, 12:28
Hi zusammen,
ich versuche in einem TChart herauszufinden, welchen Punkt der Series der User angeklickt hat. Dazu gibt es ja die Funktion "GetCursorValueIndex". Diese ist allerdings sehr "intolerant"... Und reagiert schon nicht mehr, wenn man nur knapp daneben klickt (bzw. liefert dann -1). Gibt es nicht eine Möglichkeit, den Bereich dieser Funktion etwas großzügiger zu gestalten?
Oder gibt's noch 'ne andere Funktion, die ähnliches leistet, die ich aber übersehen habe...?!


Besten Dank für eure Hilfe!
Sven
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
376 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Mal wieder TChart - Index des angeklicken Punktes ermitt

  Alt 28. Nov 2008, 15:03
Hallo Sven,

also ich benutze für sowas eigentlich das OnSeriesClicked-Event des TChart. Für Dragging von Werten merke ich mir hier den Index und verschiebe dann die Y-Werte des Chart.

Funktioniert meiner Meinung nach recht tolerant. Ich habs jetzt nicht ausprobiert aber vielleicht ist auch die Größe der Punkte/Marks entscheidend ?

mfg cg
Andreas Schachtner
  Mit Zitat antworten Zitat
wp_xxyyzz

Registriert seit: 2. Okt 2006
23 Beiträge
 
#3

Re: Mal wieder TChart - Index des angeklicken Punktes ermitt

  Alt 28. Nov 2008, 16:01
Lt. D7-Online-Hilfe zur Methode Clicked von TCustomSeries: "Angeklickt bedeutet, daß sich die X- und Y-Koordinaten innerhalb der Bildschirmregiongrenzen der Punkte befinden." Daraus folgt, dass du die Punkte größer machen musst, wenn die Empfindlichkeit nicht passt. Generell erscheint mir das Treffen auch kleiner Punkte leichter zu sein, wenn man eine visuelle Unterstützung durch einen anderen Mauscursor erhält. Dazu wäre z.B. folgender Code im OnMouseMove-Event für TChart geeignet:

Delphi-Quellcode:
procedure TForm1.ChartMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
var
  cp : TChartClickedPart;
begin
  Chart.CalcClickedPart(point(X,Y), cp);
  if (cp.Part in [cpLegend, cpAxis, cpTitle, cpFoot, cpSeries])
    then Screen.Cursor := crHandPoint
    else Screen.Cursor := crDefault;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz