TeeChart Pro ActiveX教程(十九):TeeChart工具集(六)

下载TeeChart Pro ActiveX最新版本

本文将续讲工具集中的页码工具、饼图切片工具、旋转工具和系列动画工具。

一、页码工具

页码工具显示一个完全可配置的文本框,其中包含所选的页码编号系统。

设计时:

页码工具的文本及其所在的框都可以完全配置。“Options”选项卡允许您输入所需的文本,并指定其对齐方式以及鼠标悬停在工具上时显示的光标类型。 “Position”选项卡指定页码工具的默认位置或自定义位置。 “Callout”选项卡定义“Page Tool”的“Callout”对象,该对象用于从注释中绘制线到图表中的任何位置。“Format”选项卡配置文本框,允许您更改其颜色,框架,图案,斜角,大小,圆度和透明度。 “Text”选项卡可以设置文本字体,颜色,轮廓和间距以及文本阴影的颜色和大小。 “Gradient”选项卡配置文本框渐变的属性,而“Shadow”选项卡配置文本框阴影的属性。

运行时:

With TChart1
    .Tools.Add tcPageNumber
    With .Tools.Items(0)
        .Active = True
        .asPageNum.Position = ppRightTop
        .asPageNum.Shape.Gradient.Visible = True
    End With
End With

二、饼图切片工具

“Pie Slices Tool/饼图切片工具”通过在其周围绘制边框或通过将其从饼图系列的其余部分展开来突出显示鼠标下的饼图切片。

设计时:

饼图切片工具必须与特定的Pie系列相关联才能显示。样式指定工具是否将焦点放在鼠标悬停的饼图上,或者是否会将其从其余部分中分离出来。Border指定围绕焦点饼图绘制的边框的笔特征。

运行时:

With TChart1
    .Aspect.View3D = False
    .AddSeries scPie
    .Series(0).asPie.Circled = False
    .Series(0).FillSampleValues 6
    
    .Tools.Add tcPie
    With .Tools.Items(0).asPie
        .Series = TChart1.Series(0)
        .Style = ptFocus
    End With
End With

三、旋转工具

将鼠标拖到图表上时,“Rotate/旋转”工具会更改图表的标高和旋转。

设计时:

旋转工具设计时可配置属性包括Inverted在旋转图表时反转鼠标移动的效果,Style指定图表是旋转、标高还是两者都有,Button指定用于旋转图表的鼠标按钮,而Outline配置图表轮廓可以是在移动指定的鼠标按钮时绘制。

运行时:

With TChart1
    .Tools.Add tcRotate
    With .Tools.Items(0)
        .Active = True
        .asRotate.Button = mbRight
    End With
End With

四、系列动画工具

系列动画工具执行系列点的增长动画。

设计时:

系列动画工具必须与特定系列相关联。 步骤定义系列动画工具所采用的动画步数,“开始时最小值/Start at Min value”将从minium Series YValue开始动画,而“Start value/开始值”指定“Start at Min value/最小值时开始”值设置为false时的起始值。 绘制每个将以n个点的组绘制系列。

请查看以下系列动画工具的工作示例:

运行时:

Private Sub Command1_Click()
On Error Resume Next
HScroll1.Enabled = False
Command1.Enabled = False
TChart1.Tools.Items(0).asSeriesAnimation.Execute
HScroll1.Enabled = True
Command1.Enabled = True
End Sub
 
Private Sub Command2_Click()
TChart1.Tools.Items(0).ShowEditor
HScroll1.Value = TChart1.Tools.Items(0).asSeriesAnimation.Steps
End Sub
 
Private Sub Check1_Click()
  If Check1.Value = 1 Then
     TChart1.Tools.Items(0).asSeriesAnimation.DrawEvery = 1
  Else
     TChart1.Tools.Items(0).asSeriesAnimation.DrawEvery = 0
  End If
End Sub
 
Private Sub Form_Load()
TChart1.AddSeries scBar
TChart1.Series(0).ColorEachPoint = True
TChart1.Tools.Add tcSeriesAnimation
HScroll1.Min = 1
HScroll1.Max = 255
HScroll1.Value = 100

TChart1.Series(0).FillSampleValues 6
TChart1.Legend.Visible = False
TChart1.Series(0).ValueFormat = "000"
TChart1.Tools.Items(0).asSeriesAnimation.Series = TChart1.Series(0)
TChart1.Tools.Items(0).asSeriesAnimation.StartAtMin = False
End Sub
 
Private Sub HScroll1_Change()
TChart1.Tools.Items(0).asSeriesAnimation.Steps = HScroll1.Value
Label2.Caption = HScroll1.Value
End Sub
 
Private Sub HScroll1_Scroll()
Label2.Caption = HScroll1.Value
End Sub
 
Private Sub TChart1_OnSeriesAnimationToolStep(ByVal Tool As Long, ByVal Step As Long)
If Tool = 0 Then
    With TChart1
        .Series(0).PointColor(0) = RGB(255 - Step, Step, Step)
        .Series(0).PointColor(1) = RGB(Step, 255 - Step, Step)
        .Series(0).PointColor(2) = RGB(Step, Step, 255 - Step)
        .Series(0).PointColor(3) = RGB(255 - Step, 255 - Step, Step)
        .Series(0).PointColor(4) = RGB(Step, 255 - Step, 255 - Step)
        .Series(0).PointColor(5) = RGB(255 - Step, Step, 255 - Step)
    End With
End If
End Sub

转载于:https://juejin.im/post/5ca18749518825440341a0e5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
=========================================== TeeChart Pro Activex Control v2018 MS .NET COMPATIBILITY Copyright (c) 1997-2018 by Steema Software SL All Rights Reserved. http://www.steema.com email: info@steema.com supportx@steema.com =========================================== Document updated: June 2004 TeeChart Pro Activex Control MS Visual Studio .NET compatibility notes =========================================== Please see the release.txt release notes for bugfix and feature information about this release. =========================================== Changes for NET compatibility - The Chart.Series(xx) read-only property has been replaced by a Function method (affects only code written in VC++ and similar languages that make direct reference to Get_ and Set_ of properties). The new Series method (called Series) changes visibly by removal of the property 'Get_' element of the Function. The change is required due to a current MS.NET import restriction causing non-import of ActiveX properties that have an index parameter (only affects the root level of controls !). For a VB application no code change is necessary. Please see the following notes for other environments. The original property has been hidden in the interface and renamed to aSeries keeping its existing Dispid to support backward compatibility with applications compiled with previous releases of TeeChart 5. - The TChart OnSeriesBeforeAdd method uses a boolean variable called 'Continue'. "continue" is a keyword in C# (the language used to interim compile TeeChart namespace information in .NET). This had caused an import problem with the earlier releases of Visual Studio .NET. As a precaution we have chosen to rename the parameter to 'MoreValues' for the TeeChart Pro ActiveX Control. Notes on use: ------------- - Constant names in NET require full reference by default: eg. AxTChart1.AddSeries(TeeChart.ESeriesClass.scLine) Upgrading existing projects: ---------------------------- Upgrading existing Visual Studio projects works without manual intervention in code for most simple projects. Notable points relating to import: VISUAL BASIC project: ===================== - Designtime saved content of a Chart does not always successfully import to a NET project. We recommend you open the project first in its current environment (eg. Visual Basic v6) and provoke a change in the Chart and resave the project. That will update the saved frx Chart information data to v5.0.3. Then save the Chart content as a tee file by right-clicking the Chart and selecting 'Export'. Some projects 'may' then import the saved Chart correctly without further steps required. If the Chart content doesn't import successfully then right-click on the Chart and import the saved tee file. If the project fails to import, clear the Chart content after saving it to tee (remove and replace the Chart with an empty one) and re-import following the above step to later import the saved tee file. - Calls to interfaces not supported. In Visual Studio v6 and prior versions, it was possible to connect components by interface. eg. TeeCommander.Chart=TChart1 This is no longer possible. You should use the integer link: eg. TeeCommander.ChartLink=TChart1.ChartLink - Colour definition requires update TeeChart colours map as UInt32 when imported to NET. The colour definition when applied takes the following form: .Labels.Font.Color = System.Convert.ToUInt32(System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Cyan)) - Some event syntax is incorrect on import. Notably the Mouse events which are 'duplicated' by default NET appointed events. If you find event syntax to be incorrect, modify the syntax as follows: eg. Private Sub TChart1_OnMouseUpEvent(ByVal eventSender As System.Object, _ ByVal eventArgs As AxTeeChart.ITChartEvents_OnMouseUpEvent) _ Handles TChart1.OnMouseUp 'do something End Sub - Some form object (eg. Checkbox) events may fire before the Chart is loaded. That didn't occur in VB6 and will require a workaround in VB.NET if Chart properties are referenced in this way at Form load. eg. taken from VB Drag Points example: 'Check1.CheckStateChanged may fire when form is intialized Private Sub Check1_CheckStateChanged(ByVal eventSender As System.Object, _ ByVal eventArgs As System.EventArgs) _ Handles Check1.CheckStateChan ' switch 2D / 3D view... TChart1.Aspect.View3D = Check1.CheckState ' enable scroll-bar only in 3D... HScroll1.Enabled = Check1.CheckState End Sub In the above event the View3D line will fail as the Chart isn't yet loaded when the event is called. An option to workaround it may be to set a boolean 'OK_To_Run' variable to set after the first Chart Repaint. eg. OK_To_Run false on load and set to true in Form_Load event after Chart is populated, etc. Private Sub Check1_CheckStateChanged(ByVal eventSender As System.Object, _ ByVal eventArgs As System.EventArgs) _ Handles Check1.CheckStateChan ' switch 2D / 3D view... If OK_To_Run = True Then TChart1.Aspect.View3D = Check1.CheckState End if ' enable scroll-bar only in 3D... HScroll1.Enabled = Check1.CheckState End Sub Microsoft recommend a similar step (add a IsInitializing property to the Form). We'll be taking a closer look at these issues to see if we can recommend less demanding steps to resolve them. VISUAL C++ project: ===================== The Series declaration has changed. The easiest way to upgrade the project is to import TeeChart classes before upgrading the project to .NET. 1. All references to 'GetSeries(xx)' should be changed to 'Series(xx)' That will call the new Series method that returns the Series Interface (just as the predecesor property did). The Series property has been name changed to aSeries, retaining its DispId to support existing compiled applications. 2. The following is handled automatically if you import the TeeChart classes. For reference, the following changes occur to the Series declaration. *Note you should not need to do anything if you import TeeChart to your project. a) In the TChart.h Class header file the GetSeries declaration changes to: CSeries Series(long SeriesIndex); b) In the TChart.cpp Class impl. file the GetSeries declaration changes to: CSeries CTChart::Series(long SeriesIndex) { LPDISPATCH pDispatch; static BYTE parms[] = VTS_I4; InvokeHelper(0x14, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch;, parms, SeriesIndex); return CSeries(pDispatch); } Projects should then compile without issue. =========================================== Use of Strong Named Assemblies =========================================== If you compile Strong Named Assemblies then imported ActiveX Controls must also be Strong Named. The Utilities folder contains a Strong Name compiled version of: \Utilities\VS.NET\Strong Named DLLs - AxInterop.TeeChart.dll - TeeChart.dll They may be used to replace the automatically generated AxInterop.TeeChart.dll and Interop.TeeChart.dll created when TeeChart AX is added to a Windows Form. You should remove auto-generated dlls from the references list in the project Solution Explorer and from the Obj folder of the project and Debug or Release Bin folder. Then copy in the new Dlls to Obj and Bin folders and reference the new Dlls from their Obj folder location. =========================================== Please send us details about any other issues found to: http://www.teechart.net/support/modules.php?name=Forums Many thanks ! =========================================== http://www.steema.com support: http://www.teechart.net/support/modules.php?name=Forums -------------------------------------------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值