Hi,
danke für die ganzen Hinweise. Ich habe jetzt beides umgesetzt:
Um eine Übersicht zu haben, zeige ich alle Punkte mit Markierung an. Die Markierungen kann man dann mit einer CheckBox ausblenden.
Zusätzlich erscheint, wenn man die Mouse über den Punkt bewegt die Information im Hint !
Habe das so mit dem Hint gelöst:
Delphi-Quellcode:
procedure TForm1.DBChartMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
I: Integer;
Index: Integer;
begin
DBChart.ShowHint := FALSE;
DBChart.Hint := '';
DBChart.ShowHint := TRUE;
I := 0;
For I := 0 To DBChart.SeriesCount - 1 do
begin
If DBChart.Series[I].GetCursorValueIndex >= 0 Then
begin
Index := DBChart.Series[I].GetCursorValueIndex;
DBChart.Hint := DBChart.Series[I].ValueMarkText[Index];
end;
end;
end;
Mit der Variante brauchte ich nicht diesen HintRefresh beeinflussen. Der einzige Nachteil ist, das man nachdem der Hint erschienen ist, einmal mit der Maus klicken muss damit der Hint verschwindet und der nächste Hint beim überfliegen mit der Maus angeziegt werden kann. Das Refresh mache ich mit ShowHint = False und wieder True.
Vielleicht kann das ja einer noch verfeinern, aber die Lösung gefällt mir schon.
Gruss
Holger