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/)
-   -   TChart Marks-Position auf den Balken setzen (https://www.delphipraxis.net/202720-tchart-marks-position-auf-den-balken-setzen.html)

JanTera 2. Dez 2019 10:55

TChart Marks-Position auf den Balken setzen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo

Ich benutze Delphi 10.3 mit TeeCharts.
Ich würde gerne die Marks meiner horizontalen Balken auf die Balken setzen. Standardmässig sind sie immer rechts nebendran.
Wenn man den Designer benutzt, gibt es unter Series1->Format->Size die Checkbox "Marks on Bar". Darunter eine Combobox mit Location "Center", "Start", und "End". Wenn die Checkbox gecheckt ist und die Combobox auf "Start" ist, sind die Marks exakt so, wie ich sie haben will. Nun will ich das aber programmatisch, ohne Designer machen, doch ich kann diese "MarksOnBar" (oder ähnliches) Eigenschaften einfach nicht finden. Ich habe alle Properties von THorizBarSeries, TSeriesMarks etc. angeschaut, aber nichts.

Andere Lösungen für dieses Problem habe ich im Internet gefunden, doch die sind für mich nicht zufriedenstellend, da sie einfach die "Arrowlength" der Marks auf einen negativen Wert setzen. Dies hat aber die Auswirkung, dass die Marks je nach grösse der Balken positioniert sind (BreiteDesBalkens - Arrowlenght: WieEsIst.png), anstatt gleich rechts von der linken Achse (LeftAxis.left + 20 WieEsSeinSoll.png).

Ich hoffe jemand kann mir helfen

Der schöne Günther 2. Dez 2019 11:08

AW: TChart Marks-Position auf den Balken setzen
 
Ich habe auch manchmal beim TeeChart Probleme die Sachen "im Code" zu finden die man sich im Designer zusammengeklickt hat.

Man findet die Werte wenn du auf deinem Frame/Formular dir den DFM-Quellcode anschaust ([alt]+[f12]).

Wenn ich deine Frage richtig verstanden habe suchst du
Delphi-Quellcode:
Series1.MarksLocation := TMarksLocation.mlStart;

JanTera 2. Dez 2019 12:05

AW: TChart Marks-Position auf den Balken setzen
 
Wow, wie bin ich da nicht selbst darauf gekommen?
Danke viel mal!

Grüessli

JanTera 2. Dez 2019 12:19

AW: TChart Marks-Position auf den Balken setzen
 
Mit meiner Series als THorizBarSeries hat es die Eigenschaften MarksOnBar und MarksLocation nicht gefunden. Es kompiliert nur so:
Delphi-Quellcode:
(FChart[0] as TCustomBarSeries).MarksOnBar := True;
(FChart[0] as TCustomBarSeries).MarksLocation := mlStart;
THorizBarSeries erbt von TCustomBarSeries.
Weisst du vielleicht, wieso ich die Properties nur so ansprechen kann? Ansonsten gibt es bei mir "Undeclared identifier 'MarksLocation'".

JanTera 2. Dez 2019 14:06

AW: TChart Marks-Position auf den Balken setzen
 
Schon okay, ich hab's selbst herausgefunden. FChart[0] gibt einfach eine TSeries zurück. Deswegen kann ich die Eigenschaften von TCustomBarSeries nicht aufrufen.

Der schöne Günther 2. Dez 2019 15:55

AW: TChart Marks-Position auf den Balken setzen
 
Tipp: Merke dir deine Serien besser in eigenen Variablen, kostet ja nichts. Damit hast du nicht nur den Typen (THorizBarSeries) sicher, sondern dir fliegt auch weniger um die Ohren wenn du mal die Reihenfolge der Serien änderst ;-)

JanTera 5. Dez 2019 13:42

AW: TChart Marks-Position auf den Balken setzen
 
Werd ich machen, danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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