Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Limits in der Tchart Scrollfunktion (https://www.delphipraxis.net/174941-limits-der-tchart-scrollfunktion.html)

daliuz 20. Mai 2013 15:09

Limits in der Tchart Scrollfunktion
 
Hallo,

Ich habe ein Tchart mit Balken und ca. 100 werten erstellt. Es werden aus Platzgründen ca.25 angezeigt.
Es soll nun möglich sein mit der Maus von Anfang bis Ende zu scrollen.
Das funktioniert auch soweit.

BottomAxis.minimum:=auto;
BottomAxis.maximum:=25;

Aber:

Wenn jemand zu weit scrollt, kann er momentan in beide Richtungen über den ersten sowie den Letzten Balken beliebig weit hinausscrollen und man sieht natürlich nichts mehr.
Sicherlich kann man einen Resetknop bauen und auf den z.B.: ersten Wert zurück scrollen, aber das ist keine gute Lösung

Schöner wären, dynamisch je nach Itemanzahl die Grenzen auszulesen und Limits zu setzten, daß ein zu weites scrollen nicht möglich ist

in einer Richtung Funktioniert das ganz gut.

Delphi-Quellcode:
procedure Tfrm_main.Chart1AllowScroll(Sender: TChartAxis; var AMin,
  AMax: Double; var AllowScroll: Boolean);
begin
 if amin < 0 then AllowScroll:=false else AllowScroll:=true;
end;
Kennt jemand noch eine Möglichkeit wie man die Limits der Scrollfunktion richtig setzt.

besten Dank

Daliuz

nahpets 20. Mai 2013 16:32

AW: Limits in der Tchart Scrollfunktion
 
Ginge da nicht sowas in der Art:
Delphi-Quellcode:
AllowScorll := (amin >= 0) and (amax <= BottomAxis.maximum);

Ist jetzt mal nur geraten.

daliuz 21. Mai 2013 06:14

AW: Limits in der Tchart Scrollfunktion
 
Hallo,

Mit BottomAxis.maximum und BottomAxis.minimum kan man gut die Scrollposition auslesen.
Allerdings ist es nicht möglich einfach allowscroll:=false zu setzen, da damit das gesamte scrollen gesperrt bleibt.

Ich versuche die Richtung über Amin und Amax auszuwerten und das Scrollen richtungsabhängig freizuschalten.

Danke für den Tip.

Daliuz


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz