AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TChart nur einen Mark zeigen und nicht alle

Ein Thema von DieDolly · begonnen am 2. Okt 2019 · letzter Beitrag vom 4. Okt 2019
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

TChart nur einen Mark zeigen und nicht alle

  Alt 2. Okt 2019, 19:48
Kann mir jemand helfen und mir sagen, wie man bei einem, TChart nur den Mark anzeigen lassen kann auf dessen Punkt sich die Maus gerade befindet?
Bisher kann ich nur alle oder keinen anzeigen lassen

Delphi-Quellcode:
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 Chart1.Series[0].Marks.Visible := True;
end;
Mit Chart1.Series[0].GetCursorValueIndex komme ich zwar an den Index des Punktes auf dem ich gerade bin aber wie gehts weiter?

Wenn ich mich nicht blöd anstelle klappt das jetzt so.
Delphi-Quellcode:
Form Create
Chart1.Series[0].Marks.Visible := True;
Delphi-Quellcode:
Alle Marks verstecken
procedure TForm1.HideAllMarks;
var
 i: Integer;
begin
 for i := 0 to Chart1.Series[0].Count - 1 do
  begin
   Chart1.Series[0].Marks.Items[i].Visible := False;
  end;
 Chart1.Series[0].Repaint;
end;
Delphi-Quellcode:
Den Mark anzeigen den ich brauche
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
 i: Integer;
begin
 CurrentMark := Chart1.Series[0].GetCursorValueIndex;

 for i := 0 to Chart1.Series[0].Count - 1 do
  begin
   Chart1.Series[0].Marks.Items[i].Visible := i = CurrentMark;
  end;
end;
So richtig klappt das aber noch nicht dennich muss ganz genau auf der Spitze einer Linie sein, damit dieses Mark auch angezeigt wird.
Bei Punkten auf Linien die zu nah beieinander stehen wird gar nix angezeigt.

Geändert von DieDolly ( 2. Okt 2019 um 20:21 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#2

AW: TChart nur einen Mark zeigen und nicht alle

  Alt 4. Okt 2019, 13:44
Es ist nicht ganz klar was genau Du möchtest.
Ich verstehe es mal so das Du eine Kurve im Chart hast, und davon einen Punkt markiren möchtest.
Das ist wohl nur möglich wenn Du exakt auf einem Index klickst.

Alternativ könntest Du auch einfach eine neue Punktserie anlegen, und darin dann einen freien Punkt eintragen, der diese MArke hat.
Damit solltest Du auch Punkte ausserhalt deiner Kurve anzeigen können (falls gewünscht).
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: TChart nur einen Mark zeigen und nicht alle

  Alt 4. Okt 2019, 16:13
Es gibt unter Tools ein TNearestTool, der kann einem sagen an welchem Punkt einer Series man am nächsten dran ist.

Beispiel:
https://imgur.com/a/1GhPFPv

PS: Hier noch einmal mit Marks die nur dann eingeblendet werden wenn der Mauszeiger nah dran ist:
https://imgur.com/a/RVGp5C8

Geändert von Der schöne Günther ( 4. Okt 2019 um 16:36 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: TChart nur einen Mark zeigen und nicht alle

  Alt 4. Okt 2019, 17:05
Zitat:
Es gibt unter Tools ein TNearestTool, der kann einem sagen an welchem Punkt einer Series man am nächsten dran ist.
Nur in der Pro-Version.
  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 22:37 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