2017-11-24 17 views
0

Delphi 10.1、Windows 10 Pro x64、TeeChart pro 2017.20。 ポイント(1471ポイント)が多いLineSeriesチャートの場合、コードで定義されている選択的な1つのMarkを表示したいと思います。 私は十分にウィンドウをズームする場合にのみマークを見ることができます。 一部の部分ズームでは、マークが表示され、マウスの右クリックでグラフをドラッグ(PAN)している間に隠れます(写真参照)。一方Visible Mark Un visible mark, same resolution as previous, just moved (PAN)TeeChartマークをポインタと同じように動作させる方法を教えてください。

は、ポインタは、まさに私が望むように動作しています。私はアリのズームでいつでも見ることができます。ここ は、デモンストレーションのためのマークとポインタと短いコードです:

procedure TForm1.FormCreate(Sender: TObject); 
var 
    Series: tLineSeries; 
    i: integer; 
begin 
    // Chart settings 
    Chart1.Align := alClient; 
    Chart1.View3D := false; 

    // LineSeries definition 
    Series:=Chart1.AddSeries(TLineSeries.Create(Self)) as tLineSeries; 
    Series.FillSampleValues(1471); 

    // Marks 
    Series.Marks.Visible := true; // Global flag 
    //Series.Marks.AutoPosition := false; 
    //Series.Marks.Automatic.Move:= false; 
    for i := 0 to Series.Count-1 do 
    Series.Marks[i].Visible := false; 
    Series.Marks[506].Visible := true; 

    // Pointers 
    Series.Pointer.Visible := true; // Global flag 
    for i := 0 to Series.Count-1 do 
    Series.Pointer[i].Visible := false; 
    Series.Pointer[506].Visible := true; 
end; 

ポインタと同じように動作するようにマークを強制的にどのように?

+1

はv2016.17.160129で再現することはできません。つまり、このバージョンの上のコードのマークは、ポインタがビューから外れると消えます。 – Victoria

+0

ありがとうございましたビクトリア、それはデルファイでしたか?はいの場合、どのバージョンですか?私は2016.17が10.1ではないと思う。 – Reron

+0

はい、東京からです。 – Victoria

答えて

0

TeeChartは、 の表示に使用可能なピクセルより多くのマークがある場合、最小の「描画する」ステップを計算します。この最適化により、設定が妨げられます。
は、この最適化をスキップするためにこれを設定してみてください:

Series.CalcVisiblePoints:=False; 
+0

ありがとうございました、それだけです。ビクトリア州ではv2016.17には発行されていないとの報告があったことから、おそらく新機能である。 – Reron

+0

'CalcVisiblePoints'はずっと前から存在していましたが、v2016.19に導入されて以来、この「Draw Every」最適化を制御するために使用されました – Yeray

関連する問題