BCB2007中TeeChart7.10的一些与4.0版本不同的用法(同时感谢constantine(飘遥的安吉儿))

我来看看CB 2007-07-05 03:21:55
BCB2007中TeeChart7.10的一些与4.0版本不同的用法(同时感谢constantine(飘遥的安吉儿))。


1、在TeeChart710中,如果在ChartAfterDraw事件中添加自己绘制的内容,必需执行:
Chart1->BufferedDisplay=false; // 必需设置为false,否则自己绘制的内容出现不了
2、在TeeChart710中,自己绘制图形,必需用Chart1->DelphiCanvas
3、ChartRect数据错误,必需用坐标轴数据才能得到正确的ChartRect数据

int y1,y2;
int x1,x2;
x1=Chart1->LeftAxis->PosAxis;
y1=Chart1->BottomAxis->PosAxis-Chart1->ChartHeight;
x2=x1+Chart1->ChartWidth;
y2=Chart1->BottomAxis->PosAxis;

Chart1->ChartRect.Top=y1;
Chart1->ChartRect.Bottom=y2;
Chart1->ChartRect.Left=x1;
Chart1->ChartRect.Right=x2;

4、TeeChart710打印预览前不能调用
Chart1->PrintMargins.Left=12;
Chart1->PrintMargins.Top=10;
Chart1->PrintMargins.Right=10;
Chart1->PrintMargins.Bottom=10;
否则预览不成功。

...全文
464 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
我来看看CB 2007-07-14
  • 打赏
  • 举报
回复
那些例子我也下载了,包括帮助。
可惜没有源代码!
我来看看CB 2007-07-13
  • 打赏
  • 举报
回复
在B2007工程下面建立一个Delphi 的Form,放上TeeChart,竟然也行。

我晕倒了!!!!!

看来,等待SP,是正理。

谢谢诸位了!

下周结帐!

叫大家看看,谁能反映这个BUG到CodeGear?
constantine 2007-07-13
  • 打赏
  • 举报
回复
看来bcb的支持还是有bug!
constantine 2007-07-13
  • 打赏
  • 举报
回复
D2007 带的是7.10,我用的是2007精简版,只有几十M。难道vcl控件在bcb跟delphi上会变现不一样?还不是一样的pascal代码。
ps:
昨天看了官方怎么好像有8.0的,而且我还下了一些东西,里面有个Tee8New可以运行,好看多了。还有20多M的例子
我来看看CB 2007-07-13
  • 打赏
  • 举报
回复
我用4.2G的版本安装后,包括D2007和B2007,在D2007下面,用Chart1.Canvas确实没有问题;
但是在B2007,下面,就是不行。
具体原因不清楚,难道B2007支持TeeChart有问题还是反过来?
我来看看CB 2007-07-13
  • 打赏
  • 举报
回复
原来你用的是D2007。
从官方网站下载的7.12没有问题,可以用(但是为评估版本)。
从其他网站下载的7.06也有问题。
唉,麻烦啊。
constantine 2007-07-12
  • 打赏
  • 举报
回复
看了一下我这里也是7.10
constantine 2007-07-12
  • 打赏
  • 举报
回复
难道bcb2007跟d2007用的teechart版本不一样?
我来看看CB 2007-07-12
  • 打赏
  • 举报
回复
原来TeeChart7.10有问题?
安装TeeChart7.12评估版本,Chart1->Canvas就可以用。

苍天啊。。。。。。。。。。。。。。。。
constantine 2007-07-12
  • 打赏
  • 举报
回复
计算出来后添加到Series[x]里面,然后坐标轴的LabelStyle = talText;然后自己在事件GetAxisLabel中控件处理Series[x]的显示就可以了。
我来看看CB 2007-07-12
  • 打赏
  • 举报
回复
呵呵,我现在用
x1=myChart9->LeftAxis->PosAxis;
y1=myChart9->BottomAxis->PosAxis-myChart9->ChartHeight;
x2=x1+myChart9->ChartWidth;
y2=myChart9->BottomAxis->PosAxis;
得出坐标轴内的范围。

我原先有一个问题,就是绘制坐标轴的问题,不知被谁删帖扣分了:

----------------------------------------------------------------------------------
删除贴子,扣除信誉分5分。作者:dxkh贴文时间:02 27 2005 10:32AM标题:哪里有比较好用的概率统计绘制控件(绘制正态概率格纸)内容:BCB6用的,坐标能选择用对数、概率来显示。

普通的坐标是均匀的,对数、概率坐标是不均匀的。
----------------------------------------------------------------------------------

我用的横坐标一般为

str9="正态(海森)概率格纸";
str9="包伟尔概率格纸";
统计方法中用的。

这些横坐标都是不规范的,有些需要计算exp(X)什么的。

constantine 2007-07-12
  • 打赏
  • 举报
回复
如果只是这个问题没有必要自画吧
不知道你是不是有特殊化
chart的坐标可以按一定比例显示坐标,也可以有点的地方才显示,这个可以控制的,我就是。
而且用chart->BottomAxis->IEndPos 不是可以得到对应的值吗?
constantine 2007-07-11
  • 打赏
  • 举报
回复
ps;ChartRect这个我没有用过,不过有个问题,这个属性看帮助里面不是说是只读的吗?你怎么会对他进行赋值?
constantine 2007-07-11
  • 打赏
  • 举报
回复
不需要设置啊,我是直接代码demo,修改掉几个没有的东西,然后在
AfterDraw中添加代码在Canvas上画,确实是可以。
ChartPreview这个今天早上在低版本中看帮助找到了。
我来看看CB 2007-07-11
  • 打赏
  • 举报
回复
是不是使用Chart1->Canvas前需要设置什么?
我来看看CB 2007-07-11
  • 打赏
  • 举报
回复
ChartPreview(this,Chart1);
TeePreview(this,Chart1);
这两个函数都有,分别包含在
#include "TeePrevi.hpp"
#include <TeeEdiGene.hpp>

都可以用。

BCB2007中只要你用Chart1->Canvas就出错。
而且Chart1->ChartRect也有问题,原先版本,这个范围应该是坐标轴内的范围,现在显示的数据很大。

如果你用的Canvas可以用,估计什么问题都没有了,难道是因为我用DelphiCanvas的缘故?

Chart1->BufferedDisplay=false;



我来看看CB 2007-07-11
  • 打赏
  • 举报
回复
真是奇怪了!
不知道哪里出问题了,我这里用Chart1->Canvas就出错,好像Canvas是空的,没有分配内存。
ChartRect可以赋值,但是原先版本不用赋值,就能表示坐标轴内的范围。

我主要想自己绘制横坐标,需要在横坐标的上面和下面绘制坐标值。
constantine 2007-07-10
  • 打赏
  • 举报
回复
chart1.Canvas可以画出来,并且可以SaveToBitmapFile直接保存,打印应该也可以。
你可以试试。我是在demo里面直接添加代码测试的。

Canvas没有BufferedDisplay的问题。
之前你发帖怎么说用Canvas画不出来呢?奇怪了
constantine 2007-07-10
  • 打赏
  • 举报
回复
确实不行。
不过// ChartPreview(this,Chart1);
TeePreview(this,Chart1);
2个函数都没有找到。
constantine 2007-07-10
  • 打赏
  • 举报
回复
回头我看看能不能保存出来。
加载更多回复(11)

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧