【TeeChart Pro ActiveX教程】(二):图表显示属性(下)

下载TeeChart Pro ActiveX最新版本

上篇文章讲到图表属性中的General、 Axis、Titles和Legend四个属性,本文接着讲另外四个属性Panel、Paging、Walls和3D。

Panel属性

TeeChart Panel页面允许您设置从根本上增强图表外观的参数。支持真彩色的显示器最能看到面板渐变效果,但255色屏幕上的某些颜色组合是非常可接受的。 到目前为止,您熟悉TeeChart属性,因此我们不会在此处运行所有属性。可以通过Panel界面访问面板属性和方法: 选择TChart1.Panel 以查看所有属性的列表和示例。本教程附带的Visual Basic演示包含面板属性的综合示例。

teechart

Color

面板颜色将使用所选颜色绘制整个图表背景。但是,如果选择查看背景渐变或背景图像,则会隐藏面板颜色。如果设置背面颜色,它将仅替换图表框架中的面板颜色。

Border

您可以单独定义边框,也可以与“Bevel”属性一起定义边框。将边框设置为可见True,您将在图表面板的外部获得“sunken”边框效果。混合斜角和边框以及操纵宽度几乎可以提供任何3D效果组合。

例如Bevel Inner/Bevel Outer/Width,这些属性将在图表面板的边框上产生各种3D效果。在设计时修改它们以查看它们如何影响图表边框斜面。

Margins

边距定义为图表边框和图表框架之间的距离,可以表示为图表面板总体尺寸的百分比或绝对像素值。 在“Chart Editor Margins”框中移动旋转框将在设计时显示更改每个边距的效果。 运行时属性是:

TChart1.Panel.MarginTop 
TChart1.Panel.MarginLeft
TChart1.Panel.MarginRight
TChart1.Panel.MarginBottom

演示项目中应用的示例使用水平滚动条:

Private Sub Hscroll3_Change()
  TChart1.Panel.MarginLeft = Hscroll3.Value
End Sub

Gradient

要定义渐变,必须选择StartColor和EndColor(加上,可选择MidColor)并启用“Visible the Gradient”。Gradient将覆盖整个Chart面板。渐变方向定义Start,Mid和EndColor之间的颜色变化方向。运行:

With TChart1.Panel
    .Gradient.Visible = True
    .Gradient.StartColor = vbRed
    .Gradient.MidColor = vbWhite
    .Gradient.EndColor = vbBlue
    .Gradient.Direction = gdFromTopLeft
End With

例如BackImage 您可以选择任何位图(.bmp)文件作为BackImage。BackImage可以在图表面板上居中,平铺或拉伸,也可以限制在图表框架边界。 运行:

using Panel.BackImageLoad

在运行时向图表添加BackImage。

TChart1.Panel.BackImageLoad "C:\...\myfile.emf"

Paging属性

TeeChart分页允许将图表划分为每页的设定点数和图表:

teechart

Wall属性

图表编辑器的“Chart”部分中的此页面将属性应用于图表墙。有4个wall:left,right,bottom和back,可以用2D或3D表示。 可以通过TChart1.Walls属性访问墙属性。

teechart

Wall Border

边框按钮将您带到IWalls界面的笔定义。这是许多其他TeeChart对象可用的笔。

teechart

visible属性启用/禁用Border的显示。对于BackWall,其中轴是可见的,墙边框将隐藏在这些轴后面,因此如果隐藏部分或全部轴,您将只看到启用/禁用边框的结果(例如,使轴顶部和右侧不可见改变Wall Border颜色的结果,即TChart1.Walls.Back.Pen.Color = vbCyan)。 有关Border Pen的其他特征,请参见ChartPen 。您可以在设计时更改这些属性。

3D

3D在TeeChart Pro版本5中非常灵活。您现在可以选择将图表显示为:

  • 2D 平面图,从前面看
  • 3D Orthogonal 由矢量线表示的3D表示深度
  • 3D Native Windows 3D使用3D画布与180º图表旋转
  • 3D Open GL 3D使用Open GL Canvas,360º图表旋转

teechart

编辑选项:

3 Dimensions

选择此属性(切换)将在设计时将图表从3D更改为2D图表,该设置将在运行时生效。

3D%

控制3D效果的深度。更改此属性的值将在设计时显示更改3D百分比的效果。 运行时等效属性是:

3D visible

TChart1.Aspect.View3D

3D%

TChart1.Aspect.Chart3DPercent

这些属性的应用示例使用CheckBox和Horizo​​ntal ScrollBar:

Private Sub Check5_Click()
  With TChart1
    If Check5.Value = 1 Then
      .View3D = True
      HScroll1.Enabled = True
    Else
      .View3D = False
      HScroll1.Enabled = False
    End If
  End With
End Sub

Private Sub HScroll1_Change()
  TChart1.Chart3DPercent = HScroll1.Value
  Label8.Caption = Str$(HScroll1.Value)
End Sub

正交选项在禁用时启用Windows Native 3D模式,允许您旋转,提升和偏移图表。“Zoom”选项允许您前移或移开整个图表。数据系列图表内部的缩放在运行时仍然可用。 该观点属性允许您设置的距离角度仿佛寻找到一个zoom。Perpsective为用于演示目的的图表提供了视觉增强功能。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
=========================================== TeeChart Pro Activex Control v2018 MS .NET COMPATIBILITY Copyright (c) 1997-2018 by Steema Software SL All Rights Reserved. http://www.steema.com email: [email protected] [email protected] =========================================== 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 -------------------------------------------

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值