Moin,
ich arbeite mit auf meinem Formular mit einem TChart. Mit den Pfeil-Tasten navigiere ich durch die Daten. Mit Bild -auf bzw. Bild-ab möchte die Pages wechseln.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| procedure TMain.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var XDelta, YDelta, XRange, YRange:Double; begin XDelta := 0; YDelta := 0;
XRange := Chart1.Series[0].GetHorizAxis.Maximum - Chart1.Series[0].GetHorizAxis.Minimum; YRange := Chart1.Series[0].GetVertAxis.Maximum - Chart1.Series[0].GetVertAxis.Minimum;
case key of VK_LEFT : XDelta:=-XRange/100; VK_RIGHT : XDelta:= XRange/100;
VK_UP : YDelta:= YRange/100; VK_DOWN : YDelta:=-YRange/100;
VK_PRIOR: Chart1.PreviousPage; VK_NEXT: Chart1.NextPage;
VK_HOME: Chart1.Page := 1; VK_END: Chart1.Page := Chart1.NumPages;
VK_SPACE: Chart1.UndoZoom; end;
Chart1.LeftAxis.Scroll(YDelta, False); Chart1.RightAxis.Scroll(YDelta, False); Chart1.BottomAxis.Scroll(XDelta, False); Chart1.TopAxis.Scroll(XDelta, False); end; |
Nun ist das folgende Problem, wenn ich mich mit den Pfeiltasten durch das Diagramm bewegt habe, kann ich mir nicht mehr eine andere Page anzeigen lassen. Wenn ich aber nicht die Pfeiltasten benutze kann ich in den Pages hin und her springen.
Die Option habe ich
MaxPointsPerPage habe ich im Objektinspektor gesetzt. Und in dem Chart sind auch genung Daten vorhanden. Bei dem Ereignis
OnPageChange wird der Wert aber verändert. Ich hatte mir das per ShowMessage ausgeben lassen.
Nun weiß ich nicht woran, dass jetzt liegt.
Ich hatte auch schon mal probiert mir
Chart1.Repaint und/oder
Chart1.Series[0].Repaint das neu zeichnen zu lassen. Leider hat beides nicht den gewünschten Erfolg gebracht.
Vielen Dank schon mal
Naujo
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt.