您的位置:首页 > 其它

TeeChart For VCL/FMX V2017使用教程:第十一章 缩放和移动

2018-02-27 20:14 239 查看
[align=center][/align]缩放和滚动是一种有用的辅助工具,用于在被密集填充的图表中聚焦特定的数据。在文件夹的“Animated Zoom”和“Scrolling”中,可以看到Visual Basic示例代码。

 
目录

11.1 如何使用鼠标缩放和滚动

(1). 缩放
(2). 滚动

11.2 如何通过代码缩放和滚动

(1). 缩放
(2). 动态缩放
(3). 缩放事件
(4).    滚动
[align=center][/align]

11.1如何使用鼠标缩放和滚动

11.1.1 缩放

        为了缩放图表,在你想要缩放的区域的左上角按右边的鼠标按钮,保持鼠标按下的按钮,将矩形拖到缩放区域的右下方。释放鼠标按钮将强制该图表重新绘制所选区域。
        要取消缩放,在图表区域的任何地方按下鼠标左按钮并保持,然后向左上方拖拽。释放这个按钮将会迫使图表重新绘制到最初定义的图表区域。

11.1.2 滚动

        要滚动一个图表,按下鼠标左按钮并保持,将鼠标拖动到你想要滚动图表的方向。当您释放鼠标按钮时,图表将保持在新的位置。
        要撤销滚动,在图表区域的任何地方按下鼠标左按钮并保持,然后向左上方拖拽鼠标按钮。释放按钮,图表将重新绘制到最初定义的图表区域。

11.2 如何通过代码缩放和滚动

11.2.1 缩放

With Chart1 do
begin
ZoomRect(Rect(Axes.Bottom.CalcXPosValue(2),
Axes.Bottom.CalcXPosValue(5),
Axes.Left.CalcYPosValue(MaxYValue(Axes.Left)),
Axes.Left.CalcYPosValue(MinYValue(Axes.Left))));
end;


        默认情况下,缩放是启用的。使用AllowZoom属性来禁用缩放。另一种“怎么做”缩放的指南,参见ChartZooming。为了定义一个矩形区域来缩放要使用ZoomRect方法:
示例Rect.Left := LineSeries1.CalcXPosValue( 22.5 ) ;
Rect.Top := LineSeries1.CalcYPosValue( 5000 ) ;
Rect.Right := LineSeries1.CalcXPosValue( 57.6 ) ;
Rect.Bottom:= LineSeries1.CalcYPosValue( 15000 ) ;
Chart1.ZoomRect( Rect );
        ZoomRect的坐标是在屏幕像素中定义的,其中0,0是图表面板的左上角。下面的代码将放大x轴的第2到5点之间的区域,将y轴设置为整个图表的最大和最小点的数值范围:
        使用“Undo(撤销)”来使缩放退出。Chart1.UndoZoom;

11.2.2 动态缩放

        动态缩放提供了动画式逐步缩放。而不是一步就从“缩放外”跳到“缩放中”,你可以设置AnimatedZoom来启用并为缩放定义交错的步骤。一旦AnimatedZoom被启用,你可以通过鼠标或代码来手动缩放。
        示例With Chart1 do
begin
AnimatedZoom := True;
AnimatedZoomSteps := 10;
ZoomRect(Rect(Axes.Bottom.CalcXPosValue(2),
Axes.Left.CalcYPosValue(MaxYValue(Axes.Left)),
Axes.Bottom.CalcXPosValue(5),
Axes.Left.CalcYPosValue(MinYValue(Axes.Left))));
end;

11.2.3 缩放事件

        手动或通过代码进行缩放,将触发Chart.OnZoom事件。缩放退出触发Chart.UndoZoom事件。

11.2.4 滚动

        默认滚动是为所有方向启用的。使用AllowPanning属性来禁用滚动或将滚动限制为一个方向。您需要通过代码定义轴的最大值和最小值来滚动。
示例With Chart1 do
AllowPanning := pmHorizontal; //只允许手动水平滚动
Axes.Bottom.Automatic := False;
//在屏幕上限制显示为5个点
ChartScrollBar1.Chart := Chart1;
ChartScrollBar1.Kind := sbHorizontal;
ChartScrollBar1.Min := 0;
ChartScrollBar1.Max := 20;
End With


[align=center][/align]十一章完
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐