mfc里怎么固定mfc teechartt控件里柱形图的纵坐标

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
1、问题:通过Addxy方法给TChart添加标记(Mark)时,发现在TChart的横坐标会随着Mark而变化,后来发现通过以下方法可避免这种情况:双击TChart,点击Axis-& top or bottom -&labels,在styles中将labels的形式改为Value即可!
2、几个有用的属性:&&&&&&& 图表上的每个点都是有索引的,就象一个数组一样,在OnClickSeries事件中有个ValueIndex属性,该属性可以得到鼠标所点击的点的索引值(必须将Series的Point设置为可见,鼠标点击到那个点时才可以触发该事件)。
&&&&& & xValue[index]、yValue[index]分别表示图表的索引为index的横纵坐标值,用这两个属性可以读取和设置索引为index的点的值,注意:不要用xValues和yValues,这两个属性也可以达到同样的目的,但是速度非常的慢。因为后两个在进行操作的时候可能要遍历整个图表上的值(个人观点)
&&&&& 在MouseDown,MouseMove,Mouseup中,可以利用xScreentoValue(x),yScreentoValue(y)得到鼠标当时所在点对应在图表上的横纵坐标值。
private& Nowindex:I& Cantuo:
procedure TfrmMain.Chart1ClickSeries(Sender: TCustomC& Series: TChartS ValueIndex: I Button: TMouseB& Shift: TShiftS X, Y: Integer);begin& NowIndex:=ValueI
procedure TfrmMain.Chart1MouseDown(Sender: TO Button: TMouseB& Shift: TShiftS X, Y: Integer);beginCantuo:=
procedure TfrmMain.Chart1MouseUp(Sender: TO Button: TMouseB& Shift: TShiftS X, Y: Integer);beginCantuo:=
procedure TfrmMain.Chart1MouseMove(Sender: TO Shift: TShiftS X,& Y: Integer);beginif Cantuo thenbegin& Series1.yValue[NowIndex]:=& Series1.yScreenToValue(y) ;
这里即实现了可以在图表中拖动某一个点使其在纵轴上变化位置
1.4&&&&& [问题极其使用技巧]
1.4.1&&&&&&&&&&& TChart中如何实现只有Y轴的放大与缩小功能?
设置BottomAxis或者LeftAxis的Automatic:=false并同时设置Minimum,Maximum属性
1.4.2&&&&&&&&&&& 如何固定TChart中的坐标,不使TChart中的坐标跟随Series的变化而变化?
//设置底座标
& with myChart.BottomAxis do
&&& Automatic:=
&&& Minimum:=0;
&&& LabelStyle := talT
& //设置左坐标
& with myChart.LeftAxis do
&&& Automatic:=
&&& Minimum:=0;
&&& Title.Angle:=270;
&&& Title.Font:=Self.F
&&& Title.Font.Charset:=ANSI_CHARSET;
&&& Title.Font.Name:='@宋体';
&&& Grid.Visible := F
& //设置右坐标
& with myChart.RightAxis do
&&& Automatic:=
&&& Title.Font:=Self.F
&&& Title.Font.Charset:=ANSI_CHARSET;
&&& Title.Font.Name:='@宋体';
&&& Title.Caption:='累计百分比(%)';
&&& Maximum:=100;
&&& Minimum:=0;
1.4.3&&&&&&&&&&& 如何删除一个图形中的一个点?
使用Series的delete 方法
1.4.4&&&&&&&&&&& 如何修改一个点的X或者Y 值?
LineSeries1.YValue[3] := 27.1 ;
{In Bubble Series}
BubbleSeries1.RadiusValues.Value[ 8 ] := 8.1 ;
{In Pie Series}
PieSeries1.PieValues.Value[ 3 ] := 111 ;
1.4.5&&&&&&&&&&& 如果横坐标是时间(日期),如何进行设置?
{First, you need to set the DateTime property to True in the desired X and/or Y values list.}
LineSeries1.XValues.DateTime := T
{Second, use the same above described methods, but give the values as Date, Time or DateTime values}
LineSeries1.AddXY( EncodeDate( 1996 , 1 , 23 ) , 25.4 , 'Barcelona' , clGreen );
1.4.6&&&&&&&&&&& 如何在chart中画出的曲线某个点上标记出该点的值?
Series.Marks.Visible:=
Series.Marks.Style:=smsV
1.4.7&&&&&&&&&&& 如何设置横轴或者纵轴的增长率?
Chart.BottomAxis.Increment := DataTimeStep[ dtOneHour ] ;
Chart.RightAxis.Increment := 1000;
1.4.8&&&&&&&&&&& 如何对图象进行缩放?
TChart的ZoomRect或者ZoomPercent方法 (Pie图可能不支持缩放)&
1.5&&&&& [TChart可以绘制的图形]
1.5.1&&&&&&&&&&& Line ( TLineSeries)
1.5.2&&&&FastLine (TFastLineSeries) 相对Line来说,它损耗了某些属性从而来实现快速绘制
1.5.3&&&&&&&&&&& Bar (TBarSeries)
1.5.4&&&&&&&&&&& Horizontal bar (THorizBarSeries)
1.5.5&&&&&&&&&&& Area (TAreaSeries)
1.5.6&&&&&&&&&&& Point (TPointSeries)
1.5.7&&&&&&&&&&& Pie (TPieSeries)
1.5.8&&&&&&&&&&& Arrow (TArrowSeries)
1.5.9&&&&&&&&&&& Bubble (TBubbleSeries)
1.5.10&&&&&&&& Gantt (TGanttSeries)
1.5.11&&&&&&&& Sharp (TChartShape)
1.6&&&&& [TChart的实时绘制]&
实时绘制对机器性能要求比较高,因此我们在编程的时候要注意下面几个方面:
ü&&&&&&&& 使用2D图形
ü&&&&&&&& 是Chart尽可能包含少的点
ü&&&&&&&& 如果需要,可以移除(remove)chart的legend(?????)和Title
ü&&&&&&&& 使用默认的和字体大小
ü&&&&&&&& 使用FastLineSeries
ü&&&&&&&& 使用实体(solid)画笔和画刷格式
ü&&&&&&&& 尽量避免使用圆形和环行bar样式
ü&&&&&&&& 不要使用背景图片和渐变效果样式
ü&&&&&&&& 把Chart的BevelInner和BevelOUter属性设置为bcNone
ü&&&&&&&& 如果需要,把TChart的AxisVisible属性设置为False
ü&&&&&&&& 把BufferedDisplay设置为false可以加速chart的重绘&
1.7&&&&& [Scrolling]
&& TChart有4中scroll选择(AllowPanning属性),分别是 不允许Scroll ( pmNone) ; 水平Scroll (pmHorizontal) ; 垂直Scroll (pmVertical)& ;& 水平和垂直Scroll (pmBoth)
Procedure Scroll(Const Offset:D CheckLimits:Boolean);
例子如下:
&Chart1.BottomAxis.Scroll(& 1000, True );这段代码也等同于
With Chart1.BottomAxis do
&Automatic:=
&SetMinMax( Minimum+1000, Maximum+1000 );
1.8&&&&&&&&&&&& [TChart中的全局变量]
1.9&&&&&&&&&&&& ü&&&&&&&& TeeScrollMouseButton := mbR设置鼠标右键为TChart滚动键(默认)
ü&&&&&&&& TeeScrollKeyShift&&& := [ ssCtrl ]; 要按住Control键才可以使Scroll滚动
1.9&&&&& [TChartSerries使用技巧]
1.9.1&&&&&&&&&&& 运行时候创建一个Serries, 三种方法:
1.Var MySeries : TBarS
MySeries := TBarSeries.Create( Self );
MySeries.ParentChart := Chart1 ;
& &&& &&&&&&2.Chart1.AddSeries( TBarSeries.Create( Self ) );
&&&&&&&&&&&&& & 3.Var MyClass : TChartSeriesC
MyClass := TBarS
Chart1.AddSeries( MyClass.Create( Self ) );
1.9.2&&&&&&&&&&& 获得TChart中的Serries数组,也有三种方法
1.MySeries := Chart1.SeriesList [ 0 ]
2.MySeries := Chart1.Series [ 0 ]
3.MySeries := Chart1 [ 0 ]
1.9.3&&&&&&&&&&& SerriesCount属性获得SeriesList中Series的个数
1.9.4&&&&&&&&&&& 隐藏TChart中的Series有三种方法,但是效果不等价
1.& Series1.Active:=F 仅仅隐藏,当设置为true的时候还可以显示出来
2.& Series1.ParentChart:=nil ; 隐藏,重新设置ParentChart为TChart时候可以显示
3.& Series1.F 删除了Series. 不可以恢复
1.9.5&&&&&&&&&&& TChart中的数据排序
&&& With Series1 do
&&& YValues.Order:=loA
&&& YValues.S
?&&&&&&&& 定位一个点(Loacate a point)
Series1.XValues.Locate(123);
?&&&&&&&& XValue和YValue都拥有的属性Total , TotalABS , MaxValue , MinValue
delphi中TeeChart的各种属性
TeeChart使用指南 TeeChart控件介绍 TeeChart&& Pro&& ActiveX是西班牙Steema&& SL公司开发的图表类控件,主要用来生成各种复杂的图表。熟悉Delphi和C++&& Builder的编程人员对它不会陌生,因为在Delphi和C++&& Builder里包括了TeeChart的VCL版本。 TeeChart使用目的 如果你需要在程序中制作曲线图、条状图、饼状图等等,使用这个控件都将是你的明智选择。它因为是已经被封装好的产品,所以使用方便,可控性强,不过有的时候会有点小BUG。最好能找到源码,并自己打几个补丁。 TeeChart名词解释 Series Axis Scales Line Bar Pie TeeChart配置说明 Chart?Series(序列)&& :&& 在一个图表中可以有一个或多个序列,每个序列可以有不同的显示类型,如Line、Bar、Pie等等。 Add…&& 添加新的序列 Fast&& Line(TFastLineSeries简单曲线图)、 Line(TLineSeries&& 3D曲线图)、 Bar(TBarSeries竖条状图)、 Horiz.&& Bar(THorizBarSeries横条状图) Area(TAreaSeries&& 区域图)、 Point(TPointSeries&& 点状图)、 Pie(TPieSeries&& 饼状图)、 Shape(TChartShape&& 实体图)、 Gantt(TGanttSeries&& 甘特图)、 Arrow(TArrowSeries&& 箭头图)、 Bubble(TBubbleSeries&& 泡泡图) Series?Format:修改序列的格式 Series?Point:修改序列中点的样子 Series?General:对序列的配置,包括Axis,Legend,Formats,Cursor。 Series?Marks:是否显示序列中每个点的值。 Series?Data&& Source:数据源。可以采用No&& Data,Random&& Values,Function。 Title…&& 修改序列的名称。 Change…&& 修改序列的类型,可以从Line改变成Bar或者Pie。 Chart?General:一些基本的参数设置。 Print&& Priview…:打印及打印预览 Export…:输出 Margins:页边空白 Allow&& Zoom:允许缩放 Animated&& Zoom:缩放过程是否是动态的,还是一次成功。(如果图的点太多时,可以打开这个功能) Allow&& Scroll:滚动条 Chart?Axis&& :&& 控制图表坐标轴(上、下、左、右、深)的属性 Show&& Axis:是否显示坐标轴 Chart?Axis?Scales:调整坐标轴的比例 Automatic:可以自动处理最大与最小值,也可以手工设置。 Change…:可以自动处理增量,也可以手工设置。 Logarithmic:对数的 Inverted:反向的 Chart?Axis?Title:设置坐标轴的标题 Title:标题 Angle:标题的角度 Size:标题的宽度 Font…:标题的字体 Chart?Axis?Labels:设置坐标轴的标签 Titles&& :&&& Chart?Legend(图例):图表中的一个长方形的用来显示图例标注的区域。可以标注Series的名称或者Series中的项目和数值。 Visible Back&& Color Font Frame Position Margin Legend&& Style Text&& Style Resize&& Chart Inverted %Top&& Pos %Color&& Width&&& Dividing&& Lines… Shadow Chart?Panel&& (面板):Panel可以设置图表的背景。可以使用渐变的颜色或者图像文件作为整个图表的背景 Bevel&& Inner?&& (Bevel&& Innner&& )&& Width Bevel&& Outer&& ?(Bevel&& Outer)&& Width Back&& Image:图表的背景图 Style:(Stretch伸展,&& Tile瓦片,&& Center居中) Inside:只显示在背后壁上 Panel&& Color:Panel的Inner的颜色 Border:给控件加边界 Gradient(梯度):梯度显示颜色 Visible、Start&& Color…、End&& Color…、 Direction(方向):上下、左右、从中间 && Chart?Paging&& :图表有几页组成 Points&& Per&& Page(每页显示几个点):0为所有的点显示在一页,其他按数字处理。 Scale&& Last&& Page:最后一页按比例显示,使之充满整个图表。 && Chart?Walls(壁) Left&& Walls:Y轴的平面 Bottom&& Walls:X轴的平面 Back&& Walls:背后的平面 Pattern…(模式):=(Solid实心,None无,Horizontal竖条纹,Vertical横条纹, Diagonal对角线,Back.Diagonal反向对角线,Cross十字线,DiagonalCross对角十字线); Border…(边线):=(Solid实线,&& Dash划线,&& Dot点,&&& Dash&& Dot线点,&& Dash&& Dot&& Dot线点点,&& Small&& Dots小点) Transparent&& (透明) && Chart?3D 3Dimensions(维):是否3维显示 Orthogonal(直角的):3维显示为直角显示,则Elevation,Rotaion,Perspective被屏蔽 ZoomText:坐标数字与图形一起缩放 Zoom:图形的缩放 Rotaion(旋转):关闭Orthogonal后,可以在Y轴上旋转 Elevation(正视图)&& :关闭Orthogonal后,可以在X轴上旋 Horiz.&& Offset:在X轴移动图形 Vert.&& Offset:在Y轴移动图形 Perspective(透视)&& :关闭Orthogonal后,将焦点沿Z轴移动。 && TeeChart使用实例 //&& AddPages NewTabSheet&& :=&& TTabSheet.Create(pgMain); &&&&&&&&& with&& NewTabSheet&& do &&&&&&&&& begin &&&&&&&&&&&&& Parent&& :=&& pgM &&&&&&&&&&&&& PageControl&& :=&& pgM &&&&&&&&&&&&& Tag&& :=&& Ord(CountTypeIndex); &&&&&&&&&&&&& Caption&& :=&& arrCountType[CountTypeIndex]; &&&&&&&&& //&& AddCharts &&&&&&&&& NewChart&& :=&& TChart.Create(NewTabSheet); &&&&&&&&& with&& NewChart&& do &&&&&&&&& begin &&&&&&&&&&&&& Parent&& :=&& NewTabS &&&&&&&&&&&&& Title.Text.Add('网间结算'&& +&& arrCountType[CountTypeIndex]&& +&& '/天分布图'); &&&&&&&&&&&&& LeftAxis.Title.Caption&& :=&& arrCountType[CountTypeIndex]; &&&&&&&&&&&&& BottomAxis.Title.Caption&& :=&& '话单日期'; &&&&&&&&&&&&& Legend.Visible&& :=&& sbLegend.D &&&&&&&&&&&&& Legend.Alignment&& :=&& laB &&&&&&&&&&&&& Legend.LegendStyle&& :=&& lsS &&&&&&&&&&&&& View3D&& :=&& sb3D.D &&&&&&&&&&&&& Width&& :=&& NewTabSheet.W &&&&&&&&&&&&& Height&& :=&& NewTabSheet.H &&&&&&&&& //&& ClearSeries &&&&&&&&&&&&& AChart.Series[SeriesIndex].F //&& AddSeries &&&&&&&&&&&&& NewSeries&& :=&& TLineSeries.Create(AChart); &&&&&&&&&&&&& NewSeries.Title&& :=&& ANameList.Strings[SeriesIndex]; && &&&&&&&&&&&&& NewSeries.Marks.Visible&& :=T &&&&&&&&&&&&& AChart.AddSeries(NewSeries); //&& AddNameForSeries AChart.SeriesList[SeriesIndex].Title:=&& NewN //&& ShowSeries AChart.Series[SeriesIndex].Active&& :=&& T //&& EmptySeries AChart.Series[SeriesIndex].C //&& FillSeries AChart.Series[SeriesIndex].AddXY();&&
阅读(22215)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'TeeChart用法',
blogAbstract:'1、TChart Hello world放一个控件到窗体上,然后写代码加入一个折线数据序列: var Series: TChartS begin Series := TChartSeries.Create(Chart1); Series.Add(100, \'头部\', clRed); Series.Add(200, \'颈部\', clGreen); Chart1.AddSeries(Series); 这样就会生成一个简单的折线图表,要生成其它类型的数据图表,可以添加不同的数据序列(各种图表的序列类型可以参考帮助文档)。2.如何设置图表的标题?TChart组件提',
blogTag:'',
blogUrl:'blog/static/46',
isPublished:1,
istop:false,
modifyTime:2,
publishTime:6,
permalink:'blog/static/46',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}15:33 提问
mfc TeeChart的坐标轴数值重复
我用TeeChart 控件画一个坐标值,其中纵坐标数据为:double test[16] = {2.001,2,2.002,2,2,2.003,2,2,2,2,2,2,2,2,2,2.002};
但纵坐标值的坐标刻度出现重复的现象
求解决方案,显示上述数据
其他相似问题最后上代码
public partial class Test : Form
private TChart tChart = new TChart();
private int space = 3;
public Test()
InitializeComponent();
/// &summary&
/// 添加若干个自定义坐标轴
/// &/summary&
/// &param name="count"&&/param&
private void AddCustomAxis(int count)
List&BaseLine& listBaseLine = new List&BaseLine&();
for (int i = 0; i & tChart.Series.C i++)
listBaseLine.Add((BaseLine)tChart.Series[i]);
double single = (100 - space * (count + 2)) / (count + 1);//单个坐标轴的百分比
tChart.Axes.Left.StartPosition =
tChart.Axes.Left.EndPosition = tChart.Axes.Left.EndPosition = tChart.Axes.Left.StartPosition +
tChart.Axes.Left.StartEndPositionUnits = PositionUnits.P
listBaseLine[0].CustomVertAxis = tChart.Axes.L
double startPosition = tChart.Axes.Left.StartP
double endPosition = tChart.Axes.Left.EndP
for (int i = 0; i & i++)
axis = new Axis();
startPosition = endPosition +
endPosition = startPosition +
axis.StartPosition = startP
axis.EndPosition = endP
tChart.Axes.Custom.Add(axis);
listBaseLine[i + 1].CustomVertAxis =
private void Init()
tChart.Dock = DockStyle.F
tChart.Aspect.View3D = false;
tChart.Legend.LegendStyle = LegendStyles.S
tChart.Axes.Bottom.Labels.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
tChart.Axes.Bottom.Labels.ExactDateTime = true;
tChart.Axes.Bottom.Labels.Angle = 90;
tChart.Axes.Bottom.Minimum = 12 * Utils.GetDateTimeStep(DateTimeSteps.OneSecond);
tChart.Axes.Bottom.Minimum = 60 * Utils.GetDateTimeStep(DateTimeSteps.OneSecond);
panel2.Controls.Add(tChart);
DataSet data = HSQueryHistoryCurve.Instance.Search(new HSQueryCondition()
ChannelId = new List&int&() { 1,2,3,4},
DeviceId = "",
StartTime = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd HH:mm:ss"),
EndTime = DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd HH:mm:ss"),
ProjectId = 1
DateTime time = DateTime.N
for (int j = 0; j & data.Tables.C j++)
DataTable dataTable = data.Tables[j];
Line line = new Line();
tChart.Series.Add(line);
line.Title = string.Format("曲线{0}", j + 1);
line.XValues.DateTime = true;
for (int i = 0; i & dataTable.Rows.C i++)
line.Add(time.AddSeconds(i).ToOADate(), (double)dataTable.Rows[i][1]);
AddCustomAxis(3);
&ps:data是一个数据集,包含若干个数据表
每一个数据表对应一条曲线的数据,第一列为时间,第二列为数据。
这里的时间,直接从Datetime.Now重新处理的,仅仅使用了数据表中的第二列数据
需要注意的是:
必须使用控件本身的纵轴Left,纵轴的刻度才能正常显示。
如果多个纵轴,全部设置为自定义的。会导致无法正常显示。
获取所有可见曲线,添加到一个集合中返回
private List&BaseLine& GetVisibleSeries()
List&BaseLine& visibleSeries = new List&BaseLine&();
for (int i = 0; i & zbmChart.Series.C i++)
zbmChart.Series[i].CustomVertAxis = null;
if (zbmChart.Series[i].Visible)
visibleSeries.Add((BaseLine)zbmChart.Series[i]);
return visibleS
添加自定义纵轴
private void AddVisibleLineVerticalAxis()
List&BaseLine& visibleSeries = GetVisibleSeries();
zbmChart.ClearCustomAxis();//清除所有自定义的坐标轴
double singleAxisLengthP//单个纵轴占据的百分比
//计算每个坐标轴占据的百分比
if (visibleSeries.Count & 1)
singleAxisLengthPercent = Convert.ToDouble(100 - verticalAxisSpace * (visibleSeries.Count + 1)) / (visibleSeries.Count);
//给可见的曲线加上纵轴
for (int i = 0; i & visibleSeries.C i++)
Series s = visibleSeries[i];
//设置纵轴的起始位置
if (i == 0)
axis = zbmChart.zbmYA
axis.StartPosition = verticalAxisS
axis = new Axis(false, false, zbmChart.Chart);
if (i == 1)
axis.StartPosition = zbmChart.zbmYAxis.EndPosition + verticalAxisS
axis.StartPosition = visibleSeries[i - 1].CustomVertAxis.EndPosition + verticalAxisS
//设置纵轴的结束位置
axis.EndPosition = axis.StartPosition + singleAxisLengthP
//设置纵轴刻度的颜色
axis.Labels.Font.Color = dicColor[s.Tag.ToString()];
//设置网格的可见性以及颜色
axis.Grid.Visible = VisibleSettings.Default.G
axis.Grid.Color = ColorSettings.Default.G
if (i == 0)
//曲线本身的纵轴,无需额外处理
//将自定义纵轴加入图表
zbmChart.AddCustomAxis(axis);
//将纵轴和对应的曲线关联
s.CustomVertAxis =
阅读(...) 评论()}

我要回帖

更多关于 teechart mfc教程pdf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信