TaChart Hint und Zoom Aktivieren.. ?

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1675
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

TaChart Hint und Zoom Aktivieren.. ?

Beitrag von corpsman »

Hallo Zusammen,

Ich nutze eine Tachart mit 6 TLineseries, sonst ist alles quasi default.
Nun wollte ich, dass wenn der User mit der Maus über einen Datenpunkt Hovert er den Hint angezeigt bekommt, den ich beim einfügen mit übergebe, also habe ich es gemacht wie hier beschrieben:

https://forum.lazarus.freepascal.org/in ... ic=14888.0

Das funktioniert nun auch, aber leider ist dadurch das "Zoom" via Maus Rechteck und reset Zoom via Rechte maus Feature kaputt gegangen :(.

Wenn ich dem Toolset einfach das "ChartToolsetZoomDragTool" hinzufüge reicht das nicht aus um es wieder zu Reparieren, daher die 2 Folgenden Fragen.

1. weiß wer wie ich das Zoomen wieder reparieren kann ?
2. Was ist den "default" mäßig alles an (also wenn man das Toolset nicht setzt), damit ich prüfen kann was nun ggf noch alles "verloren" gegangen ist ?
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1675
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TaChart Hint und Zoom Aktivieren.. ?

Beitrag von corpsman »

Also als Temporären Workaround habe ich das hier, das schaltet via Togglebox entweder Hints oder Zooming an und aus.

Aber schön ist was anderes:

Code: Alles auswählen

Procedure TForm2.ToggleBox1Click(Sender: TObject);
Begin
  If ToggleBox1.Checked Then Begin
    Chart1.Toolset := ChartToolset1;
  End
  Else Begin
    Chart1.Toolset := Nil;
  End;
End;   
--
Just try it

wp_xyz
Beiträge: 5320
Registriert: Fr 8. Apr 2011, 09:01

Re: TaChart Hint und Zoom Aktivieren.. ?

Beitrag von wp_xyz »

Die eingebauten Zoom-by-Drag und Pan-by-Drag-Features sind über ein eingebautes automatisch generiertes Toolset realisiert (Function InitBuiltinTools in Unit TATools; siehe auch https://wiki.lazarus.freepascal.org/TAC ... tion#Tools, 3.Absatz). Wenn du nun für den Datapoint-Hint ein eigenes Toolset aufs Formular klickst, wird das Default-Toolset dadurch ersetzt, und als Folge funktionieren Zoom-by-Drag und Pan-By-Drag nicht mehr. Der einfachste Weg, diese Funktionen wiederherzustellen, ist, die entsprechenden Tools dem eigenen Toolset hinzuzufügen und Shift = [ssLeft] für das ZoomDrag und Shift=[ssRight] für das PanDrag-Tool einzutragen. Als Ausgleich für diese "Mühe" erhält man aber Zugriff auf ein paar Parameter, mit denen man diese Tools detaillierter steuern kann; Mit dem Built-in-Toolset, auf das man gar nicht zugreifen kann, ist das nicht möglich. Z.B. finde ich es ganz nett, wenn man das Zoom-Rechteck nicht mit dem Standard-Rahmen kennzeichnet, sondern als halbtransparente Rechteckfläche (Brush.Color = clBlack, Frame.Style := psClear, Transparency = 200, DrawingMode =tdmNormal).

Antworten