Mouseover-Hinweis für TChart Serie Wert
Ich bin mit einem TChart in Delphi 7, und ich möchte dem display einige Balken. Ich bin mit dem folgenden code zum einrichten der Serie-Werten aus einer Datenbank-Abfrage:
chart1.FreeAllSeries;
chart1.SeriesList.Clear;
chart1.AddSeries(TBarSeries.Create(Self));
TBarSeries(chart1.Series[0]).BarStyle:=bsRectGradient;
with query1 do
begin
Close;
Execute;
while not EoF do
begin
chart1.Series[0].Add(FieldAsFloat('sum_actual_days'), FieldAsString('contract_no'));
Next;
end;
end;
Bar (Wert) zeigt nun die Beschriftung, die unter der bar, und in einem gelben Rechteck über der bar.
Statt der Wiederholung der label-Wert-zweimal, ich habe einige zusätzlichen Informationen aus der Abfrage, die ich zeigen möchte oben in der bar statt der Bezeichnung (oder, vorzugsweise, als ein mouseover-Tipp). Kann das mit der TChart? Und wie... ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese kann getan werden, mit einem TChart mithilfe des Diagramms, OnMouseMove-Ereignis. So etwas sollte für den Einstieg:
Natürlich, die Abfrage, die Sie zum füllen der Tabelle muss noch geöffnet sein, damit dieser code funktioniert.
Den "Mark-Tipps" - tool bietet eine Ereignis, um benutzerdefinierte text (OnGetText-Ereignis):
Gibt es die "Mark-Tipps" - tool, das erlaubt Ihnen zu zeigen, ein Hinweis wenn Sie über eine bar. Aber ich bin mir nicht sicher, ob Sie können ändern Sie die Spitze, um zu zeigen, benutzerdefinierte Daten statt der predifined Stile.
Können Sie legte eine Platte in das Diagramm, und verwenden Sie es als Hinweis. Mit der NearestPoint tool es funktioniert sehr gut.
Fügen Sie zunächst die NearestPoint Werkzeug, um die Tabelle (Doppel-klicken Sie auf das Diagramm, wählen Sie " Extras /Add).
Dann fügen Sie ein Panel, um das Diagramm (in Diagramm-Komponente) und style es nach Ihren Bedürfnissen.
Verwenden Sie dann das OnMouseMove-Ereignis:
Wenn Sie möchten, können Sie deaktivieren die NearestPoint tool, aber wir müssen Sie schnell finden den entsprechenden Punkt.