彩票走势图

【TeeChart Pro ActiveX教程】(十一):缩放和滚动

翻译|使用教程|编辑:王香|2018-12-19 09:28:25.000|阅读 493 次

概述:缩放和滚动是有用的辅助工具,可用于关注人口稠密图表中的特定数据。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

下载TeeChart Pro ActiveX最新版本

如何使用鼠标进行缩放和滚动

缩放

要放大图表,请在要放大的区域的左上角按住鼠标左键并按住鼠标按钮,将矩形拖动到缩放区域的右下角。释放鼠标按钮,图表将重绘所选区域。 要撤消缩放,请在“Chart”区域的任意位置按鼠标左键,然后按住鼠标按钮向上和向左拖动。释放按钮,图表将重绘为最初定义的图表区域。

缩放

要滚动图表,按右鼠标按钮并按住鼠标按钮,将鼠标拖动到您想要滚动图表的方向。释放鼠标按钮时,图表将保留在新位置。 要撤消滚动,请在“Chart”区域的任意位置按鼠标左键,然后按住鼠标按钮向上和向左拖动。释放按钮,图表将重绘为最初定义的图表区域。

如何通过代码缩放和滚动

默认情况下启用缩放缩放。使用Zoom.Allow属性禁用缩放。有关与缩放关联的属性和方法的完整列表,请参见缩放类。要定义缩放的矩形区域,请使用ZoomRect方法。

[C#]

tChart1.Zoom.ZoomRect(new Rectangle(100,100,120,120)); 

[VB.Net]

TChart1.Zoom.ZoomRect(New Rectangle(100, 100, 120, 120))

ZoomRect坐标以屏幕像素定义,其中0,0是图表面板的左上角。 以下代码将放大第2和第5个x轴点之间的区域,将y轴设置为整个图表的最大和最小点的比例:

[C#]

int x = points1.CalcXPos(2); 
int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int width = points1.CalcXPos(5) - x; 
Rectangle r = new Rectangle(x,y,width,height); 
tChart1.Zoom.ZoomRect(r); 

[VB.Net]

Dim X As Integer = Points1.CalcXPos(2) 
Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Width As Integer = Points1.CalcXPos(5) - X 
Dim R As New Rectangle(X, Y, Width, Height) 
TChart1.Zoom.ZoomRect(R)

使用“Undo”缩小。

TChart1.Zoom.Undo

动画缩放

动画缩放提供步进缩放。您可以将Animated设置为启用并为缩放定义交错步骤,而不是一步跳过“zoomed out”到“zoomed in”。启用动画后,您可以使用鼠标或代码手动缩放,例

[C#]

int x = points1.CalcXPos(2); 
int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int width = points1.CalcXPos(5) - x; 
Rectangle r = new Rectangle(x,y,width,height); 
tChart1.Zoom.Animated = true; 
tChart1.Zoom.AnimatedSteps = 100; 
tChart1.Zoom.ZoomRect(r); 

[VB.Net]

Dim X As Integer = Points1.CalcXPos(2) 
Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Width As Integer = Points1.CalcXPos(5) - X 
Dim R As New Rectangle(X, Y, Width, Height) 
TChart1.Zoom.Animated = True 
TChart1.Zoom.AnimatedSteps = 100 
TChart1.Zoom.ZoomRect(R) 

缩放事件

手动缩放或通过代码缩放将触发TChart.Zoomed事件。默认情况下,缩小将触发TChart.UndoneZoom事件。

滚动

滚动在所有方向上启用。使用Scroll.Allow属性禁用Scroll或将Scroll限制为一个方向。按代码滚动的最简单方法是使用Axis Scroll方法:

[C#]

tChart1.Axes.Bottom.Scroll(3, false); 

[VB.Net]

TChart1.Axes.Bottom.Scroll(3, False) 

该值是偏移量。'False'指的是TeeChart是否允许滚动超出Series值限制。 控制滚动的另一种方法是定义Axis maximum和minumum以按代码滚动:

[C#]

private void Form1_Load(object sender, System.EventArgs e) { 
        int range = Convert.ToInt32(bar1.XValues.Maximum - bar1.XValues.Minimum / 2); 
        bar1.FillSampleValues(20); 
        tChart1.Panning.Allow = ScrollModes.None; 
        hScrollBar1.Value = range; 
        hScrollBar1.Minimum = range - 50; 
        hScrollBar1.Maximum = range + 50; 
} 
     
private void hScrollBar1_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e) { 
        tChart1.Axes.Bottom.Automatic = false; 
        tChart1.Axes.Bottom.Minimum = e.NewValue; 
        tChart1.Axes.Bottom.Maximum = e.NewValue + bar1.Count; 
} 

[VB.Net]

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
            Dim Range As Integer = Bar1.XValues.Maximum - Bar1.XValues.Minimum / 2 
            Bar1.FillSampleValues(20) 
            TChart1.Panning.Allow = Steema.TeeChart.ScrollModes.None 
            HScrollBar1.Value = Range 
            HScrollBar1.Minimum = Range - 50 
            HScrollBar1.Maximum = Range + 50 
End Sub 
 
Private Sub HScrollBar1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll 
            TChart1.Axes.Bottom.Automatic = False 
            TChart1.Axes.Bottom.Minimum = e.NewValue 
            TChart1.Axes.Bottom.Maximum = e.NewValue + Bar1.Count 
End Sub

购买TeeChart Pro AciveX正版授权,请点击“”哟!


标签:图表ActiveX图表控件teechart

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP